Skip to content

Commit b801fd1

Browse files
bhmadhurdcrowell77
authored andcommitted
Make FAPI_POS unique on multi node system
Change-Id: Ic627935a131827803352bc935ee0b9ad986dad48 RTC:161594 Reviewed-on: http://ralgit01.raleigh.ibm.com/gerrit1/49350 Tested-by: Jenkins Server <pfd-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP Build CI <op-jenkins+hostboot@us.ibm.com> Tested-by: Jenkins OP HW <op-hw-jenkins+hostboot@us.ibm.com> Tested-by: FSP CI Jenkins <fsp-CI-jenkins+hostboot@us.ibm.com> Reviewed-by: Corey V. Swenson <cswenson@us.ibm.com> Reviewed-by: Prachi Gupta <pragupta@us.ibm.com> Reviewed-by: Daniel M. Crowell <dcrowell@us.ibm.com>
1 parent 0b408ad commit b801fd1

File tree

1 file changed

+21
-15
lines changed

1 file changed

+21
-15
lines changed

src/usr/targeting/common/Targets.pm

Lines changed: 21 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,7 @@ sub buildAffinity
762762
$self->setAttribute($target, "FABRIC_CHIP_ID",
763763
$self->getAttribute($socket,"FABRIC_CHIP_ID"));
764764
$self->setAttribute($target, "VPD_REC_NUM", $proc);
765-
$self->setAttribute($target, "FAPI_POS",
765+
$self->setAttribute($target, "FAPI_POS",
766766
$self->getAttribute($socket,"FABRIC_GROUP_ID") *
767767
NUM_PROCS_PER_GROUP +
768768
$self->getAttribute($socket,"FABRIC_CHIP_ID"));
@@ -984,14 +984,13 @@ sub setCommonAttrForChiplet
984984
my $fapi_name = $self->getFapiName($tgt_type, $node, $proc, $pos);
985985

986986
#unique offset per system
987-
my $offset = ($proc * $maxInstance{$tgt_type}) + $pos;
988-
my $chiplet_ordinal_id = (($node * $maxInstance{"PROC"} + $proc ) * $maxInstance{$tgt_type}) + $pos;
987+
my $offset = (($node * $maxInstance{"PROC"} + $proc ) * $maxInstance{$tgt_type}) + $pos;
989988
$self->{huid_idx}->{$tgt_type} = $offset;
990989
$self->setHuid($target, $sys, $node);
991990
$self->setAttribute($target, "FAPI_NAME", $fapi_name);
992991
$self->setAttribute($target, "PHYS_PATH", $physical_path);
993992
$self->setAttribute($target, "AFFINITY_PATH", $affinity_path);
994-
$self->setAttribute($target, "ORDINAL_ID", $chiplet_ordinal_id);
993+
$self->setAttribute($target, "ORDINAL_ID", $offset);
995994
$self->setAttribute($target, "FAPI_POS", $offset);
996995
$self->setAttribute($target, "REL_POS", $pos);
997996

@@ -1320,10 +1319,11 @@ sub processMc
13201319
$self->setAttribute($membuf,"FAPI_NAME",
13211320
$self->getFapiName($membuf_type, $node, $proc, $membufnum));
13221321

1323-
$self->setAttribute($membuf, "FAPI_POS", $membufnum);
1324-
#unique offset per system
1325-
my $membuf_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * $self->{MAX_DMI} + $dmi_num;
1326-
$self->setAttribute($membuf, "ORDINAL_ID", $membuf_ordinal_id);
1322+
my $fapi_pos = (($node * $maxInstance{"PROC"}) + $proc ) * $self->{MAX_DMI} + $dmi_num;
1323+
1324+
$self->setAttribute($membuf, "FAPI_POS", $fapi_pos);
1325+
$self->setAttribute($membuf, "ORDINAL_ID", $fapi_pos);
1326+
13271327
$self->setAttribute($membuf, "REL_POS", $membufnum);
13281328
$self->setAttribute($membuf, "POSITION", $membufnum);
13291329

@@ -1410,13 +1410,14 @@ sub processMc
14101410
my $mba_offset = $proc * $maxInstance{"MBA"} +
14111411
MBA_PER_MEMBUF * $membufnum +
14121412
$mba ;
1413-
#unique offset per system
1414-
my $mba_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * $maxInstance{"MBA"} +
1415-
MBA_PER_MEMBUF * $membufnum +
1416-
$mba ;
14171413

1418-
$self->setAttribute($membuf_child, "FAPI_POS", $mba_offset);
1419-
$self->setAttribute($membuf_child, "ORDINAL_ID", $mba_ordinal_id);
1414+
my $fapi_pos =
1415+
(($node * $maxInstance{"PROC"}) + $proc ) * $maxInstance{"MBA"} +
1416+
MBA_PER_MEMBUF * $membufnum + $mba ;
1417+
1418+
$self->setAttribute($membuf_child, "FAPI_POS", $fapi_pos);
1419+
$self->setAttribute($membuf_child, "ORDINAL_ID", $fapi_pos);
1420+
14201421
$self->setAttribute($membuf_child, "REL_POS", $mba_offset);
14211422
$self->setAttribute($membuf_child, "POSITION", $mba_offset);
14221423

@@ -1462,6 +1463,11 @@ sub processMc
14621463
DIMMS_PER_DMI*$dmi_num+
14631464
DIMMS_PER_MBAPORT*$mba+
14641465
$port_num;
1466+
my $fapi_pos =
1467+
(($node * $maxInstance{"PROC"}) + $proc ) * DIMMS_PER_PROC +
1468+
DIMMS_PER_DMI*$dmi_num+
1469+
DIMMS_PER_MBAPORT*$mba+
1470+
$port_num;
14651471

14661472
#unique offset per system
14671473
my $dimm_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * DIMMS_PER_PROC +
@@ -1480,7 +1486,7 @@ sub processMc
14801486
$self->setAttribute($dimm,"FAPI_NAME",
14811487
$self->getFapiName($dimmType, $node, $aff_pos));
14821488

1483-
$self->setAttribute($dimm,"FAPI_POS", $aff_pos);
1489+
$self->setAttribute($dimm,"FAPI_POS", $fapi_pos);
14841490

14851491
$self->setAttribute($dimm, "ORDINAL_ID", $dimm_ordinal_id);
14861492

0 commit comments

Comments
 (0)