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