Lines Matching full:ecc
39 * and override command or ECC setup according to flash type.
153 * Constants for Hardware ECC
155 /* Reset Hardware ECC for read */
157 /* Reset Hardware ECC for write */
159 /* Enable Hardware ECC before syndrome is read back from flash */
164 * ecc.correct() returns -EBADMSG.
356 /* Extended ECC information Block Definition (since ONFI 2.1) */
367 #define ONFI_SECTION_TYPE_2 2 /* for ECC information. */
471 /* ECC and endurance block */
489 …* struct nand_hw_control - Control structure for hardware controller (e.g ECC generator) shared am…
502 * struct nand_ecc_step_info - ECC step information of ECC engine
503 * @stepsize: data bytes per ECC step
514 * struct nand_ecc_caps - capability of ECC engine
515 * @stepinfos: array of ECC step information
516 * @nstepinfos: number of ECC step information
517 * @calc_ecc_bytes: driver's hook to calculate ECC bytes per step
525 /* a shorthand to generate struct nand_ecc_caps with only one ECC stepsize */
540 * struct nand_ecc_ctrl - Control structure for ECC
541 * @mode: ECC mode
542 * @algo: ECC algorithm
543 * @steps: number of ECC steps per page
544 * @size: data bytes per ECC step
545 * @bytes: ECC bytes per step
546 * @strength: max number of correctible bits per ECC step
547 * @total: total number of ECC bytes per page
548 * @prepad: padding information for syndrome based ECC generators
549 * @postpad: padding information for syndrome based ECC generators
550 * @options: ECC specific options (see NAND_ECC_XXX flags defined above)
551 * @layout: ECC layout control struct pointer
552 * @priv: pointer to private ECC control data
553 * @hwctl: function to control hardware ECC generator. Must only
554 * be provided if an hardware ECC is available
555 * @calculate: function for ECC calculation or readback from ECC hardware
556 * @correct: function for ECC correction, matching to ECC generator (sw/hw).
559 * ECC strength, or any other error code if the error is not
563 * @read_page_raw: function to read a raw page without ECC. This function
564 * should hide the specific layout used by the ECC
570 * @write_page_raw: function to write a raw page without ECC. This function
571 * should hide the specific layout used by the ECC
573 * in-band and out-of-band data. ECC controller is
578 * @read_page: function to read a page according to the ECC generator
580 * any single ECC step, 0 if bitflips uncorrectable, -EIO hw error
581 * @read_subpage: function to read parts of the page covered by ECC;
583 * @write_subpage: function to write parts of the page covered by ECC.
584 * @write_page: function to write a page according to the ECC generator
586 * @write_oob_raw: function to write chip OOB data without ECC
587 * @read_oob_raw: function to read chip OOB data without ECC
631 static inline int nand_standard_page_accessors(struct nand_ecc_ctrl *ecc) in nand_standard_page_accessors() argument
633 return !(ecc->options & NAND_ECC_CUSTOM_PAGE_ACCESS); in nand_standard_page_accessors()
638 * @ecccalc: buffer pointer for calculated ECC, size is oobsize.
639 * @ecccode: buffer pointer for ECC read from flash, size is oobsize.
806 * @ecc: [BOARDSPECIFIC] ECC control structure
834 * @ecc_strength_ds: [INTERN] ECC correctability from the datasheet.
837 * @ecc_step_ds: [INTERN] ECC step required by the @ecc_strength_ds,
838 * also from the datasheet. It is the recommended ECC step
950 struct nand_ecc_ctrl ecc; member
1030 #define NAND_ECC_STRENGTH(type) ((type)->ecc.strength_ds)
1031 #define NAND_ECC_STEP(type) ((type)->ecc.step_ds)
1050 * @ecc: ECC correctability and step information from the datasheet.
1051 * @ecc.strength_ds: The ECC correctability from the datasheet, same as the
1053 * @ecc.step_ds: The ECC step required by the @ecc.strength_ds, same as the
1055 * For example, the "4bit ECC for each 512Byte" can be set with
1080 } ecc; member
1268 void *ecc, int ecclen,