ENUM NAND_ECC_ENGINE_TYPE(9)
π enum nand_ecc_engine_type(9) β NAND ECC engine type
okay so this is a page straight out of the Kernel API Manual, bestie, and it's all about enum nand_ecc_engine_type β aka the little enum that tells your NAND stack which flavour of ECC engine we're dealing with. lowkey iconic, highkey essential πΈ
β¨ NAME β¨
enum nand_ecc_engine_type β NAND ECC engine type π
π¦ SYNOPSIS π¦
enum nand_ecc_engine_type {
NAND_ECC_ENGINE_TYPE_INVALID ,
NAND_ECC_ENGINE_TYPE_NONE ,
NAND_ECC_ENGINE_TYPE_SOFT ,
NAND_ECC_ENGINE_TYPE_ON_HOST ,
NAND_ECC_ENGINE_TYPE_ON_DIE
};
π CONSTANTS π
these are the five members, and no cap, you need to know all of them:
NAND_ECC_ENGINE_TYPE_INVALIDβ the invalid value π like, that's not a real engine, that's just "nope"NAND_ECC_ENGINE_TYPE_NONEβ no ECC correction at all π zero correcting happening, we're rawdogging the bitsNAND_ECC_ENGINE_TYPE_SOFTβ software ECC correction π§ the CPU does the work for youNAND_ECC_ENGINE_TYPE_ON_HOSTβ on host hardware ECC correction π₯ hardware handles it, but on the host sideNAND_ECC_ENGINE_TYPE_ON_DIEβ on chip hardware ECC correction β hardware handles it, but over on the chip itself
π SEE ALSO π
this list is long but we don't skip, we don't summarise, we list every single one, periodt π
- Kernel file
./include/linux/mtd/nand.hstructnand_memory_organization(9), structnand_row_converter(9), structnand_pos(9), enumnand_page_io_req_type(9), structnand_page_io_req(9), enumnand_ecc_placement(9), enumnand_ecc_algo(9), structnand_ecc_props(9), structnand_bbt(9), structnand_ops(9), structnand_ecc_context(9), structnand_ecc_engine_ops(9), enumnand_ecc_engine_integration(9), structnand_ecc_engine(9), structnand_ecc_req_tweak_ctx(9), structnand_ecc(9), structnand_device(9), structnand_io_iter(9),mtd_to_nanddev(9),nanddev_to_mtd(9),nanddev_page_size(9),nanddev_per_page_oobsize(9),nanddev_pages_per_eraseblock(9),nanddev_pages_per_target(9),nanddev_eraseblocks_per_lun(9),nanddev_eraseblocks_per_target(9),nanddev_target_size(9),nanddev_neraseblocks(9),nanddev_size(9),nanddev_get_memorg(9),nanddev_get_ecc_conf(9),nanddev_get_ecc_nsteps(9),nanddev_get_ecc_bytes_per_step(9),nanddev_get_ecc_requirements(9),nanddev_set_ecc_requirements(9),nanddev_register(9),nanddev_unregister(9),nanddev_set_of_node(9),nanddev_get_of_node(9),nanddev_offs_to_pos(9),nanddev_pos_cmp(9),nanddev_pos_to_offs(9),nanddev_pos_to_row(9),nanddev_pos_next_target(9),nanddev_pos_next_lun(9),nanddev_pos_next_eraseblock(9),nanddev_pos_next_page(9),nanddev_bbt_pos_to_entry(9),nanddev_bbt_is_initialized(9)
ngl there's no more to it β five enum values, five little vibes, done. π«Ά
and that's the whole page, bestie!! this one came from the <purple>./include/linux/mtd</purple> source, version dated <cyan>October 2026</cyan>, and it's filed under enum nand_ecc_engine_type(9). go forth and configure your ECC πβ¨π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms