Lines Matching refs:lba
132 static int sm_get_lba(uint8_t *lba) in sm_get_lba() argument
135 if ((lba[0] & 0xF8) != 0x10) in sm_get_lba()
139 if (hweight16(*(uint16_t *)lba) & 1) in sm_get_lba()
142 return (lba[1] >> 1) | ((lba[0] & 0x07) << 7); in sm_get_lba()
157 int lba; in sm_read_lba() local
169 lba = sm_get_lba(oob->lba_copy1); in sm_read_lba()
171 if (lba == -2) in sm_read_lba()
172 lba = sm_get_lba(oob->lba_copy2); in sm_read_lba()
174 return lba; in sm_read_lba()
177 static void sm_write_lba(struct sm_oob *oob, uint16_t lba) in sm_write_lba() argument
181 WARN_ON(lba >= 1000); in sm_write_lba()
183 tmp[0] = 0x10 | ((lba >> 7) & 0x07); in sm_write_lba()
184 tmp[1] = (lba << 1) & 0xFF; in sm_write_lba()
366 int zone, int block, int lba, in sm_write_block() argument
375 sm_write_lba(&oob, lba); in sm_write_block()
389 boffset / SM_SECTOR_SIZE, lba, zone); in sm_write_block()
763 int lba; in sm_init_zone() local
812 lba = sm_read_lba(&oob); in sm_init_zone()
817 if (lba == -2 || lba >= ftl->max_lba) { in sm_init_zone()
818 dbg("PH %04d <-> LBA %04d(bad)", block, lba); in sm_init_zone()
825 if (zone->lba_to_phys_table[lba] < 0) { in sm_init_zone()
826 dbg_verbose("PH %04d <-> LBA %04d", block, lba); in sm_init_zone()
827 zone->lba_to_phys_table[lba] = block; in sm_init_zone()
833 lba, zone->lba_to_phys_table[lba], block, zone_num); in sm_init_zone()
841 zone->lba_to_phys_table[lba])) { in sm_init_zone()
842 zone->lba_to_phys_table[lba] = block; in sm_init_zone()