Lines Matching refs:pba

129 #define PBA_LO(pba) ((pba & 0xF) << 5)  argument
130 #define PBA_HI(pba) (pba >> 3) argument
131 #define PBA_ZONE(pba) (pba >> 11) argument
532 static int alauda_get_redu_data(struct us_data *us, u16 pba, unsigned char *data) in alauda_get_redu_data() argument
537 PBA_HI(pba), PBA_ZONE(pba), 0, PBA_LO(pba), 0, 0, MEDIA_PORT(us) in alauda_get_redu_data()
704 static int alauda_erase_block(struct us_data *us, u16 pba) in alauda_erase_block() argument
708 ALAUDA_BULK_CMD, ALAUDA_BULK_ERASE_BLOCK, PBA_HI(pba), in alauda_erase_block()
709 PBA_ZONE(pba), 0, PBA_LO(pba), 0x02, 0, MEDIA_PORT(us) in alauda_erase_block()
713 usb_stor_dbg(us, "Erasing PBA %d\n", pba); in alauda_erase_block()
733 static int alauda_read_block_raw(struct us_data *us, u16 pba, in alauda_read_block_raw() argument
738 ALAUDA_BULK_CMD, ALAUDA_BULK_READ_BLOCK, PBA_HI(pba), in alauda_read_block_raw()
739 PBA_ZONE(pba), 0, PBA_LO(pba) + page, pages, 0, MEDIA_PORT(us) in alauda_read_block_raw()
742 usb_stor_dbg(us, "pba %d page %d count %d\n", pba, page, pages); in alauda_read_block_raw()
759 static int alauda_read_block(struct us_data *us, u16 pba, in alauda_read_block() argument
765 rc = alauda_read_block_raw(us, pba, page, pages, data); in alauda_read_block()
784 static int alauda_write_block(struct us_data *us, u16 pba, unsigned char *data) in alauda_write_block() argument
789 ALAUDA_BULK_CMD, ALAUDA_BULK_WRITE_BLOCK, PBA_HI(pba), in alauda_write_block()
790 PBA_ZONE(pba), 0, PBA_LO(pba), 32, 0, MEDIA_PORT(us) in alauda_write_block()
793 usb_stor_dbg(us, "pba %d\n", pba); in alauda_write_block()
816 u16 pba, lbap, new_pba; in alauda_write_lba() local
830 pba = MEDIA_INFO(us).lba_to_pba[zone][lba_offset]; in alauda_write_lba()
831 if (pba == 1) { in alauda_write_lba()
847 if (pba != UNDEF) { in alauda_write_lba()
848 result = alauda_read_block_raw(us, pba, 0, in alauda_write_lba()
867 i, pba); in alauda_write_lba()
873 i, pba); in alauda_write_lba()
902 if (pba != UNDEF) { in alauda_write_lba()
903 unsigned int pba_offset = pba - (zone * zonesize); in alauda_write_lba()
904 result = alauda_erase_block(us, pba); in alauda_write_lba()
958 u16 pba; in alauda_read_data() local
974 pba = MEDIA_INFO(us).lba_to_pba[zone][lba_offset]; in alauda_read_data()
976 if (pba == UNDEF) { /* this lba was never written */ in alauda_read_data()
988 pages, pba, lba, page); in alauda_read_data()
990 result = alauda_read_block(us, pba, page, pages, buffer); in alauda_read_data()