Lines Matching refs:info

91 	info->sense_data[2] = sk;	\
92 info->sense_data[12] = asc; \
93 info->sense_data[13] = ascq; \
123 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_bulk_transport() local
129 info->last_access = jiffies; in sddr55_bulk_transport()
142 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_status() local
164 kfree(info->lba_to_pba); in sddr55_status()
165 kfree(info->pba_to_lba); in sddr55_status()
166 info->lba_to_pba = NULL; in sddr55_status()
167 info->pba_to_lba = NULL; in sddr55_status()
169 info->fatal_error = 0; in sddr55_status()
170 info->force_read_only = 0; in sddr55_status()
182 info->read_only = (status[0] & 0x20); in sddr55_status()
205 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_read_data() local
219 len = min((unsigned int) sectors, (unsigned int) info->blocksize >> in sddr55_read_data()
220 info->smallpageshift) * PAGESIZE; in sddr55_read_data()
230 if (lba >= info->max_log_blks) in sddr55_read_data()
233 pba = info->lba_to_pba[lba]; in sddr55_read_data()
237 pages = min((unsigned int) sectors << info->smallpageshift, in sddr55_read_data()
238 info->blocksize - page); in sddr55_read_data()
239 len = pages << info->pageshift; in sddr55_read_data()
249 address = (pba << info->blockshift) + page; in sddr55_read_data()
258 command[6] = LSB_of(pages << (1 - info->smallpageshift)); in sddr55_read_data()
305 sectors -= pages >> info->smallpageshift; in sddr55_read_data()
324 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_write_data() local
337 if (info->read_only || info->force_read_only) { in sddr55_write_data()
346 len = min((unsigned int) sectors, (unsigned int) info->blocksize >> in sddr55_write_data()
347 info->smallpageshift) * PAGESIZE; in sddr55_write_data()
357 if (lba >= info->max_log_blks) in sddr55_write_data()
360 pba = info->lba_to_pba[lba]; in sddr55_write_data()
364 pages = min((unsigned int) sectors << info->smallpageshift, in sddr55_write_data()
365 info->blocksize - page); in sddr55_write_data()
366 len = pages << info->pageshift; in sddr55_write_data()
380 int max_pba = (info->max_log_blks / 250 ) * 256; in sddr55_write_data()
399 if (info->pba_to_lba[pba] == UNUSED_BLOCK) { in sddr55_write_data()
424 address = (pba << info->blockshift) + page; in sddr55_write_data()
434 command[4] |= LSB_of(pages >> info->smallpageshift); in sddr55_write_data()
480 >> info->blockshift; in sddr55_write_data()
484 info->pba_to_lba[new_pba] = BAD_BLOCK; in sddr55_write_data()
495 info->lba_to_pba[lba] = new_pba; in sddr55_write_data()
496 info->pba_to_lba[pba] = UNUSED_BLOCK; in sddr55_write_data()
499 if (info->pba_to_lba[new_pba] != UNUSED_BLOCK) { in sddr55_write_data()
501 new_pba, info->pba_to_lba[new_pba]); in sddr55_write_data()
502 info->fatal_error = 1; in sddr55_write_data()
509 info->pba_to_lba[new_pba] = lba % 1000; in sddr55_write_data()
513 sectors -= pages >> info->smallpageshift; in sddr55_write_data()
570 struct sddr55_card_info *info = (struct sddr55_card_info *)us->extra; in sddr55_get_capacity() local
586 info->pageshift = 9; in sddr55_get_capacity()
587 info->smallpageshift = 0; in sddr55_get_capacity()
588 info->blocksize = 16; in sddr55_get_capacity()
589 info->blockshift = 4; in sddr55_get_capacity()
590 info->blockmask = 15; in sddr55_get_capacity()
597 info->pageshift = 8; in sddr55_get_capacity()
598 info->smallpageshift = 1; in sddr55_get_capacity()
603 info->pageshift = 8; in sddr55_get_capacity()
604 info->smallpageshift = 1; in sddr55_get_capacity()
619 info->blocksize = 32; in sddr55_get_capacity()
620 info->blockshift = 5; in sddr55_get_capacity()
621 info->blockmask = 31; in sddr55_get_capacity()
625 info->blocksize = 32; in sddr55_get_capacity()
626 info->blockshift = 5; in sddr55_get_capacity()
627 info->blockmask = 31; in sddr55_get_capacity()
631 info->blocksize = 32; in sddr55_get_capacity()
632 info->blockshift = 5; in sddr55_get_capacity()
633 info->blockmask = 31; in sddr55_get_capacity()
637 info->blocksize = 32; in sddr55_get_capacity()
638 info->blockshift = 5; in sddr55_get_capacity()
639 info->blockmask = 31; in sddr55_get_capacity()
650 struct sddr55_card_info *info = (struct sddr55_card_info *)(us->extra); in sddr55_read_map() local
659 if (!info->capacity) in sddr55_read_map()
662 numblocks = info->capacity >> (info->blockshift + info->pageshift); in sddr55_read_map()
695 kfree(info->lba_to_pba); in sddr55_read_map()
696 kfree(info->pba_to_lba); in sddr55_read_map()
697 info->lba_to_pba = kmalloc(numblocks*sizeof(int), GFP_NOIO); in sddr55_read_map()
698 info->pba_to_lba = kmalloc(numblocks*sizeof(int), GFP_NOIO); in sddr55_read_map()
700 if (info->lba_to_pba == NULL || info->pba_to_lba == NULL) { in sddr55_read_map()
701 kfree(info->lba_to_pba); in sddr55_read_map()
702 kfree(info->pba_to_lba); in sddr55_read_map()
703 info->lba_to_pba = NULL; in sddr55_read_map()
704 info->pba_to_lba = NULL; in sddr55_read_map()
709 memset(info->lba_to_pba, 0xff, numblocks*sizeof(int)); in sddr55_read_map()
710 memset(info->pba_to_lba, 0xff, numblocks*sizeof(int)); in sddr55_read_map()
713 max_lba = info->max_log_blks; in sddr55_read_map()
741 info->pba_to_lba[i] = lba; in sddr55_read_map()
747 if (info->lba_to_pba[lba + zone * 1000] != NOT_ALLOCATED && in sddr55_read_map()
748 !info->force_read_only) { in sddr55_read_map()
752 info->force_read_only = 1; in sddr55_read_map()
758 info->lba_to_pba[lba + zone * 1000] = i; in sddr55_read_map()
767 struct sddr55_card_info *info = (struct sddr55_card_info *)extra; in sddr55_card_info_destructor() local
772 kfree(info->lba_to_pba); in sddr55_card_info_destructor()
773 kfree(info->pba_to_lba); in sddr55_card_info_destructor()
798 struct sddr55_card_info *info; in sddr55_transport() local
808 info = (struct sddr55_card_info *)(us->extra); in sddr55_transport()
812 info->sense_data[2], in sddr55_transport()
813 info->sense_data[12], in sddr55_transport()
814 info->sense_data[13]); in sddr55_transport()
816 memcpy (ptr, info->sense_data, sizeof info->sense_data); in sddr55_transport()
819 usb_stor_set_xfer_buf (ptr, sizeof info->sense_data, srb); in sddr55_transport()
820 memset (info->sense_data, 0, sizeof info->sense_data); in sddr55_transport()
825 memset (info->sense_data, 0, sizeof info->sense_data); in sddr55_transport()
839 if (info->lba_to_pba == NULL || time_after(jiffies, info->last_access + HZ/2)) { in sddr55_transport()
854 if (info->fatal_error) { in sddr55_transport()
869 info->capacity = capacity; in sddr55_transport()
873 info->max_log_blks = ((info->capacity >> (info->pageshift + info->blockshift)) / 256) * 250; in sddr55_transport()
894 ptr[3] = (info->read_only || info->force_read_only) ? 0x80 : 0; in sddr55_transport()
926 page <<= info->smallpageshift; in sddr55_transport()
930 lba = page >> info->blockshift; in sddr55_transport()
931 page = page & info->blockmask; in sddr55_transport()
935 if (lba >= info->max_log_blks) { in sddr55_transport()
938 lba, info->max_log_blks - 1); in sddr55_transport()
945 pba = info->lba_to_pba[lba]; in sddr55_transport()