mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-17 05:45:20 +00:00
liquidio: use pcie_flr instead of duplicating it
Signed-off-by: Christoph Hellwig <hch@lst.de> Tested-by: Felix Manlunas <felix.manlunas@cavium.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
1b86f702f8
commit
9ad098037d
@ -879,8 +879,6 @@ liquidio_vf_probe(struct pci_dev *pdev,
|
||||
*/
|
||||
static void octeon_pci_flr(struct octeon_device *oct)
|
||||
{
|
||||
u16 status;
|
||||
|
||||
pci_save_state(oct->pci_dev);
|
||||
|
||||
pci_cfg_access_lock(oct->pci_dev);
|
||||
@ -889,20 +887,7 @@ static void octeon_pci_flr(struct octeon_device *oct)
|
||||
pci_write_config_word(oct->pci_dev, PCI_COMMAND,
|
||||
PCI_COMMAND_INTX_DISABLE);
|
||||
|
||||
/* Wait for Transaction Pending bit clean */
|
||||
msleep(100);
|
||||
pcie_capability_read_word(oct->pci_dev, PCI_EXP_DEVSTA, &status);
|
||||
if (status & PCI_EXP_DEVSTA_TRPND) {
|
||||
dev_info(&oct->pci_dev->dev, "Function reset incomplete after 100ms, sleeping for 5 seconds\n");
|
||||
ssleep(5);
|
||||
pcie_capability_read_word(oct->pci_dev, PCI_EXP_DEVSTA,
|
||||
&status);
|
||||
if (status & PCI_EXP_DEVSTA_TRPND)
|
||||
dev_info(&oct->pci_dev->dev, "Function reset still incomplete after 5s, reset anyway\n");
|
||||
}
|
||||
pcie_capability_set_word(oct->pci_dev, PCI_EXP_DEVCTL,
|
||||
PCI_EXP_DEVCTL_BCR_FLR);
|
||||
mdelay(100);
|
||||
pcie_flr(oct->pci_dev);
|
||||
|
||||
pci_cfg_access_unlock(oct->pci_dev);
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user