OSDN Git Service

cxgb4: Simplify PCIe Completion Timeout setting
authorBjorn Helgaas <bhelgaas@google.com>
Fri, 15 Dec 2017 23:01:50 +0000 (17:01 -0600)
committerDavid S. Miller <davem@davemloft.net>
Mon, 18 Dec 2017 20:12:57 +0000 (15:12 -0500)
Simplify PCIe Completion Timeout setting by using the
pcie_capability_clear_and_set_word() interface.  No functional change
intended.

Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/net/ethernet/chelsio/cxgb4/t4_hw.c

index f044717..d18e708 100644 (file)
@@ -8498,22 +8498,6 @@ found:
        return 0;
 }
 
-static void set_pcie_completion_timeout(struct adapter *adapter, u8 range)
-{
-       u16 val;
-       u32 pcie_cap;
-
-       pcie_cap = pci_find_capability(adapter->pdev, PCI_CAP_ID_EXP);
-       if (pcie_cap) {
-               pci_read_config_word(adapter->pdev,
-                                    pcie_cap + PCI_EXP_DEVCTL2, &val);
-               val &= ~PCI_EXP_DEVCTL2_COMP_TIMEOUT;
-               val |= range;
-               pci_write_config_word(adapter->pdev,
-                                     pcie_cap + PCI_EXP_DEVCTL2, val);
-       }
-}
-
 /**
  *     t4_prep_adapter - prepare SW and HW for operation
  *     @adapter: the adapter
@@ -8599,8 +8583,9 @@ int t4_prep_adapter(struct adapter *adapter)
        adapter->params.portvec = 1;
        adapter->params.vpd.cclk = 50000;
 
-       /* Set pci completion timeout value to 4 seconds. */
-       set_pcie_completion_timeout(adapter, 0xd);
+       /* Set PCIe completion timeout to 4 seconds. */
+       pcie_capability_clear_and_set_word(adapter->pdev, PCI_EXP_DEVCTL2,
+                                          PCI_EXP_DEVCTL2_COMP_TIMEOUT, 0xd);
        return 0;
 }