Lines Matching full:bbt
14 * depending on the options in the BBT descriptor(s). If no flash based BBT
16 * marked good / bad blocks. This information is used to create a memory BBT.
19 * If a flash based BBT is specified then the function first tries to find the
20 * BBT on flash. If a BBT is found then the contents are read and the memory
21 * based BBT is created. If a mirrored BBT is selected then the mirror is
23 * version number, then the mirror BBT is used to build the memory based BBT.
26 * If no BBT exists at all then the device is scanned for factory marked
30 * the BBT is searched and read but never created
49 * 10b: block is reserved (to protect the bbt area)
56 * - the space necessary for a bbt in FLASH does not exceed a block boundary
81 uint8_t entry = chip->bbt[block >> BBT_ENTRY_SHIFT]; in bbt_get_entry()
90 chip->bbt[block >> BBT_ENTRY_SHIFT] |= msk; in bbt_mark_entry()
141 * @td: BBT descriptor used for computation
163 * @num: the number of bbt descriptors to read
164 * @td: the bbt describtion table
189 * In case the BBT marker is not in the OOB area it in read_bbt()
199 pr_info("nand_bbt: ECC error in BBT at 0x%012llx\n", in read_bbt()
203 pr_info("nand_bbt: corrected error in BBT at 0x%012llx\n", in read_bbt()
207 pr_info("nand_bbt: error reading BBT\n"); in read_bbt()
260 * that the bbt bits are in consecutive order.
287 /* BBT marker is in the first page, no OOB */
384 * assume that the bbt bits are in consecutive order.
516 * NAND_BBT_PERCHIP is given, each chip is searched for a bbt, which contains
520 * The bbt ident pattern resides in the oob area of the first page in a block.
540 /* Do we have a bbt per chip? */ in search_bbt()
573 /* Check, if we found a bbt for each requested chip */ in search_bbt()
738 /* Preset the bbt area with 0xff */ in write_bbt()
779 /* Do not store the reserved bbt blocks! */ in write_bbt()
815 * The function creates a memory based bbt by scanning the device for
826 * check_create - [GENERIC] create and write bbt(s) if necessary
832 * / updates the bbt(s) if necessary. Creation is necessary if no bbt was found
844 /* Do we have a bbt per chip? */ in check_create()
967 /* Do we have a bbt per chip? */ in mark_bbt_region()
1086 this->bbt = kzalloc(len, GFP_KERNEL); in nand_scan_bbt()
1087 if (!this->bbt) in nand_scan_bbt()
1096 pr_err("nand_bbt: can't scan flash and build the RAM-based BBT\n"); in nand_scan_bbt()
1113 /* Is the bbt at a given page? */ in nand_scan_bbt()
1125 /* Prevent the bbt regions from erasing / writing */ in nand_scan_bbt()
1134 kfree(this->bbt); in nand_scan_bbt()
1135 this->bbt = NULL; in nand_scan_bbt()
1155 if (!this->bbt || !td) in nand_update_bbt()
1165 /* Do we have a bbt per chip? */ in nand_update_bbt()
1200 /* Generic flash bbt descriptors */
1246 * nand_create_badblock_pattern - [INTERN] Creates a BBT descriptor structure
1339 pr_debug("nand_isbad_bbt(): bbt info for offs 0x%08x: (block %d) 0x%02x\n", in nand_isbad_bbt()
1354 * nand_markbad_bbt - [NAND Interface] Mark a block bad in the BBT