[PATCH cryptodev-2.6 2/4] crypto: cavium/nitrox - use pcie_flr instead of duplicating it

From: Srikanth Jampala
Date: Sat Sep 29 2018 - 04:20:13 EST


check the flr capability using pcie_has_flr() and do the flr.

Signed-off-by: Srikanth Jampala <Jampala.Srikanth@xxxxxxxxxx>
Reviewed-by: Gadam Sreerama <sgadam@xxxxxxxxxx>
---
drivers/crypto/cavium/nitrox/nitrox_main.c | 15 +++++----------
1 file changed, 5 insertions(+), 10 deletions(-)

diff --git a/drivers/crypto/cavium/nitrox/nitrox_main.c b/drivers/crypto/cavium/nitrox/nitrox_main.c
index 5bd97cff1405..13436ca98cb5 100644
--- a/drivers/crypto/cavium/nitrox/nitrox_main.c
+++ b/drivers/crypto/cavium/nitrox/nitrox_main.c
@@ -217,7 +217,7 @@ void nitrox_put_device(struct nitrox_device *ndev)
smp_mb__after_atomic();
}

-static int nitrox_reset_device(struct pci_dev *pdev)
+static int nitrox_device_flr(struct pci_dev *pdev)
{
int pos = 0;

@@ -227,15 +227,10 @@ static int nitrox_reset_device(struct pci_dev *pdev)
return -ENOMEM;
}

- pos = pci_pcie_cap(pdev);
- if (!pos)
- return -ENOTTY;
+ /* check flr support */
+ if (pcie_has_flr(pdev))
+ pcie_flr(pdev);

- if (!pci_wait_for_pending_transaction(pdev))
- dev_err(&pdev->dev, "waiting for pending transaction\n");
-
- pcie_capability_set_word(pdev, PCI_EXP_DEVCTL, PCI_EXP_DEVCTL_BCR_FLR);
- msleep(100);
pci_restore_state(pdev);

return 0;
@@ -345,7 +340,7 @@ static int nitrox_probe(struct pci_dev *pdev,
return err;

/* do FLR */
- err = nitrox_reset_device(pdev);
+ err = nitrox_device_flr(pdev);
if (err) {
dev_err(&pdev->dev, "FLR failed\n");
pci_disable_device(pdev);
--
2.17.1