From 6abe773682dd313a2e7263babb9778a8feff4643 Mon Sep 17 00:00:00 2001 From: Bill Hoffa Date: Tue, 23 Jul 2019 15:14:49 -0500 Subject: Parse MEM_PORT target type out of Machine Readable Workbook (MRW) - MEM_PORT is connected to the OCMB_CHIP target type via DDR4 BUS connections. Use those to process the MEM_PORT target type. Change-Id: Id3d743c54b2e1ed06924ceaee1c1017b18d1cc15 RTC: 211467 Reviewed-on: http://rchgit01.rchland.ibm.com/gerrit1/80848 Tested-by: Jenkins Server Tested-by: Jenkins OP Build CI Tested-by: Jenkins OP HW Tested-by: FSP CI Jenkins Reviewed-by: Christian R Geddes Reviewed-by: Ilya Smirnov Reviewed-by: Daniel M Crowell --- src/usr/targeting/common/Targets.pm | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'src/usr/targeting') diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm index 3f4e33f39..59d1f1fca 100644 --- a/src/usr/targeting/common/Targets.pm +++ b/src/usr/targeting/common/Targets.pm @@ -81,6 +81,7 @@ my %maxInstance = ( "MCC" => 8, "OMI" => 16, "OCMB_CHIP" => 16, + "MEM_PORT" => 16, "DDIMM" => 16, "DMI" => 8, "OCC" => 1, @@ -658,6 +659,7 @@ sub buildAffinity my $mcc = -1; my $omi = -1; my $ocmb = -1; + my $mem_port = -1; my $i2c_mux = -1; my $dimm = -1; my $pmic = -1; @@ -1006,6 +1008,19 @@ sub buildAffinity } } } + elsif ($type eq "MEM_PORT") + { + my $parent = $self->getTargetParent($target); + my $ocmb_num = $self->getAttribute($parent, "POSITION"); + my $ocmb_affinity = $self->getAttribute($parent, "AFFINITY_PATH"); + $self->setAttribute($target, "AFFINITY_PATH", "$ocmb_affinity/mem_port-0"); + my $ocmb_phys = $self->getAttribute($parent, "PHYS_PATH"); + $self->setAttribute($target, "PHYS_PATH", "$ocmb_phys/mem_port-0"); + $self->setHuid($target, $sys_pos, $node); + $self->deleteAttribute($target, "EXP_SAFEMODE_MEM_THROTTLED_N_COMMANDS_PER_PORT"); + + $self->{targeting}{SYS}[0]{NODES}[$node]{OCMB_CHIPS}[$ocmb_num]{MEM_PORTS}[0]{KEY} = $target; + } # Witherspoon has its own DIMM parsing mechanism so don't want to # interfere with it elsif ($type eq "DIMM" && $self->getTargetType($target) eq "lcard-dimm-ddimm") @@ -1805,6 +1820,7 @@ sub getPervasiveForUnit return $pervasive } + sub processMcaDimms { my $self = shift; -- cgit v1.2.1