diff options
author | Andrew Donnellan <andrew.donnellan@au1.ibm.com> | 2018-09-14 13:46:23 +1000 |
---|---|---|
committer | Stewart Smith <stewart@linux.ibm.com> | 2018-09-17 21:39:01 -0500 |
commit | 7ecb29651c311e35e30fbbebc675cae3e97c8d53 (patch) | |
tree | 464ef7b3cc7225d14530f963b94fd08c6b3c19d3 /hw/npu2-hw-procedures.c | |
parent | ecc4a562b5d17487899765609cb480629bacecde (diff) | |
download | skiboot-7ecb29651c311e35e30fbbebc675cae3e97c8d53.zip skiboot-7ecb29651c311e35e30fbbebc675cae3e97c8d53.tar.gz skiboot-7ecb29651c311e35e30fbbebc675cae3e97c8d53.tar.bz2 |
npu2: Split device index into brick and link index
On Witherspoon, OpenCAPI devices attached to link indexes 0 and 1 are
handled by bricks 2 and 3.
Rename index to brick_index, and add a new field, link_index, to
refer to the link index. For now, we set those values identically.
Signed-off-by: Andrew Donnellan <andrew.donnellan@au1.ibm.com>
Acked-by: Reza Arbab <arbab@linux.ibm.com>
Reviewed-by: Alistair Popple <alistair@popple.id.au>
Reviewed-by: Frederic Barrat <fbarrat@linux.vnet.ibm.com>
Signed-off-by: Stewart Smith <stewart@linux.ibm.com>
Diffstat (limited to 'hw/npu2-hw-procedures.c')
-rw-r--r-- | hw/npu2-hw-procedures.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/hw/npu2-hw-procedures.c b/hw/npu2-hw-procedures.c index c30e1b0..fa64075 100644 --- a/hw/npu2-hw-procedures.c +++ b/hw/npu2-hw-procedures.c @@ -199,7 +199,7 @@ DEFINE_PROCEDURE(nop); /* Return the brick number (0-2) within an obus chiplet */ static int obus_brick_index(struct npu2_dev *ndev) { - int index = ndev->index % 3; + int index = ndev->brick_index % 3; /* On the second obus chiplet, index is reversed */ if ((ndev->pl_xscom_base & 0x3F000000) != 0x09000000) @@ -433,7 +433,7 @@ DEFINE_PROCEDURE(phy_reset, phy_reset_wait, phy_reset_complete); /* Procedure 1.2.6 - I/O PHY Tx Impedance Calibration */ static uint32_t phy_tx_zcal(struct npu2_dev *ndev) { - if (ndev->npu->tx_zcal_complete[ndev->index > 2]) + if (ndev->npu->tx_zcal_complete[ndev->brick_index > 2]) return PROCEDURE_COMPLETE; /* Turn off SW enable and enable zcal state machine */ @@ -604,7 +604,7 @@ static uint32_t phy_tx_zcal_calculate(struct npu2_dev *ndev) phy_write(ndev, &NPU2_PHY_TX_MARGINPU_SELECT, therm(margin_select + 1)/2); phy_write(ndev, &NPU2_PHY_TX_MARGINPD_SELECT, therm(margin_select + 1)/2); - ndev->npu->tx_zcal_complete[ndev->index > 2] = 1; + ndev->npu->tx_zcal_complete[ndev->brick_index > 2] = 1; return PROCEDURE_COMPLETE; } DEFINE_PROCEDURE(phy_tx_zcal, phy_tx_zcal_wait, phy_tx_zcal_calculate); @@ -978,7 +978,7 @@ void npu2_opencapi_bump_ui_lane(struct npu2_dev *dev) uint64_t status_xscom; int lane, bit = 7; - switch (dev->index) { + switch (dev->brick_index) { case 2: status_xscom = OB0_ODL0_TRAINING_STATUS; break; |