aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorVadim Lomovtsev <Vadim.Lomovtsev@caviumnetworks.com>2017-01-12 10:28:06 -0500
committerDavid S. Miller <davem@davemloft.net>2017-01-12 16:50:03 -0500
commit7aa4865506a26c607e00bd9794a85785b55ebca7 (patch)
tree212944583904a714467663a493cba74b483e71a6 /drivers/net
parent8a430ed50bb1b19ca14a46661f3b1b35f2fb5c39 (diff)
net: thunderx: acpi: fix LMAC initialization
While probing BGX we requesting appropriate QLM for it's configuration and get LMAC count by that request. Then, while reading configured MAC values from SSDT table we need to save them in proper mapping: BGX[i]->lmac[j].mac = <MAC value> to later provide for initialization stuff. In order to fill such mapping properly we need to add lmac index to be used while acpi initialization since at this moment bgx->lmac_count already contains actual value. Signed-off-by: Vadim Lomovtsev <Vadim.Lomovtsev@caviumnetworks.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/ethernet/cavium/thunder/thunder_bgx.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
index 9211c750e064..2f85b64f01fa 100644
--- a/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
+++ b/drivers/net/ethernet/cavium/thunder/thunder_bgx.c
@@ -47,8 +47,9 @@ struct lmac {
47struct bgx { 47struct bgx {
48 u8 bgx_id; 48 u8 bgx_id;
49 struct lmac lmac[MAX_LMAC_PER_BGX]; 49 struct lmac lmac[MAX_LMAC_PER_BGX];
50 int lmac_count; 50 u8 lmac_count;
51 u8 max_lmac; 51 u8 max_lmac;
52 u8 acpi_lmac_idx;
52 void __iomem *reg_base; 53 void __iomem *reg_base;
53 struct pci_dev *pdev; 54 struct pci_dev *pdev;
54 bool is_dlm; 55 bool is_dlm;
@@ -1143,13 +1144,13 @@ static acpi_status bgx_acpi_register_phy(acpi_handle handle,
1143 if (acpi_bus_get_device(handle, &adev)) 1144 if (acpi_bus_get_device(handle, &adev))
1144 goto out; 1145 goto out;
1145 1146
1146 acpi_get_mac_address(dev, adev, bgx->lmac[bgx->lmac_count].mac); 1147 acpi_get_mac_address(dev, adev, bgx->lmac[bgx->acpi_lmac_idx].mac);
1147 1148
1148 SET_NETDEV_DEV(&bgx->lmac[bgx->lmac_count].netdev, dev); 1149 SET_NETDEV_DEV(&bgx->lmac[bgx->acpi_lmac_idx].netdev, dev);
1149 1150
1150 bgx->lmac[bgx->lmac_count].lmacid = bgx->lmac_count; 1151 bgx->lmac[bgx->acpi_lmac_idx].lmacid = bgx->acpi_lmac_idx;
1152 bgx->acpi_lmac_idx++; /* move to next LMAC */
1151out: 1153out:
1152 bgx->lmac_count++;
1153 return AE_OK; 1154 return AE_OK;
1154} 1155}
1155 1156