Lines Matching refs:boffset
192 static loff_t sm_mkoffset(struct sm_ftl *ftl, int zone, int block, int boffset) in sm_mkoffset() argument
194 WARN_ON(boffset & (SM_SECTOR_SIZE - 1)); in sm_mkoffset()
197 WARN_ON(boffset >= ftl->block_size); in sm_mkoffset()
202 return (zone * SM_MAX_ZONE_SIZE + block) * ftl->block_size + boffset; in sm_mkoffset()
207 int *zone, int *block, int *boffset) in sm_break_offset() argument
210 *boffset = do_div(offset, ftl->block_size); in sm_break_offset()
239 int zone, int block, int boffset, in sm_read_sector() argument
270 if (zone == 0 && block == ftl->cis_block && boffset == in sm_read_sector()
281 ret = mtd_read_oob(mtd, sm_mkoffset(ftl, zone, block, boffset), &ops); in sm_read_sector()
322 int zone, int block, int boffset, in sm_write_sector() argument
346 ret = mtd_write_oob(mtd, sm_mkoffset(ftl, zone, block, boffset), &ops); in sm_write_sector()
373 int boffset; in sm_write_block() local
383 for (boffset = 0; boffset < ftl->block_size; in sm_write_block()
384 boffset += SM_SECTOR_SIZE) { in sm_write_block()
388 if (test_bit(boffset / SM_SECTOR_SIZE, &invalid_bitmap)) { in sm_write_block()
392 boffset / SM_SECTOR_SIZE, lba, zone); in sm_write_block()
398 __nand_calculate_ecc(buf + boffset, SM_SMALL_PAGE, in sm_write_block()
402 __nand_calculate_ecc(buf + boffset + SM_SMALL_PAGE, in sm_write_block()
406 if (!sm_write_sector(ftl, zone, block, boffset, in sm_write_block()
407 buf + boffset, &oob)) in sm_write_block()
436 int boffset; in sm_mark_block_bad() local
452 for (boffset = 0; boffset < ftl->block_size; boffset += SM_SECTOR_SIZE) in sm_mark_block_bad()
453 sm_write_sector(ftl, zone, block, boffset, NULL, &oob); in sm_mark_block_bad()
499 int boffset; in sm_check_block() local
509 for (boffset = 0; boffset < ftl->block_size; in sm_check_block()
510 boffset += SM_SECTOR_SIZE) { in sm_check_block()
513 if (sm_read_sector(ftl, zone, block, boffset, NULL, &oob)) in sm_check_block()
676 int block, boffset; in sm_find_cis() local
696 for (boffset = 0 ; boffset < ftl->block_size; in sm_find_cis()
697 boffset += SM_SECTOR_SIZE) { in sm_find_cis()
699 if (sm_read_sector(ftl, 0, block, boffset, NULL, &oob)) in sm_find_cis()
707 if (boffset == ftl->block_size) in sm_find_cis()
711 ftl->cis_boffset = boffset; in sm_find_cis()
724 boffset + ftl->cis_page_offset); in sm_find_cis()
899 static void sm_cache_put(struct sm_ftl *ftl, char *buffer, int boffset) in sm_cache_put() argument
901 memcpy(ftl->cache_data + boffset, buffer, SM_SECTOR_SIZE); in sm_cache_put()
902 clear_bit(boffset / SM_SECTOR_SIZE, &ftl->cache_data_invalid_bitmap); in sm_cache_put()
907 static int sm_cache_get(struct sm_ftl *ftl, char *buffer, int boffset) in sm_cache_get() argument
909 if (test_bit(boffset / SM_SECTOR_SIZE, in sm_cache_get()
913 memcpy(buffer, ftl->cache_data + boffset, SM_SECTOR_SIZE); in sm_cache_get()
1006 int zone_num, block, boffset; in sm_read() local
1008 sm_break_offset(ftl, sect_no << 9, &zone_num, &block, &boffset); in sm_read()
1021 if (!sm_cache_get(ftl, buf, boffset)) in sm_read()
1033 if (sm_read_sector(ftl, zone_num, block, boffset, buf, NULL)) { in sm_read()
1039 sm_cache_put(ftl, buf, boffset); in sm_read()
1051 int error = 0, zone_num, block, boffset; in sm_write() local
1054 sm_break_offset(ftl, sec_no << 9, &zone_num, &block, &boffset); in sm_write()
1077 sm_cache_put(ftl, buf, boffset); in sm_write()