Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 962b5827 authored by Bjorn Helgaas's avatar Bjorn Helgaas Committed by David S. Miller
Browse files

cxgb4: Simplify PCIe Completion Timeout setting



Simplify PCIe Completion Timeout setting by using the
pcie_capability_clear_and_set_word() interface.  No functional change
intended.

Signed-off-by: default avatarBjorn Helgaas <bhelgaas@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 0dc6905a
Loading
Loading
Loading
Loading
+3 −18
Original line number Diff line number Diff line
@@ -8498,22 +8498,6 @@ static int t4_get_flash_params(struct adapter *adap)
	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;
}