summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSwathi Madhuri Bhattiprolu <bhmadhur@in.ibm.com>2017-11-07 04:30:08 -0600
committerDaniel M. Crowell <dcrowell@us.ibm.com>2017-12-08 09:49:56 -0500
commitb801fd1a776fe7198359f9c2cb28c227d98a7f52 (patch)
tree8395e06860d17438c192653ade5a5cdb84ea1ed0 /src
parent0b408ad7a340da05a184dc80af73f9910ba64f3a (diff)
downloadtalos-hostboot-b801fd1a776fe7198359f9c2cb28c227d98a7f52.tar.gz
talos-hostboot-b801fd1a776fe7198359f9c2cb28c227d98a7f52.zip
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>
Diffstat (limited to 'src')
-rw-r--r--src/usr/targeting/common/Targets.pm36
1 files changed, 21 insertions, 15 deletions
diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
index b31cfbeba..115593868 100644
--- a/src/usr/targeting/common/Targets.pm
+++ b/src/usr/targeting/common/Targets.pm
@@ -762,7 +762,7 @@ sub buildAffinity
$self->setAttribute($target, "FABRIC_CHIP_ID",
$self->getAttribute($socket,"FABRIC_CHIP_ID"));
$self->setAttribute($target, "VPD_REC_NUM", $proc);
- $self->setAttribute($target, "FAPI_POS",
+ $self->setAttribute($target, "FAPI_POS",
$self->getAttribute($socket,"FABRIC_GROUP_ID") *
NUM_PROCS_PER_GROUP +
$self->getAttribute($socket,"FABRIC_CHIP_ID"));
@@ -984,14 +984,13 @@ sub setCommonAttrForChiplet
my $fapi_name = $self->getFapiName($tgt_type, $node, $proc, $pos);
#unique offset per system
- my $offset = ($proc * $maxInstance{$tgt_type}) + $pos;
- my $chiplet_ordinal_id = (($node * $maxInstance{"PROC"} + $proc ) * $maxInstance{$tgt_type}) + $pos;
+ my $offset = (($node * $maxInstance{"PROC"} + $proc ) * $maxInstance{$tgt_type}) + $pos;
$self->{huid_idx}->{$tgt_type} = $offset;
$self->setHuid($target, $sys, $node);
$self->setAttribute($target, "FAPI_NAME", $fapi_name);
$self->setAttribute($target, "PHYS_PATH", $physical_path);
$self->setAttribute($target, "AFFINITY_PATH", $affinity_path);
- $self->setAttribute($target, "ORDINAL_ID", $chiplet_ordinal_id);
+ $self->setAttribute($target, "ORDINAL_ID", $offset);
$self->setAttribute($target, "FAPI_POS", $offset);
$self->setAttribute($target, "REL_POS", $pos);
@@ -1320,10 +1319,11 @@ sub processMc
$self->setAttribute($membuf,"FAPI_NAME",
$self->getFapiName($membuf_type, $node, $proc, $membufnum));
- $self->setAttribute($membuf, "FAPI_POS", $membufnum);
- #unique offset per system
- my $membuf_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * $self->{MAX_DMI} + $dmi_num;
- $self->setAttribute($membuf, "ORDINAL_ID", $membuf_ordinal_id);
+ my $fapi_pos = (($node * $maxInstance{"PROC"}) + $proc ) * $self->{MAX_DMI} + $dmi_num;
+
+ $self->setAttribute($membuf, "FAPI_POS", $fapi_pos);
+ $self->setAttribute($membuf, "ORDINAL_ID", $fapi_pos);
+
$self->setAttribute($membuf, "REL_POS", $membufnum);
$self->setAttribute($membuf, "POSITION", $membufnum);
@@ -1410,13 +1410,14 @@ sub processMc
my $mba_offset = $proc * $maxInstance{"MBA"} +
MBA_PER_MEMBUF * $membufnum +
$mba ;
- #unique offset per system
- my $mba_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * $maxInstance{"MBA"} +
- MBA_PER_MEMBUF * $membufnum +
- $mba ;
- $self->setAttribute($membuf_child, "FAPI_POS", $mba_offset);
- $self->setAttribute($membuf_child, "ORDINAL_ID", $mba_ordinal_id);
+ my $fapi_pos =
+ (($node * $maxInstance{"PROC"}) + $proc ) * $maxInstance{"MBA"} +
+ MBA_PER_MEMBUF * $membufnum + $mba ;
+
+ $self->setAttribute($membuf_child, "FAPI_POS", $fapi_pos);
+ $self->setAttribute($membuf_child, "ORDINAL_ID", $fapi_pos);
+
$self->setAttribute($membuf_child, "REL_POS", $mba_offset);
$self->setAttribute($membuf_child, "POSITION", $mba_offset);
@@ -1462,6 +1463,11 @@ sub processMc
DIMMS_PER_DMI*$dmi_num+
DIMMS_PER_MBAPORT*$mba+
$port_num;
+ my $fapi_pos =
+ (($node * $maxInstance{"PROC"}) + $proc ) * DIMMS_PER_PROC +
+ DIMMS_PER_DMI*$dmi_num+
+ DIMMS_PER_MBAPORT*$mba+
+ $port_num;
#unique offset per system
my $dimm_ordinal_id = (($node * $maxInstance{"PROC"}) + $proc ) * DIMMS_PER_PROC +
@@ -1480,7 +1486,7 @@ sub processMc
$self->setAttribute($dimm,"FAPI_NAME",
$self->getFapiName($dimmType, $node, $aff_pos));
- $self->setAttribute($dimm,"FAPI_POS", $aff_pos);
+ $self->setAttribute($dimm,"FAPI_POS", $fapi_pos);
$self->setAttribute($dimm, "ORDINAL_ID", $dimm_ordinal_id);
OpenPOWER on IntegriCloud