]> git.baikalelectronics.ru Git - kernel.git/commit
crypto: qat - fix access to PFVF interrupt registers for GEN4
authorGiovanni Cabiddu <giovanni.cabiddu@intel.com>
Tue, 18 Jan 2022 10:35:15 +0000 (10:35 +0000)
committerHerbert Xu <herbert@gondor.apana.org.au>
Mon, 31 Jan 2022 00:21:43 +0000 (11:21 +1100)
commitc02ded9e8c0f26fcc3bdab60075f473e33bbd2db
tree4a8852ee93de99f34b700b06757b2f9cba72b95b
parent147f519dc53241066bf560eaa7a9333994c4a35b
crypto: qat - fix access to PFVF interrupt registers for GEN4

The logic that detects, enables and disables pfvf interrupts was
expecting a single CSR per VF. Instead, the source and mask register are
two registers with a bit per VF.
Due to this, the driver is reading and setting reserved CSRs and not
masking the correct source of interrupts.

Fix the access to the source and mask register for QAT GEN4 devices by
removing the outer loop in adf_gen4_get_vf2pf_sources(),
adf_gen4_enable_vf2pf_interrupts() and
adf_gen4_disable_vf2pf_interrupts() and changing the helper macros
ADF_4XXX_VM2PF_SOU and ADF_4XXX_VM2PF_MSK.

Fixes: 4f85e68bf82b ("crypto: qat - add PFVF support to the GEN4 host driver")
Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Co-developed-by: Siming Wan <siming.wan@intel.com>
Signed-off-by: Siming Wan <siming.wan@intel.com>
Reviewed-by: Xin Zeng <xin.zeng@intel.com>
Reviewed-by: Wojciech Ziemba <wojciech.ziemba@intel.com>
Reviewed-by: Marco Chiappero <marco.chiappero@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
drivers/crypto/qat/qat_common/adf_gen4_pfvf.c