Lines Matching refs:bbm
66 struct bbm_info *bbm = this->bbm; in create_bbt() local
86 numblocks = this->chipsize >> (bbm->bbt_erase_shift - 1); in create_bbt()
111 bbm->bbt[i >> 3] |= 0x03 << (i & 0x6); in create_bbt()
124 from += (1 << bbm->bbt_erase_shift); in create_bbt()
155 struct bbm_info *bbm = this->bbm; in onenand_isbad_bbt() local
161 res = (bbm->bbt[block >> 3] >> (block & 0x06)) & 0x03; in onenand_isbad_bbt()
195 struct bbm_info *bbm = this->bbm; in onenand_scan_bbt() local
200 bbm->bbt = malloc(len); in onenand_scan_bbt()
201 if (!bbm->bbt) in onenand_scan_bbt()
204 memset(bbm->bbt, 0x00, len); in onenand_scan_bbt()
207 bbm->badblockpos = ONENAND_BADBLOCK_POS; in onenand_scan_bbt()
210 bbm->bbt_erase_shift = this->erase_shift; in onenand_scan_bbt()
212 if (!bbm->isbad_bbt) in onenand_scan_bbt()
213 bbm->isbad_bbt = onenand_isbad_bbt; in onenand_scan_bbt()
219 free(bbm->bbt); in onenand_scan_bbt()
220 bbm->bbt = NULL; in onenand_scan_bbt()
249 struct bbm_info *bbm; in onenand_default_bbt() local
251 this->bbm = malloc(sizeof(struct bbm_info)); in onenand_default_bbt()
252 if (!this->bbm) in onenand_default_bbt()
255 bbm = this->bbm; in onenand_default_bbt()
257 memset(bbm, 0, sizeof(struct bbm_info)); in onenand_default_bbt()
260 if (!bbm->badblock_pattern) in onenand_default_bbt()
261 bbm->badblock_pattern = &largepage_memorybased; in onenand_default_bbt()
263 return onenand_scan_bbt(mtd, bbm->badblock_pattern); in onenand_default_bbt()