crypto: qat - use pci_wait_for_pending_transaction()
PATCH 1/1 crypto: qat - use pci_wait_for_pending_transaction()
Prior to resetting the hardware, use pci_wait_for_pending_transaction() instead of open coding similar functionality.
Signed-off-by Bruce Allan <[email protected]>
Acked-by Tadeusz Struk <[email protected]>
---
drivers/crypto/qat/qat_common/adf_aer.c | 17 ++--------------- 1 file changed, 2 insertions(+), 15 deletions(-)
drivers/crypto/qat/qat_common/adf_aer.c +2 -15
@@ -82,28 +82,15 @@ struct adf_reset_dev_data {struct work_struct reset_work; }; -#define PPDSTAT_OFFSET 0x7Estatic void adf_dev_restore (struct adf_accel_dev *accel_dev) {struct pci_dev *pdev =accel_to_pci_dev (accel_dev);struct pci_dev *parent = pdev->bus->self; -uint16_t ppdstat =0 , bridge_ctl =0 ; -int pending =0 ; +uint16_t bridge_ctl =0 ;pr_info ("QAT: Resetting device qat_dev%d\n" , accel_dev->accel_id); -pci_read_config_word (pdev,PPDSTAT_OFFSET , &ppdstat); - pending = ppdstat &PCI_EXP_DEVSTA_TRPND ; -if (pending) { -int ctr =0 ; - -do { -msleep (100 ); -pci_read_config_word (pdev,PPDSTAT_OFFSET , &ppdstat); - pending = ppdstat &PCI_EXP_DEVSTA_TRPND ; - }while (pending && ctr++ <10 ); - } -if (pending) +if (!pci_wait_for_pending_transaction (pdev))pr_info ("QAT: Transaction still in progress. Proceeding\n" );pci_read_config_word (parent,PCI_BRIDGE_CONTROL , &bridge_ctl);