Lines Matching refs:lba

196 		unsigned int lba,
228 if (lba >= info->max_log_blks)
231 pba = info->lba_to_pba[lba];
241 pages, pba, lba, page);
244 /* no pba for this lba, fill with zeroes */
303 lba++;
316 unsigned int lba,
356 if (lba >= info->max_log_blks)
359 pba = info->lba_to_pba[lba];
373 pages, pba, lba, page);
378 /* no pba allocated for this lba, find a free pba to use */
384 /* set pba to first block in zone lba is in */
385 pba = (lba / 1000) * 1024;
387 US_DEBUGP("No PBA for LBA %04X\n",lba);
417 US_DEBUGP("Allocating PBA %04X for LBA %04X\n", pba, lba);
429 /* set the lba into the command, modulo 1000 */
430 command[0] = LSB_of(lba % 1000);
431 command[6] = MSB_of(lba % 1000);
491 lba, pba, new_pba);
493 /* update the lba<->pba maps, note new_pba might be the same as pba */
494 info->lba_to_pba[lba] = new_pba;
507 /* update the pba<->lba maps for new_pba */
508 info->pba_to_lba[new_pba] = lba % 1000;
511 lba++;
655 unsigned short lba;
712 /* set maximum lba */
723 lba = short_pack(buffer[i * 2], buffer[i * 2 + 1]);
741 info->pba_to_lba[i] = lba;
743 if (lba >= max_lba) {
747 if (info->lba_to_pba[lba + zone * 1000] != NOT_ALLOCATED &&
751 lba + zone * 1000);
755 if (lba<0x10 || (lba>=0x3E0 && lba<0x3EF))
756 US_DEBUGP("LBA %04X <-> PBA %04X\n", lba, i);
758 info->lba_to_pba[lba + zone * 1000] = i;
794 unsigned int lba;
931 lba = page >> info->blockshift;
936 if (lba >= info->max_log_blks) {
939 "block %04X\n", lba, info->max_log_blks-1);
946 pba = info->lba_to_pba[lba];
951 pba, lba, page, pages);
953 return sddr55_write_data(us, lba, page, pages);
957 pba, lba, page, pages);
959 return sddr55_read_data(us, lba, page, pages);