| Matt Ploetz | ed20c8b | 2015-05-12 16:20:04 -0500 | [diff] [blame] | 1 | From a4f739abb72b8ac5748138183b274cca5eef50ff Mon Sep 17 00:00:00 2001 | 
|  | 2 | From: Matt Ploetz <maploetz@us.ibm.com> | 
|  | 3 | Date: Tue, 12 May 2015 15:32:20 -0500 | 
|  | 4 | Subject: [PATCH] PCIe lane swap fix in processMRW.pl | 
|  | 5 |  | 
|  | 6 | Change-Id: Iee7127fef7f4a911a77e0c24c896d840b1b45ff4 | 
|  | 7 | --- | 
|  | 8 | src/usr/targeting/common/processMrw.pl | 25 +++++++++++-------------- | 
|  | 9 | 1 file changed, 11 insertions(+), 14 deletions(-) | 
|  | 10 |  | 
|  | 11 | diff --git a/src/usr/targeting/common/processMrw.pl b/src/usr/targeting/common/processMrw.pl | 
|  | 12 | index 5d44e74..bbdb936 100644 | 
|  | 13 | --- a/src/usr/targeting/common/processMrw.pl | 
|  | 14 | +++ b/src/usr/targeting/common/processMrw.pl | 
|  | 15 | @@ -805,8 +805,8 @@ sub processPcie | 
|  | 16 | $iop_swap{0}{1}{'11'}=$t[7]; | 
|  | 17 |  | 
|  | 18 | $iop_swap{1}{0}{'00'}=$t[8]; | 
|  | 19 | -    $iop_swap{1}{0}{'01'}=$t[9]; | 
|  | 20 | -    $iop_swap{1}{0}{'10'}=$t[10]; | 
|  | 21 | +    $iop_swap{1}{0}{'10'}=$t[9]; | 
|  | 22 | +    $iop_swap{1}{0}{'01'}=$t[10]; | 
|  | 23 | $iop_swap{1}{0}{'11'}=$t[11]; | 
|  | 24 | $iop_swap{1}{1}{'00'}=$t[12]; | 
|  | 25 | $iop_swap{1}{1}{'10'}=$t[13]; | 
|  | 26 | @@ -906,25 +906,22 @@ sub processPcie | 
|  | 27 | die "PCIE config for $iop,$iop_lane_swap[$iop],$lane_rev not found\n"; | 
|  | 28 | } | 
|  | 29 | } | 
|  | 30 | -    my $lane_swap_attr0 = sprintf("%s,%s",$iop_lane_swap[0], | 
|  | 31 | -                          $iop_lane_swap[1]); | 
|  | 32 | -    my $lane_swap_attr1 = sprintf("%s,0,%s,0",$iop_lane_swap[0], | 
|  | 33 | -                          $iop_lane_swap[1]); | 
|  | 34 | + | 
|  | 35 | +    my $lane_rev_attr0 = sprintf("%s,%s", | 
|  | 36 | +                         oct($iop_swap_lu[0]),oct($iop_swap_lu[1])); | 
|  | 37 | +    my $lane_rev_attr1 = sprintf("%s,0,%s,0", | 
|  | 38 | +                         oct($iop_swap_lu[0]),oct($iop_swap_lu[1])); | 
|  | 39 |  | 
|  | 40 | $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP", | 
|  | 41 | -        $lane_swap_attr0); | 
|  | 42 | +        $lane_rev_attr0); | 
|  | 43 | $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_NON_BIFURCATED", | 
|  | 44 | -        $lane_swap_attr1); | 
|  | 45 | +        $lane_rev_attr1); | 
|  | 46 | $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_SWAP_BIFURCATED", | 
|  | 47 | "0,0,0,0"); | 
|  | 48 | - | 
|  | 49 | -    my $lane_rev_attr = sprintf("%s,0,%s,0", | 
|  | 50 | -                         oct($iop_swap_lu[0]),oct($iop_swap_lu[1])); | 
|  | 51 | - | 
|  | 52 | $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL", | 
|  | 53 | -        $lane_rev_attr); | 
|  | 54 | +        "0,0,0,0"); | 
|  | 55 | $targetObj->setAttribute($parentTarget, | 
|  | 56 | -        "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED",$lane_rev_attr); | 
|  | 57 | +        "PROC_PCIE_IOP_REVERSAL_NON_BIFURCATED","0,0,0,0"); | 
|  | 58 | $targetObj->setAttribute($parentTarget, "PROC_PCIE_IOP_REVERSAL_BIFURCATED", | 
|  | 59 | "0,0,0,0"); | 
|  | 60 |  | 
|  | 61 | -- | 
|  | 62 | 1.8.2.2 | 
|  | 63 |  |