summaryrefslogtreecommitdiffstats
path: root/src/usr/targeting
diff options
context:
space:
mode:
Diffstat (limited to 'src/usr/targeting')
-rw-r--r--src/usr/targeting/common/Targets.pm28
-rwxr-xr-xsrc/usr/targeting/common/processMrw.pl32
2 files changed, 43 insertions, 17 deletions
diff --git a/src/usr/targeting/common/Targets.pm b/src/usr/targeting/common/Targets.pm
index 834900ebf..4aa7e3757 100644
--- a/src/usr/targeting/common/Targets.pm
+++ b/src/usr/targeting/common/Targets.pm
@@ -1614,22 +1614,38 @@ sub setFsiAttributes
{
$self->setAttribute($target, "FSI_MASTER_TYPE","CMFSI");
}
- $self->setAttribute($target, "FSI_MASTER_CHIP","physical:sys-0");
- $self->setAttribute($target, "FSI_MASTER_PORT","0xFF");
- $self->setAttribute($target, "ALTFSI_MASTER_CHIP","physical:sys-0");
- $self->setAttribute($target, "ALTFSI_MASTER_PORT","0xFF");
+ if ($self->isBadAttribute($target, "FSI_MASTER_CHIP"))
+ {
+ $self->setAttribute($target, "FSI_MASTER_CHIP","physical:sys-0");
+ $self->setAttribute($target, "FSI_MASTER_PORT","0xFF");
+ }
+ if ($self->isBadAttribute($target,"ALTFSI_MASTER_CHIP"))
+ {
+ $self->setAttribute($target, "ALTFSI_MASTER_CHIP","physical:sys-0");
+ $self->setAttribute($target, "ALTFSI_MASTER_PORT","0xFF");
+ }
$self->setAttribute($target, "FSI_SLAVE_CASCADE", "0");
- if ($cmfsi == 0)
+ if ($type eq "FSICM")
{
$self->setAttribute($target, "FSI_MASTER_CHIP",$phys_path);
$self->setAttribute($target, "FSI_MASTER_PORT", $fsi_port);
+ $self->setAttribute($target, "ALTFSI_MASTER_CHIP",$phys_path);
+ $self->setAttribute($target, "ALTFSI_MASTER_PORT", $fsi_port);
}
else
{
+ if ($flip_port eq 0 )
+ {
+ $self->setAttribute($target, "FSI_MASTER_CHIP",$phys_path);
+ $self->setAttribute($target, "FSI_MASTER_PORT", $fsi_port);
+ }
+ else
+ {
$self->setAttribute($target, "ALTFSI_MASTER_CHIP",$phys_path);
$self->setAttribute($target, "ALTFSI_MASTER_PORT", $fsi_port);
+ }
}
-
+
$self->setAttributeField($target, "FSI_OPTION_FLAGS","flipPort",
$flip_port);
$self->setAttributeField($target, "FSI_OPTION_FLAGS","reserved", "0");
diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl
index 9cd871726..64ba3959a 100755
--- a/src/usr/targeting/common/processMrw.pl
+++ b/src/usr/targeting/common/processMrw.pl
@@ -919,13 +919,16 @@ sub processProcessor
if ($proc_type eq "ACTING_MASTER" )
{
- $targetObj->setAttributeField($target, "FSI_OPTION_FLAGS", "reserved",
+ if($targetObj->isBadAttribute($target, "FSI_MASTER_TYPE"))
+ {
+ $targetObj->setAttributeField($target, "FSI_OPTION_FLAGS", "reserved",
"0");
- $targetObj->setAttribute($target, "FSI_MASTER_CHIP", "physical:sys-0");
- $targetObj->setAttribute($target, "FSI_MASTER_PORT", "0xFF");
- $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
- $targetObj->setAttribute($target, "ALTFSI_MASTER_PORT", "0xFF");
- $targetObj->setAttribute($target, "FSI_MASTER_TYPE", "NO_MASTER");
+ $targetObj->setAttribute($target, "FSI_MASTER_CHIP", "physical:sys-0");
+ $targetObj->setAttribute($target, "FSI_MASTER_PORT", "0xFF");
+ $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
+ $targetObj->setAttribute($target, "ALTFSI_MASTER_PORT", "0xFF");
+ $targetObj->setAttribute($target, "FSI_MASTER_TYPE", "NO_MASTER");
+ }
$targetObj->setAttribute($target, "FSI_SLAVE_CASCADE", "0");
$targetObj->setAttributeField($target, "SCOM_SWITCHES", "useSbeScom",
"1");
@@ -934,7 +937,10 @@ sub processProcessor
}
else
{
- $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
+ if($targetObj->isBadAttribute($target, "ALTFSI_MASTER_CHIP"))
+ {
+ $targetObj->setAttribute($target, "ALTFSI_MASTER_CHIP", "physical:sys-0");
+ }
$targetObj->setAttributeField($target, "SCOM_SWITCHES", "useSbeScom",
"0");
$targetObj->setAttributeField($target, "SCOM_SWITCHES", "useFsiScom",
@@ -1430,13 +1436,17 @@ sub processFsi
# | Slave | | Slave |
# | | | |
# |--------| |---------|
- my $fsi_child_type = $targetObj->getType($fsi_child_target);
- if ( $fsi_child_type eq "PROC" )
+ my $source_type = $targetObj->getType($parentTarget);
+ if ( $source_type eq "PROC" )
{
- my $proc_type = $targetObj->getAttribute($fsi_child_target, "PROC_MASTER_TYPE");
+ my $proc_type = $targetObj->getAttribute($parentTarget, "PROC_MASTER_TYPE");
if ($proc_type eq "ACTING_MASTER" || $proc_type eq "MASTER_CANDIDATE" )
{
- $flip_port = 1;
+ my $fcid = $targetObj->getAttribute($parentTarget,"FABRIC_CHIP_ID");
+ if($fcid eq 1)
+ {
+ $flip_port = 1;
+ }
}
}
$targetObj->setFsiAttributes($fsi_child_target,
OpenPOWER on IntegriCloud