Lines Matching refs:lba
753 unsigned int lba, maxlba, pba;
760 lba = address >> info->blockshift;
763 if (lba >= maxlba)
791 if (lba >= maxlba) {
792 US_DEBUGP("Error: Requested lba %u exceeds "
793 "maximum %u\n", lba, maxlba);
798 /* Find where this lba lives on disk */
799 pba = info->lba_to_pba[lba];
801 if (pba == UNDEF) { /* this lba was never written */
804 pages, lba, page);
816 pages, pba, lba, page);
832 lba++;
841 sddr09_find_unused_pba(struct sddr09_card_info *info, unsigned int lba) {
845 zonestart = (lba/1000) << 10;
867 sddr09_write_lba(struct us_data *us, unsigned int lba,
879 lbap = ((lba % 1000) << 1) | 0x1000;
882 pba = info->lba_to_pba[lba];
886 pba = sddr09_find_unused_pba(info, lba);
892 info->pba_to_lba[pba] = lba;
893 info->lba_to_pba[lba] = pba;
913 /* check old contents and fill lba */
946 US_DEBUGP("Rewrite PBA %d (LBA %d)\n", pba, lba);
980 unsigned int lba, maxlba, page, pages;
989 lba = address >> info->blockshift;
992 if (lba >= maxlba)
1033 if (lba >= maxlba) {
1034 US_DEBUGP("Error: Requested lba %u exceeds "
1035 "maximum %u\n", lba, maxlba);
1044 result = sddr09_write_lba(us, lba, page, pages,
1050 lba++;
1216 unsigned int lba, lbact;
1258 * Define lba-pba translation table
1331 lba = short_pack(ptr[7], ptr[6]);
1332 lba = (lba & 0x07FF) >> 1;
1343 if (lba >= 1000) {
1346 lba, i);
1350 lba += 1000*(i/0x400);
1352 if (info->lba_to_pba[lba] != UNDEF) {
1355 lba, info->lba_to_pba[lba], i);
1359 info->pba_to_lba[i] = lba;
1360 info->lba_to_pba[lba] = i;