Error Detection And Correction (EDAC)
Error Detection And Correction is a mechanism used to detect and correct errors while storing or reading data.
Configuration option
Related configuration option:
API Reference
- group edac
- Since
2.5
- Version
0.8.0
Optional interfaces
EDAC Optional Interfaces
-
static inline int edac_inject_set_param1(const struct device *dev, uint64_t value)
Set injection parameter param1.
Set first error injection parameter value.
- Parameters:
dev – Pointer to the device structure
value – First injection parameter
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, other error code otherwise
-
static inline int edac_inject_get_param1(const struct device *dev, uint64_t *value)
Get injection parameter param1.
Get first error injection parameter value.
- Parameters:
dev – Pointer to the device structure
value – Pointer to the first injection parameter
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, error code otherwise
-
static inline int edac_inject_set_param2(const struct device *dev, uint64_t value)
Set injection parameter param2.
Set second error injection parameter value.
- Parameters:
dev – Pointer to the device structure
value – Second injection parameter
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, error code otherwise
-
static inline int edac_inject_get_param2(const struct device *dev, uint64_t *value)
Get injection parameter param2.
- Parameters:
dev – Pointer to the device structure
value – Pointer to the second injection parameter
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, error code otherwise
-
static inline int edac_inject_set_error_type(const struct device *dev, uint32_t error_type)
Set error type value.
Set the value of error type to be injected
- Parameters:
dev – Pointer to the device structure
error_type – Error type value
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, error code otherwise
-
static inline int edac_inject_get_error_type(const struct device *dev, uint32_t *error_type)
Get error type value.
Get the value of error type to be injected
- Parameters:
dev – Pointer to the device structure
error_type – Pointer to error type value
- Return values:
-ENOSYS – if the optional interface is not implemented
0 – on success, error code otherwise
Mandatory interfaces
EDAC Mandatory Interfaces
-
static inline int edac_ecc_error_log_get(const struct device *dev, uint64_t *value)
Get ECC Error Log.
Read value of ECC Error Log.
- Parameters:
dev – Pointer to the device structure
value – Pointer to the ECC Error Log value
- Return values:
0 – on success, error code otherwise
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_ecc_error_log_clear(const struct device *dev)
Clear ECC Error Log.
Clear value of ECC Error Log.
- Parameters:
dev – Pointer to the device structure
- Return values:
0 – on success, error code otherwise
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_parity_error_log_get(const struct device *dev, uint64_t *value)
Get Parity Error Log.
Read value of Parity Error Log.
- Parameters:
dev – Pointer to the device structure
value – Pointer to the parity Error Log value
- Return values:
0 – on success, error code otherwise
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_parity_error_log_clear(const struct device *dev)
Clear Parity Error Log.
Clear value of Parity Error Log.
- Parameters:
dev – Pointer to the device structure
- Return values:
0 – on success, error code otherwise
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_errors_cor_get(const struct device *dev)
Get number of correctable errors.
- Parameters:
dev – Pointer to the device structure
- Return values:
num – Number of correctable errors
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_errors_uc_get(const struct device *dev)
Get number of uncorrectable errors.
- Parameters:
dev – Pointer to the device structure
- Return values:
num – Number of uncorrectable errors
-ENOSYS – if the mandatory interface is not implemented
-
static inline int edac_notify_callback_set(const struct device *dev, edac_notify_callback_f cb)
Register callback function for memory error exception.
This callback runs in interrupt context
- Parameters:
dev – EDAC driver device to install callback
cb – Callback function pointer
- Return values:
0 – on success, error code otherwise
-ENOSYS – if the mandatory interface is not implemented