Lines Matching defs:lba
135 static int sm_get_lba(uint8_t *lba)
138 if ((lba[0] & 0xF8) != 0x10)
142 if (hweight16(*(uint16_t *)lba) & 1)
145 return (lba[1] >> 1) | ((lba[0] & 0x07) << 7);
160 int lba;
172 lba = sm_get_lba(oob->lba_copy1);
174 if (lba == -2)
175 lba = sm_get_lba(oob->lba_copy2);
177 return lba;
180 static void sm_write_lba(struct sm_oob *oob, uint16_t lba)
184 WARN_ON(lba >= 1000);
186 tmp[0] = 0x10 | ((lba >> 7) & 0x07);
187 tmp[1] = (lba << 1) & 0xFF;
368 /* Write a block using data and lba, and invalid sector bitmap */
370 int zone, int block, int lba,
379 sm_write_lba(&oob, lba);
393 boffset / SM_SECTOR_SIZE, lba, zone);
767 int lba;
816 lba = sm_read_lba(&oob);
821 if (lba == -2 || lba >= ftl->max_lba) {
822 dbg("PH %04d <-> LBA %04d(bad)", block, lba);
829 if (zone->lba_to_phys_table[lba] < 0) {
830 dbg_verbose("PH %04d <-> LBA %04d", block, lba);
831 zone->lba_to_phys_table[lba] = block;
837 lba, zone->lba_to_phys_table[lba], block, zone_num);
845 zone->lba_to_phys_table[lba])) {
846 zone->lba_to_phys_table[lba] = block;