Lines Matching refs:block

196 static int onenand_block_address(struct onenand_chip *this, int block)  in onenand_block_address()  argument
199 if (block & this->density_mask) in onenand_block_address()
200 return ONENAND_DDP_CHIP1 | (block ^ this->density_mask); in onenand_block_address()
202 return block; in onenand_block_address()
213 static int onenand_bufferram_address(struct onenand_chip *this, int block) in onenand_bufferram_address() argument
216 if (block & this->density_mask) in onenand_bufferram_address()
306 static loff_t flexonenand_addr(struct onenand_chip *this, int block) in flexonenand_addr() argument
311 if (ONENAND_IS_DDP(this) && block >= this->density_mask) { in flexonenand_addr()
312 block -= this->density_mask; in flexonenand_addr()
318 ofs += (loff_t)block << (this->erase_shift - 1); in flexonenand_addr()
319 if (block > (boundary + 1)) in flexonenand_addr()
320 ofs += (loff_t)(block - boundary - 1) << (this->erase_shift - 1); in flexonenand_addr()
324 loff_t onenand_addr(struct onenand_chip *this, int block) in onenand_addr() argument
327 return (loff_t)block << this->erase_shift; in onenand_addr()
328 return flexonenand_addr(this, block); in onenand_addr()
373 int value, block, page; in onenand_command() local
381 block = -1; in onenand_command()
387 block = addr * this->density_mask; in onenand_command()
396 block = onenand_block(this, addr); in onenand_command()
402 block = addr * this->density_mask; in onenand_command()
407 block = onenand_block(this, addr); in onenand_command()
409 page = (int) (addr - onenand_addr(this, block))>>\ in onenand_command()
415 block &= ~1; in onenand_command()
418 block++; in onenand_command()
428 value = onenand_bufferram_address(this, block); in onenand_command()
441 if (block != -1) { in onenand_command()
443 value = onenand_block_address(this, block); in onenand_command()
447 value = onenand_bufferram_address(this, block); in onenand_command()
848 int blockpage, block, page; in onenand_get_2x_blockpage() local
851 block = (int) (addr >> this->erase_shift) & ~1; in onenand_get_2x_blockpage()
854 block++; in onenand_get_2x_blockpage()
856 blockpage = (block << 7) | page; in onenand_get_2x_blockpage()
895 int block = onenand_block(this, addr); in onenand_check_bufferram() local
896 int value = onenand_bufferram_address(this, block); in onenand_check_bufferram()
2577 int block; in onenand_default_block_markbad() local
2580 block = onenand_block(this, ofs); in onenand_default_block_markbad()
2582 bbm->bbt[block >> 2] |= 0x01 << ((block & 0x03) << 1); in onenand_default_block_markbad()
2631 int start, end, block, value, status; in onenand_do_lock_cmd() local
2669 for (block = start; block < end + 1; block++) { in onenand_do_lock_cmd()
2671 value = onenand_block_address(this, block); in onenand_do_lock_cmd()
2674 value = onenand_bufferram_address(this, block); in onenand_do_lock_cmd()
2677 this->write_word(block, this->base + ONENAND_REG_START_BLOCK_ADDRESS); in onenand_do_lock_cmd()
2693 __func__, block, status); in onenand_do_lock_cmd()
2743 unsigned int value, block, status; in onenand_check_lock_status() local
2747 for (block = 0; block < end; block++) { in onenand_check_lock_status()
2749 value = onenand_block_address(this, block); in onenand_check_lock_status()
2752 value = onenand_bufferram_address(this, block); in onenand_check_lock_status()
2755 this->write_word(block, this->base + ONENAND_REG_START_BLOCK_ADDRESS); in onenand_check_lock_status()
2761 __func__, block, status); in onenand_check_lock_status()
2827 int value, block, page; in onenand_otp_command() local
2832 block = (int) (addr >> this->erase_shift); in onenand_otp_command()
2837 block = (int) (addr >> this->erase_shift); in onenand_otp_command()
2842 block &= ~1; in onenand_otp_command()
2845 block++; in onenand_otp_command()
2852 if (block != -1) { in onenand_otp_command()
2854 value = onenand_block_address(this, block); in onenand_otp_command()
2910 int block, value, status; in onenand_otp_write_oob_nolock() local
2929 block = (int) (to >> this->erase_shift); in onenand_otp_write_oob_nolock()
2935 value = onenand_block_address(this, block); in onenand_otp_write_oob_nolock()
2944 value = onenand_bufferram_address(this, block); in onenand_otp_write_oob_nolock()
3638 int block; in flexonenand_check_blocks_erased() local
3650 for (block = start; block <= end; block++) { in flexonenand_check_blocks_erased()
3651 addr = flexonenand_addr(this, block); in flexonenand_check_blocks_erased()
3669 __func__, block); in flexonenand_check_blocks_erased()