On Thu, Sep 16, 2021 at 03:45:41PM +0100, Giovanni Cabiddu wrote: > After reset or boot, QAT 4xxx devices are inactive and require to be > explicitly activated. > This is done by writing the DRV_ACTIVE bit in the PM_INTERRUPT register > and polling the PM_INIT_STATE to make sure that the transaction has > completed properly. > > If this is not done, the driver will fail the initialization sequence > reporting the following message: > [ 22.081193] 4xxx 0000:f7:00.0: enabling device (0140 -> 0142) > [ 22.720285] QAT: AE0 is inactive!! > [ 22.720287] QAT: failed to get device out of reset > [ 22.720288] 4xxx 0000:f7:00.0: qat_hal_clr_reset error > [ 22.720290] 4xxx 0000:f7:00.0: Failed to init the AEs > [ 22.720290] 4xxx 0000:f7:00.0: Failed to initialise Acceleration Engine > [ 22.720789] 4xxx 0000:f7:00.0: Resetting device qat_dev0 > [ 22.825099] 4xxx: probe of 0000:f7:00.0 failed with error -14 > > The patch also temporarily disables the power management source of > interrupt, to avoid possible spurious interrupts as the power management > feature is not fully supported. > > The device init function has been added to adf_dev_init(), and not in the > probe of 4xxx to make sure that the device is re-enabled in case of > reset. > > Note that the error code reported by hw_data->init_device() in > adf_dev_init() has been shadowed for consistency with the other calls > in the same function. > > Fixes: 8c8268166e83 ("crypto: qat - add qat_4xxx driver") > Signed-off-by: Giovanni Cabiddu <giovanni.cabiddu@xxxxxxxxx> > Reviewed-by: Wojciech Ziemba <wojciech.ziemba@xxxxxxxxx> > --- > .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.c | 31 +++++++++++++++++++ > .../crypto/qat/qat_4xxx/adf_4xxx_hw_data.h | 10 ++++++ > .../crypto/qat/qat_common/adf_accel_devices.h | 1 + > drivers/crypto/qat/qat_common/adf_init.c | 5 +++ > 4 files changed, 47 insertions(+) Patch applied. Thanks. -- Email: Herbert Xu <herbert@xxxxxxxxxxxxxxxxxxx> Home Page: http://gondor.apana.org.au/~herbert/ PGP Key: http://gondor.apana.org.au/~herbert/pubkey.txt