@@ -1043,67 +1043,49 @@ TargetHandle_t getMasterProc()
1043
1043
//##
1044
1044
//##############################################################################
1045
1045
1046
- uint32_t getTargetPosition ( TARGETING :: TargetHandle_t i_target )
1046
+ uint32_t getTargetPosition ( TargetHandle_t i_trgt )
1047
1047
{
1048
1048
#define PRDF_FUNC "[PlatServices::getTargetPosition] "
1049
1049
1050
- PRDF_ASSERT ( nullptr != i_target );
1050
+ PRDF_ASSERT ( nullptr != i_trgt );
1051
1051
1052
- uint32_t o_pos = INVALID_POSITION_BOUND ;
1052
+ uint32_t o_pos = 0 ;
1053
+
1054
+ CLASS l_class = getTargetClass ( i_trgt );
1055
+ TYPE l_type = getTargetType ( i_trgt );
1053
1056
1054
- CLASS l_class = getTargetClass ( i_target );
1055
1057
switch ( l_class )
1056
1058
{
1057
- case CLASS_CHIP :
1059
+ case CLASS_CHIP : // chips
1058
1060
{
1059
- TYPE l_type = getTargetType ( i_target );
1060
1061
switch ( l_type )
1061
1062
{
1062
1063
case TYPE_PROC :
1063
1064
case TYPE_OSC :
1064
1065
case TYPE_OSCPCICLK :
1065
1066
case TYPE_OSCREFCLK :
1066
- {
1067
- uint16_t tmpPos = 0 ;
1068
- if ( !i_target -> tryGetAttr < ATTR_POSITION > (tmpPos ) )
1069
- {
1070
- PRDF_ERR ( PRDF_FUNC "Failed to get ATTR_POSITION" );
1071
- }
1072
- else
1073
- o_pos = (uint32_t )tmpPos ;
1067
+ o_pos = i_trgt -> getAttr < ATTR_POSITION > ( );
1074
1068
break ;
1075
- }
1076
1069
1077
1070
case TYPE_MEMBUF :
1078
- o_pos = getMemChnl ( i_target );
1071
+ o_pos = getMemChnl ( i_trgt );
1079
1072
break ;
1080
1073
1081
1074
default :
1082
- PRDF_ERR ( PRDF_FUNC "Unsupported type: %d" , l_type );
1075
+ PRDF_ERR ( PRDF_FUNC "Unsupported type %d for CLASS_CHIP: "
1076
+ "i_trgt=0x%08x" , l_type , getHuid (i_trgt ) );
1077
+ PRDF_ASSERT ( false );
1083
1078
}
1084
1079
break ;
1085
1080
}
1086
1081
1087
- case CLASS_UNIT :
1088
- {
1089
- uint8_t tmpPos = 0 ;
1090
- if ( !i_target -> tryGetAttr < ATTR_CHIP_UNIT > (tmpPos ) )
1091
- {
1092
- PRDF_ERR ( PRDF_FUNC "Failed to get ATTR_CHIP_UNIT" );
1093
- }
1094
- else
1095
- o_pos = (uint32_t )tmpPos ;
1082
+ case CLASS_UNIT : // units of a chip
1083
+ o_pos = i_trgt -> getAttr < ATTR_CHIP_UNIT > ( );
1096
1084
break ;
1097
- }
1098
1085
1099
- case CLASS_ENC :
1100
- {
1101
- if ( !i_target -> tryGetAttr < ATTR_ORDINAL_ID > (o_pos ) )
1102
- {
1103
- PRDF_ERR ( PRDF_FUNC "Failed to get ATTR_ORDINAL_ID" );
1104
- }
1086
+ case CLASS_ENC : // nodes
1087
+ o_pos = i_trgt -> getAttr < ATTR_ORDINAL_ID > ( );
1105
1088
break ;
1106
- }
1107
1089
1108
1090
case CLASS_SYS : // system
1109
1091
// The concept of a system position does not exist, however, we want
@@ -1113,21 +1095,18 @@ uint32_t getTargetPosition( TARGETING::TargetHandle_t i_target )
1113
1095
break ;
1114
1096
1115
1097
case CLASS_LOGICAL_CARD : // DIMMs
1116
- o_pos = i_target -> getAttr < ATTR_FAPI_POS > ( );
1098
+ o_pos = i_trgt -> getAttr < ATTR_FAPI_POS > ( );
1117
1099
break ;
1118
1100
1119
1101
default :
1120
- PRDF_ERR ( PRDF_FUNC "Unsupported class: %d" , l_class );
1102
+ PRDF_ERR ( PRDF_FUNC "Unsupported class %d: i_trgt=0x%08x" ,
1103
+ l_class , getHuid (i_trgt ) );
1104
+ PRDF_ASSERT (false);
1121
1105
}
1122
1106
1123
- if ( INVALID_POSITION_BOUND == o_pos )
1124
- {
1125
- PRDF_ERR ( PRDF_FUNC "Failed: target=0x%08x" , getHuid (i_target ) );
1126
- }
1107
+ return o_pos ;
1127
1108
1128
1109
#undef PRDF_FUNC
1129
-
1130
- return o_pos ;
1131
1110
}
1132
1111
1133
1112
//------------------------------------------------------------------------------
@@ -1158,29 +1137,13 @@ uint32_t getPhbConfig( TARGETING::TargetHandle_t i_proc )
1158
1137
//##
1159
1138
//##############################################################################
1160
1139
1161
- uint32_t getMemChnl ( TARGETING :: TargetHandle_t i_memTarget )
1140
+ uint32_t getMemChnl ( TargetHandle_t i_trgt )
1162
1141
{
1163
- #define PRDF_FUNC "[PlatServices::getMemChnl] "
1164
-
1165
- PRDF_ASSERT ( nullptr != i_memTarget );
1166
-
1167
- uint32_t o_chnl = INVALID_POSITION_BOUND ; // Intentially set to
1168
- // INVALID_POSITION_BOUND for call
1169
- // from getTargetPosition().
1170
-
1171
- TargetHandle_t mcsTarget = getConnectedParent ( i_memTarget , TYPE_MCS );
1172
-
1173
- o_chnl = getTargetPosition ( mcsTarget );
1174
-
1175
- if ( MAX_MCS_PER_PROC <= o_chnl ) // Real MCS position check.
1176
- {
1177
- PRDF_ERR ( PRDF_FUNC "Failed: i_memTarget=0x%08x" ,
1178
- getHuid (i_memTarget ) );
1179
- }
1142
+ PRDF_ASSERT ( nullptr != i_trgt );
1180
1143
1181
- return o_chnl ;
1144
+ TargetHandle_t mcsTrgt = getConnectedParent ( i_trgt , TYPE_MCS ) ;
1182
1145
1183
- #undef PRDF_FUNC
1146
+ return getTargetPosition ( mcsTrgt );
1184
1147
}
1185
1148
1186
1149
//------------------------------------------------------------------------------
0 commit comments