mirror of
https://github.com/torvalds/linux.git
synced 2026-04-18 14:53:58 -04:00
crypto: qat - add infrastructure for error reporting
Add infrastructure for enabling, disabling and reporting errors in the QAT
driver. This adds a new structure, adf_ras_ops, to adf_hw_device_data that
contains the following methods:
- enable_ras_errors(): allows to enable RAS errors at device
initialization.
- disable_ras_errors(): allows to disable RAS errors at device shutdown.
- handle_interrupt(): allows to detect if there is an error and report if
a reset is required. This is executed immediately after the error is
reported, in the context of an ISR.
An initial, empty, implementation of the methods above is provided
for QAT GEN4.
Signed-off-by: Shashank Gupta <shashank.gupta@intel.com>
Reviewed-by: Giovanni Cabiddu <giovanni.cabiddu@intel.com>
Reviewed-by: Tero Kristo <tero.kristo@linux.intel.com>
Signed-off-by: Herbert Xu <herbert@gondor.apana.org.au>
This commit is contained in:
committed by
Herbert Xu
parent
33fc506d2a
commit
93b2f7de7d
@@ -152,6 +152,13 @@ struct adf_accel_dev;
|
||||
struct adf_etr_data;
|
||||
struct adf_etr_ring_data;
|
||||
|
||||
struct adf_ras_ops {
|
||||
void (*enable_ras_errors)(struct adf_accel_dev *accel_dev);
|
||||
void (*disable_ras_errors)(struct adf_accel_dev *accel_dev);
|
||||
bool (*handle_interrupt)(struct adf_accel_dev *accel_dev,
|
||||
bool *reset_required);
|
||||
};
|
||||
|
||||
struct adf_pfvf_ops {
|
||||
int (*enable_comms)(struct adf_accel_dev *accel_dev);
|
||||
u32 (*get_pf2vf_offset)(u32 i);
|
||||
@@ -214,6 +221,7 @@ struct adf_hw_device_data {
|
||||
struct adf_pfvf_ops pfvf_ops;
|
||||
struct adf_hw_csr_ops csr_ops;
|
||||
struct adf_dc_ops dc_ops;
|
||||
struct adf_ras_ops ras_ops;
|
||||
const char *fw_name;
|
||||
const char *fw_mmp_name;
|
||||
u32 fuses;
|
||||
|
||||
Reference in New Issue
Block a user