Lines Matching defs:zone

89 	unsigned int uzonesize;		/* number of usable blocks per zone */
90 unsigned int zonesize; /* number of blocks per zone */
172 unsigned char zoneshift; /* 1<<zs blocks per zone */
545 * Finds the first unused PBA in a zone
549 unsigned int zone)
551 u16 *pba_to_lba = info->pba_to_lba[zone];
556 return (zone << info->zoneshift) + i;
562 * Reads the redundancy data for all PBA's in a zone
565 static int alauda_read_map(struct us_data *us, unsigned int zone)
573 unsigned int zone_base_lba = zone * uzonesize;
574 unsigned int zone_base_pba = zone * zonesize;
582 usb_stor_dbg(us, "Mapping blocks for zone %d\n", zone);
584 /* 1024 PBA's per zone */
645 * Every 1024 physical blocks ("zone"), the LBA numbers
647 * Also, there is a maximum of 1000 LBA's per zone.
650 * or special physical blocks per zone.
673 MEDIA_INFO(us).lba_to_pba[zone] = lba_to_pba;
674 MEDIA_INFO(us).pba_to_lba[zone] = pba_to_lba;
686 * Checks to see whether we have already mapped a certain zone
689 static void alauda_ensure_map_for_zone(struct us_data *us, unsigned int zone)
691 if (MEDIA_INFO(us).lba_to_pba[zone] == NULL
692 || MEDIA_INFO(us).pba_to_lba[zone] == NULL)
693 alauda_read_map(us, zone);
821 unsigned int zone = lba / uzonesize;
823 alauda_ensure_map_for_zone(us, zone);
825 pba = MEDIA_INFO(us).lba_to_pba[zone][lba_offset];
836 new_pba = alauda_find_unused_pba(&MEDIA_INFO(us), zone);
894 new_pba_offset = new_pba - (zone * zonesize);
895 MEDIA_INFO(us).pba_to_lba[zone][new_pba_offset] = lba;
896 MEDIA_INFO(us).lba_to_pba[zone][lba_offset] = new_pba;
900 unsigned int pba_offset = pba - (zone * zonesize);
904 MEDIA_INFO(us).pba_to_lba[zone][pba_offset] = UNDEF;
950 unsigned int zone = lba / uzonesize; /* integer division */
951 unsigned int lba_offset = lba - (zone * uzonesize);
954 alauda_ensure_map_for_zone(us, zone);
969 pba = MEDIA_INFO(us).lba_to_pba[zone][lba_offset];