Message ID | 20230919125648.1920-9-ilpo.jarvinen@linux.intel.com (mailing list archive) |
---|---|
State | Handled Elsewhere |
Delegated to: | Bjorn Helgaas |
Headers | show |
Series | PCI/treewide: PCIe capability access cleanups | expand |
On Tue, 19 Sep 2023 15:56:48 +0300 Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> wrote: > Use pcie_capability_read_word() for reading LNKSTA and remove the > custom define that matches to PCI_EXP_LNKSTA. > > As only single user for cap_offset remains, replace it with a call to > pci_pcie_cap(). Instead of e1000_adapter, make local variable out of > pci_dev because both users are interested in it. > > Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> LGTM Reviewed-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> > --- > drivers/net/ethernet/intel/e1000e/defines.h | 1 - > drivers/net/ethernet/intel/e1000e/mac.c | 11 ++++------- > 2 files changed, 4 insertions(+), 8 deletions(-) > > diff --git a/drivers/net/ethernet/intel/e1000e/defines.h b/drivers/net/ethernet/intel/e1000e/defines.h > index a4d29c9e03a6..23a58cada43a 100644 > --- a/drivers/net/ethernet/intel/e1000e/defines.h > +++ b/drivers/net/ethernet/intel/e1000e/defines.h > @@ -678,7 +678,6 @@ > > /* PCI/PCI-X/PCI-EX Config space */ > #define PCI_HEADER_TYPE_REGISTER 0x0E > -#define PCIE_LINK_STATUS 0x12 > > #define PCI_HEADER_TYPE_MULTIFUNC 0x80 > > diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c > index 5340cf73778d..694a779e718d 100644 > --- a/drivers/net/ethernet/intel/e1000e/mac.c > +++ b/drivers/net/ethernet/intel/e1000e/mac.c > @@ -17,16 +17,13 @@ s32 e1000e_get_bus_info_pcie(struct e1000_hw *hw) > { > struct e1000_mac_info *mac = &hw->mac; > struct e1000_bus_info *bus = &hw->bus; > - struct e1000_adapter *adapter = hw->adapter; > - u16 pcie_link_status, cap_offset; > + struct pci_dev *pdev = hw->adapter->pdev; > + u16 pcie_link_status; > > - cap_offset = adapter->pdev->pcie_cap; > - if (!cap_offset) { > + if (!pci_pcie_cap(pdev)) { > bus->width = e1000_bus_width_unknown; > } else { > - pci_read_config_word(adapter->pdev, > - cap_offset + PCIE_LINK_STATUS, > - &pcie_link_status); > + pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &pcie_link_status); > bus->width = (enum e1000_bus_width)FIELD_GET(PCI_EXP_LNKSTA_NLW, > pcie_link_status); > }
diff --git a/drivers/net/ethernet/intel/e1000e/defines.h b/drivers/net/ethernet/intel/e1000e/defines.h index a4d29c9e03a6..23a58cada43a 100644 --- a/drivers/net/ethernet/intel/e1000e/defines.h +++ b/drivers/net/ethernet/intel/e1000e/defines.h @@ -678,7 +678,6 @@ /* PCI/PCI-X/PCI-EX Config space */ #define PCI_HEADER_TYPE_REGISTER 0x0E -#define PCIE_LINK_STATUS 0x12 #define PCI_HEADER_TYPE_MULTIFUNC 0x80 diff --git a/drivers/net/ethernet/intel/e1000e/mac.c b/drivers/net/ethernet/intel/e1000e/mac.c index 5340cf73778d..694a779e718d 100644 --- a/drivers/net/ethernet/intel/e1000e/mac.c +++ b/drivers/net/ethernet/intel/e1000e/mac.c @@ -17,16 +17,13 @@ s32 e1000e_get_bus_info_pcie(struct e1000_hw *hw) { struct e1000_mac_info *mac = &hw->mac; struct e1000_bus_info *bus = &hw->bus; - struct e1000_adapter *adapter = hw->adapter; - u16 pcie_link_status, cap_offset; + struct pci_dev *pdev = hw->adapter->pdev; + u16 pcie_link_status; - cap_offset = adapter->pdev->pcie_cap; - if (!cap_offset) { + if (!pci_pcie_cap(pdev)) { bus->width = e1000_bus_width_unknown; } else { - pci_read_config_word(adapter->pdev, - cap_offset + PCIE_LINK_STATUS, - &pcie_link_status); + pcie_capability_read_word(pdev, PCI_EXP_LNKSTA, &pcie_link_status); bus->width = (enum e1000_bus_width)FIELD_GET(PCI_EXP_LNKSTA_NLW, pcie_link_status); }
Use pcie_capability_read_word() for reading LNKSTA and remove the custom define that matches to PCI_EXP_LNKSTA. As only single user for cap_offset remains, replace it with a call to pci_pcie_cap(). Instead of e1000_adapter, make local variable out of pci_dev because both users are interested in it. Signed-off-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> --- drivers/net/ethernet/intel/e1000e/defines.h | 1 - drivers/net/ethernet/intel/e1000e/mac.c | 11 ++++------- 2 files changed, 4 insertions(+), 8 deletions(-)