crypto: qat - add heartbeat error simulator
authorDamian Muszynski <damian.muszynski@intel.com>
Fri, 2 Feb 2024 10:53:16 +0000 (18:53 +0800)
committerHerbert Xu <herbert@gondor.apana.org.au>
Fri, 9 Feb 2024 04:57:18 +0000 (12:57 +0800)
commite2b67859ab6efd4458bda1baaee20331a367d995
treee0915b3f92006e9037c7f970abd38b960b4c14b5
parent633eeefab69ed4bdfa3f1d375c609e87feb1c55a
crypto: qat - add heartbeat error simulator

Add a mechanism that allows to inject a heartbeat error for testing
purposes.
A new attribute `inject_error` is added to debugfs for each QAT device.
Upon a write on this attribute, the driver will inject an error on the
device which can then be detected by the heartbeat feature.
Errors are breaking the device functionality thus they require a
device reset in order to be recovered.

This functionality is not compiled by default, to enable it
CRYPTO_DEV_QAT_ERROR_INJECTION must be set.

Signed-off-by: Damian Muszynski <damian.muszynski@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Lucas Segarra Fernandez <lucas.segarra.fernandez@intel.com>
Reviewed-by: Ahsan Atta <ahsan.atta@intel.com>
Reviewed-by: Markas Rapoportas <markas.rapoportas@intel.com>
Signed-off-by: Mun Chun Yep <mun.chun.yep@intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
Documentation/ABI/testing/debugfs-driver-qat
drivers/crypto/intel/qat/Kconfig
drivers/crypto/intel/qat/qat_common/Makefile
drivers/crypto/intel/qat/qat_common/adf_common_drv.h
drivers/crypto/intel/qat/qat_common/adf_heartbeat.c
drivers/crypto/intel/qat/qat_common/adf_heartbeat.h
drivers/crypto/intel/qat/qat_common/adf_heartbeat_dbgfs.c
drivers/crypto/intel/qat/qat_common/adf_heartbeat_inject.c [new file with mode: 0644]
drivers/crypto/intel/qat/qat_common/adf_hw_arbiter.c