Skip to content

Commit fdb7f54

Browse files
stemerkanguy11
authored andcommitted
ice: Initial support for E825C hardware in ice_adapter
Address E825C devices by PCI ID since dual IP core configurations need 1 ice_adapter for both devices. Signed-off-by: Sergey Temerkhanov <[email protected]> Reviewed-by: Simon Horman <[email protected]> Tested-by: Pucha Himasekhar Reddy <[email protected]> (A Contingent worker at Intel) Signed-off-by: Tony Nguyen <[email protected]>
1 parent 97ed20a commit fdb7f54

File tree

1 file changed

+13
-3
lines changed

1 file changed

+13
-3
lines changed

drivers/net/ethernet/intel/ice/ice_adapter.c

Lines changed: 13 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,12 +9,14 @@
99
#include <linux/spinlock.h>
1010
#include <linux/xarray.h>
1111
#include "ice_adapter.h"
12+
#include "ice.h"
1213

1314
static DEFINE_XARRAY(ice_adapters);
1415
static DEFINE_MUTEX(ice_adapters_mutex);
1516

1617
/* PCI bus number is 8 bits. Slot is 5 bits. Domain can have the rest. */
1718
#define INDEX_FIELD_DOMAIN GENMASK(BITS_PER_LONG - 1, 13)
19+
#define INDEX_FIELD_DEV GENMASK(31, 16)
1820
#define INDEX_FIELD_BUS GENMASK(12, 5)
1921
#define INDEX_FIELD_SLOT GENMASK(4, 0)
2022

@@ -24,9 +26,17 @@ static unsigned long ice_adapter_index(const struct pci_dev *pdev)
2426

2527
WARN_ON(domain > FIELD_MAX(INDEX_FIELD_DOMAIN));
2628

27-
return FIELD_PREP(INDEX_FIELD_DOMAIN, domain) |
28-
FIELD_PREP(INDEX_FIELD_BUS, pdev->bus->number) |
29-
FIELD_PREP(INDEX_FIELD_SLOT, PCI_SLOT(pdev->devfn));
29+
switch (pdev->device) {
30+
case ICE_DEV_ID_E825C_BACKPLANE:
31+
case ICE_DEV_ID_E825C_QSFP:
32+
case ICE_DEV_ID_E825C_SFP:
33+
case ICE_DEV_ID_E825C_SGMII:
34+
return FIELD_PREP(INDEX_FIELD_DEV, pdev->device);
35+
default:
36+
return FIELD_PREP(INDEX_FIELD_DOMAIN, domain) |
37+
FIELD_PREP(INDEX_FIELD_BUS, pdev->bus->number) |
38+
FIELD_PREP(INDEX_FIELD_SLOT, PCI_SLOT(pdev->devfn));
39+
}
3040
}
3141

3242
static struct ice_adapter *ice_adapter_new(void)

0 commit comments

Comments
 (0)