:: RootR ::  Hosting Order Map Login   Secure Inter-Network Operations  
 
struct_nand_ecc_ctrl(9) - phpMan

Command: man perldoc info search(apropos)  


STRUCT NAND_ECC_CTRL(9)                     Structures                    STRUCT NAND_ECC_CTRL(9)



NAME
       struct_nand_ecc_ctrl - Control structure for ECC

SYNOPSIS
       struct nand_ecc_ctrl {
         nand_ecc_modes_t mode;
         enum nand_ecc_algo algo;
         int steps;
         int size;
         int bytes;
         int total;
         int strength;
         int prepad;
         int postpad;
         unsigned int options;
         void * priv;
         void (* hwctl) (struct mtd_info *mtd, int mode);
         int (* calculate) (struct mtd_info *mtd, const uint8_t *dat,uint8_t *ecc_code);
         int (* correct) (struct mtd_info *mtd, uint8_t *dat, uint8_t *read_ecc,uint8_t *calc_ecc);
         int (* read_page_raw) (struct mtd_info *mtd, struct nand_chip *chip,uint8_t *buf, int oob_required, int page);
         int (* write_page_raw) (struct mtd_info *mtd, struct nand_chip *chip,const uint8_t *buf, int oob_required, int page);
         int (* read_page) (struct mtd_info *mtd, struct nand_chip *chip,uint8_t *buf, int oob_required, int page);
         int (* read_subpage) (struct mtd_info *mtd, struct nand_chip *chip,uint32_t offs, uint32_t len, uint8_t *buf, int page);
         int (* write_subpage) (struct mtd_info *mtd, struct nand_chip *chip,uint32_t offset, uint32_t data_len,const uint8_t *data_buf, int oob_required, int page);
         int (* write_page) (struct mtd_info *mtd, struct nand_chip *chip,const uint8_t *buf, int oob_required, int page);
         int (* write_oob_raw) (struct mtd_info *mtd, struct nand_chip *chip,int page);
         int (* read_oob_raw) (struct mtd_info *mtd, struct nand_chip *chip,int page);
         int (* read_oob) (struct mtd_info *mtd, struct nand_chip *chip, int page);
         int (* write_oob) (struct mtd_info *mtd, struct nand_chip *chip,int page);
       };

MEMBERS
       mode
           ECC mode

       algo
           ECC algorithm

       steps
           number of ECC steps per page

       size
           data bytes per ECC step

       bytes
           ECC bytes per step

       total
           total number of ECC bytes per page

       strength
           max number of correctible bits per ECC step

       prepad
           padding information for syndrome based ECC generators

       postpad
           padding information for syndrome based ECC generators

       options
           ECC specific options (see NAND_ECC_XXX flags defined above)

       priv
           pointer to private ECC control data

       hwctl
           function to control hardware ECC generator. Must only be provided if an hardware ECC
           is available

       calculate
           function for ECC calculation or readback from ECC hardware

       correct
           function for ECC correction, matching to ECC generator (sw/hw). Should return a
           positive number representing the number of corrected bitflips, -EBADMSG if the number
           of bitflips exceed ECC strength, or any other error code if the error is not directly
           related to correction. If -EBADMSG is returned the input buffers should be left
           untouched.

       read_page_raw
           function to read a raw page without ECC. This function should hide the specific layout
           used by the ECC controller and always return contiguous in-band and out-of-band data
           even if they're not stored contiguously on the NAND chip (e.g. NAND_ECC_HW_SYNDROME
           interleaves in-band and out-of-band data).

       write_page_raw
           function to write a raw page without ECC. This function should hide the specific
           layout used by the ECC controller and consider the passed data as contiguous in-band
           and out-of-band data. ECC controller is responsible for doing the appropriate
           transformations to adapt to its specific layout (e.g. NAND_ECC_HW_SYNDROME interleaves
           in-band and out-of-band data).

       read_page
           function to read a page according to the ECC generator requirements; returns maximum
           number of bitflips corrected in any single ECC step, 0 if bitflips uncorrectable, -EIO
           hw error

       read_subpage
           function to read parts of the page covered by ECC; returns same as read_page

       write_subpage
           function to write parts of the page covered by ECC.

       write_page
           function to write a page according to the ECC generator requirements.

       write_oob_raw
           function to write chip OOB data without ECC

       read_oob_raw
           function to read chip OOB data without ECC

       read_oob
           function to read chip OOB data

       write_oob
           function to write chip OOB data

AUTHOR
       Thomas Gleixner <tglx AT linutronix.de>
           Author.

COPYRIGHT
Kernel Hackers Manual 4.8.                 January 2017                   STRUCT NAND_ECC_CTRL(9)


/man
rootr.net - man pages