diff options
author | Pekon Gupta <pekon@ti.com> | 2014-03-20 17:18:34 +0400 |
---|---|---|
committer | Brian Norris <computersforpeace@gmail.com> | 2014-03-26 10:08:52 +0400 |
commit | 3f4eb14bdbe148fcc3a8e02f506ccc9b8c955ad4 (patch) | |
tree | eff0b8120b1a9d7c21cb97bbde936fa3e829228d /include/linux/platform_data/elm.h | |
parent | d9ba46d32c0edc5207fec424230dfa786a24a117 (diff) | |
download | linux-3f4eb14bdbe148fcc3a8e02f506ccc9b8c955ad4.tar.xz |
mtd: devices: elm: check for hardware engine's design constraints
ELM hardware engine is used by BCH ecc-schemes for detecting and locating ECC
errors. This patch adds the following checks for ELM hardware engine:
- ELM internal buffers are of 1K,
so it cannot process data with ecc-step-size > 1K.
- ELM engine can execute upto maximum of 8 threads in parallel,
so in *page-mode* (when complete page is processed in single iteration),
ELM cannot support ecc-steps > 8.
Signed-off-by: Pekon Gupta <pekon@ti.com>
Reviewed-by: Ezequiel Garcia <ezequiel.garcia@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Diffstat (limited to 'include/linux/platform_data/elm.h')
-rw-r--r-- | include/linux/platform_data/elm.h | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/include/linux/platform_data/elm.h b/include/linux/platform_data/elm.h index bf0a83b7ed9d..6e37156b0902 100644 --- a/include/linux/platform_data/elm.h +++ b/include/linux/platform_data/elm.h @@ -50,5 +50,6 @@ struct elm_errorvec { void elm_decode_bch_error_page(struct device *dev, u8 *ecc_calc, struct elm_errorvec *err_vec); -int elm_config(struct device *dev, enum bch_ecc bch_type); +int elm_config(struct device *dev, enum bch_ecc bch_type, + int ecc_steps, int ecc_step_size, int ecc_syndrome_size); #endif /* __ELM_H */ |