crypto: qat - re-enable sriov after pf reset
When a Physical Function (PF) is reset, SR-IOV gets disabled, making the associated Virtual Functions (VFs) unavailable. Even after reset and using pci_restore_state, VFs remain uncreated because the numvfs still at 0. Therefore, it's necessary to reconfigure SR-IOV to re-enable VFs. This commit introduces the ADF_SRIOV_ENABLED configuration flag to cache the SR-IOV enablement state. SR-IOV is only re-enabled if it was previously configured. This commit also introduces a dedicated workqueue without `WQ_MEM_RECLAIM` flag for enabling SR-IOV during Heartbeat and CPM error resets, preventing workqueue flushing warning. This patch is based on earlier work done by Shashank Gupta. Signed-off-by:Mun Chun Yep <mun.chun.yep@intel.com> Reviewed-by:
Ahsan Atta <ahsan.atta@intel.com> Reviewed-by:
Markas Rapoportas <markas.rapoportas@intel.com> Reviewed-by:
Giovanni Cabiddu <giovanni.cabiddu@intel.com> Signed-off-by:
Herbert Xu <herbert@gondor.apana.org.au>
Showing
- drivers/crypto/intel/qat/qat_common/adf_aer.c 39 additions, 1 deletiondrivers/crypto/intel/qat/qat_common/adf_aer.c
- drivers/crypto/intel/qat/qat_common/adf_cfg_strings.h 1 addition, 0 deletionsdrivers/crypto/intel/qat/qat_common/adf_cfg_strings.h
- drivers/crypto/intel/qat/qat_common/adf_common_drv.h 5 additions, 0 deletionsdrivers/crypto/intel/qat/qat_common/adf_common_drv.h
- drivers/crypto/intel/qat/qat_common/adf_sriov.c 34 additions, 3 deletionsdrivers/crypto/intel/qat/qat_common/adf_sriov.c
Loading
Please register or sign in to comment