Lines Matching refs:info
88 info->sense_data[2] = sk; \
89 info->sense_data[12] = asc; \
90 info->sense_data[13] = ascq; \
120 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_bulk_transport() local
126 info->last_access = jiffies; in sddr55_bulk_transport()
139 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_status() local
161 kfree(info->lba_to_pba); in sddr55_status()
162 kfree(info->pba_to_lba); in sddr55_status()
163 info->lba_to_pba = NULL; in sddr55_status()
164 info->pba_to_lba = NULL; in sddr55_status()
166 info->fatal_error = 0; in sddr55_status()
167 info->force_read_only = 0; in sddr55_status()
179 info->read_only = (status[0] & 0x20); in sddr55_status()
202 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_read_data() local
216 len = min((unsigned int) sectors, (unsigned int) info->blocksize >> in sddr55_read_data()
217 info->smallpageshift) * PAGESIZE; in sddr55_read_data()
227 if (lba >= info->max_log_blks) in sddr55_read_data()
230 pba = info->lba_to_pba[lba]; in sddr55_read_data()
234 pages = min((unsigned int) sectors << info->smallpageshift, in sddr55_read_data()
235 info->blocksize - page); in sddr55_read_data()
236 len = pages << info->pageshift; in sddr55_read_data()
246 address = (pba << info->blockshift) + page; in sddr55_read_data()
255 command[6] = LSB_of(pages << (1 - info->smallpageshift)); in sddr55_read_data()
302 sectors -= pages >> info->smallpageshift; in sddr55_read_data()
321 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_write_data() local
334 if (info->read_only || info->force_read_only) { in sddr55_write_data()
343 len = min((unsigned int) sectors, (unsigned int) info->blocksize >> in sddr55_write_data()
344 info->smallpageshift) * PAGESIZE; in sddr55_write_data()
354 if (lba >= info->max_log_blks) in sddr55_write_data()
357 pba = info->lba_to_pba[lba]; in sddr55_write_data()
361 pages = min((unsigned int) sectors << info->smallpageshift, in sddr55_write_data()
362 info->blocksize - page); in sddr55_write_data()
363 len = pages << info->pageshift; in sddr55_write_data()
377 int max_pba = (info->max_log_blks / 250 ) * 256; in sddr55_write_data()
396 if (info->pba_to_lba[pba] == UNUSED_BLOCK) { in sddr55_write_data()
421 address = (pba << info->blockshift) + page; in sddr55_write_data()
431 command[4] |= LSB_of(pages >> info->smallpageshift); in sddr55_write_data()
477 >> info->blockshift; in sddr55_write_data()
481 info->pba_to_lba[new_pba] = BAD_BLOCK; in sddr55_write_data()
492 info->lba_to_pba[lba] = new_pba; in sddr55_write_data()
493 info->pba_to_lba[pba] = UNUSED_BLOCK; in sddr55_write_data()
496 if (info->pba_to_lba[new_pba] != UNUSED_BLOCK) { in sddr55_write_data()
498 new_pba, info->pba_to_lba[new_pba]); in sddr55_write_data()
499 info->fatal_error = 1; in sddr55_write_data()
506 info->pba_to_lba[new_pba] = lba % 1000; in sddr55_write_data()
510 sectors -= pages >> info->smallpageshift; in sddr55_write_data()
567 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_get_capacity() local
583 info->pageshift = 9; in sddr55_get_capacity()
584 info->smallpageshift = 0; in sddr55_get_capacity()
585 info->blocksize = 16; in sddr55_get_capacity()
586 info->blockshift = 4; in sddr55_get_capacity()
587 info->blockmask = 15; in sddr55_get_capacity()
594 info->pageshift = 8; in sddr55_get_capacity()
595 info->smallpageshift = 1; in sddr55_get_capacity()
600 info->pageshift = 8; in sddr55_get_capacity()
601 info->smallpageshift = 1; in sddr55_get_capacity()
616 info->blocksize = 32; in sddr55_get_capacity()
617 info->blockshift = 5; in sddr55_get_capacity()
618 info->blockmask = 31; in sddr55_get_capacity()
622 info->blocksize = 32; in sddr55_get_capacity()
623 info->blockshift = 5; in sddr55_get_capacity()
624 info->blockmask = 31; in sddr55_get_capacity()
628 info->blocksize = 32; in sddr55_get_capacity()
629 info->blockshift = 5; in sddr55_get_capacity()
630 info->blockmask = 31; in sddr55_get_capacity()
634 info->blocksize = 32; in sddr55_get_capacity()
635 info->blockshift = 5; in sddr55_get_capacity()
636 info->blockmask = 31; in sddr55_get_capacity()
647 struct sddr55_card_info *info = (struct sddr55_card_info *)(us->extra); in sddr55_read_map() local
656 if (!info->capacity) in sddr55_read_map()
659 numblocks = info->capacity >> (info->blockshift + info->pageshift); in sddr55_read_map()
692 kfree(info->lba_to_pba); in sddr55_read_map()
693 kfree(info->pba_to_lba); in sddr55_read_map()
694 info->lba_to_pba = kmalloc(numblocks*sizeof(int), GFP_NOIO); in sddr55_read_map()
695 info->pba_to_lba = kmalloc(numblocks*sizeof(int), GFP_NOIO); in sddr55_read_map()
697 if (info->lba_to_pba == NULL || info->pba_to_lba == NULL) { in sddr55_read_map()
698 kfree(info->lba_to_pba); in sddr55_read_map()
699 kfree(info->pba_to_lba); in sddr55_read_map()
700 info->lba_to_pba = NULL; in sddr55_read_map()
701 info->pba_to_lba = NULL; in sddr55_read_map()
706 memset(info->lba_to_pba, 0xff, numblocks*sizeof(int)); in sddr55_read_map()
707 memset(info->pba_to_lba, 0xff, numblocks*sizeof(int)); in sddr55_read_map()
710 max_lba = info->max_log_blks; in sddr55_read_map()
738 info->pba_to_lba[i] = lba; in sddr55_read_map()
744 if (info->lba_to_pba[lba + zone * 1000] != NOT_ALLOCATED && in sddr55_read_map()
745 !info->force_read_only) { in sddr55_read_map()
749 info->force_read_only = 1; in sddr55_read_map()
755 info->lba_to_pba[lba + zone * 1000] = i; in sddr55_read_map()
764 struct sddr55_card_info *info = (struct sddr55_card_info *)extra; in sddr55_card_info_destructor() local
769 kfree(info->lba_to_pba); in sddr55_card_info_destructor()
770 kfree(info->pba_to_lba); in sddr55_card_info_destructor()
795 struct sddr55_card_info *info; in sddr55_transport() local
805 info = (struct sddr55_card_info *)(us->extra); in sddr55_transport()
809 info->sense_data[2], in sddr55_transport()
810 info->sense_data[12], in sddr55_transport()
811 info->sense_data[13]); in sddr55_transport()
813 memcpy (ptr, info->sense_data, sizeof info->sense_data); in sddr55_transport()
816 usb_stor_set_xfer_buf (ptr, sizeof info->sense_data, srb); in sddr55_transport()
817 memset (info->sense_data, 0, sizeof info->sense_data); in sddr55_transport()
822 memset (info->sense_data, 0, sizeof info->sense_data); in sddr55_transport()
836 if (info->lba_to_pba == NULL || time_after(jiffies, info->last_access + HZ/2)) { in sddr55_transport()
851 if (info->fatal_error) { in sddr55_transport()
866 info->capacity = capacity; in sddr55_transport()
870 info->max_log_blks = ((info->capacity >> (info->pageshift + info->blockshift)) / 256) * 250; in sddr55_transport()
891 ptr[3] = (info->read_only || info->force_read_only) ? 0x80 : 0; in sddr55_transport()
923 page <<= info->smallpageshift; in sddr55_transport()
927 lba = page >> info->blockshift; in sddr55_transport()
928 page = page & info->blockmask; in sddr55_transport()
932 if (lba >= info->max_log_blks) { in sddr55_transport()
935 lba, info->max_log_blks - 1); in sddr55_transport()
942 pba = info->lba_to_pba[lba]; in sddr55_transport()