Commit 6133b920 authored by Frederick Lawler's avatar Frederick Lawler Committed by David S. Miller

cxgb4: Prefer pcie_capability_read_word()

Commit 8c0d3a02 ("PCI: Add accessors for PCI Express Capability")
added accessors for the PCI Express Capability so that drivers didn't
need to be aware of differences between v1 and v2 of the PCI
Express Capability.

Replace pci_read_config_word() and pci_write_config_word() calls with
pcie_capability_read_word() and pcie_capability_write_word().
Signed-off-by: default avatarFrederick Lawler <fred@fredlawl.com>
Reviewed-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent ffd342e0
...@@ -5561,7 +5561,6 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs) ...@@ -5561,7 +5561,6 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs)
char name[IFNAMSIZ]; char name[IFNAMSIZ];
u32 devcap2; u32 devcap2;
u16 flags; u16 flags;
int pos;
/* If we want to instantiate Virtual Functions, then our /* If we want to instantiate Virtual Functions, then our
* parent bridge's PCI-E needs to support Alternative Routing * parent bridge's PCI-E needs to support Alternative Routing
...@@ -5569,9 +5568,8 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs) ...@@ -5569,9 +5568,8 @@ static int cxgb4_iov_configure(struct pci_dev *pdev, int num_vfs)
* and above. * and above.
*/ */
pbridge = pdev->bus->self; pbridge = pdev->bus->self;
pos = pci_find_capability(pbridge, PCI_CAP_ID_EXP); pcie_capability_read_word(pbridge, PCI_EXP_FLAGS, &flags);
pci_read_config_word(pbridge, pos + PCI_EXP_FLAGS, &flags); pcie_capability_read_dword(pbridge, PCI_EXP_DEVCAP2, &devcap2);
pci_read_config_dword(pbridge, pos + PCI_EXP_DEVCAP2, &devcap2);
if ((flags & PCI_EXP_FLAGS_VERS) < 2 || if ((flags & PCI_EXP_FLAGS_VERS) < 2 ||
!(devcap2 & PCI_EXP_DEVCAP2_ARI)) { !(devcap2 & PCI_EXP_DEVCAP2_ARI)) {
......
...@@ -7309,7 +7309,6 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size, ...@@ -7309,7 +7309,6 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
} else { } else {
unsigned int pack_align; unsigned int pack_align;
unsigned int ingpad, ingpack; unsigned int ingpad, ingpack;
unsigned int pcie_cap;
/* T5 introduced the separation of the Free List Padding and /* T5 introduced the separation of the Free List Padding and
* Packing Boundaries. Thus, we can select a smaller Padding * Packing Boundaries. Thus, we can select a smaller Padding
...@@ -7334,8 +7333,7 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size, ...@@ -7334,8 +7333,7 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
* multiple of the Maximum Payload Size. * multiple of the Maximum Payload Size.
*/ */
pack_align = fl_align; pack_align = fl_align;
pcie_cap = pci_find_capability(adap->pdev, PCI_CAP_ID_EXP); if (pci_is_pcie(adap->pdev)) {
if (pcie_cap) {
unsigned int mps, mps_log; unsigned int mps, mps_log;
u16 devctl; u16 devctl;
...@@ -7343,9 +7341,8 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size, ...@@ -7343,9 +7341,8 @@ int t4_fixup_host_params(struct adapter *adap, unsigned int page_size,
* [bits 7:5] encodes sizes as powers of 2 starting at * [bits 7:5] encodes sizes as powers of 2 starting at
* 128 bytes. * 128 bytes.
*/ */
pci_read_config_word(adap->pdev, pcie_capability_read_word(adap->pdev, PCI_EXP_DEVCTL,
pcie_cap + PCI_EXP_DEVCTL, &devctl);
&devctl);
mps_log = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5) + 7; mps_log = ((devctl & PCI_EXP_DEVCTL_PAYLOAD) >> 5) + 7;
mps = 1 << mps_log; mps = 1 << mps_log;
if (mps > pack_align) if (mps > pack_align)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment