Lines Matching defs:scsi_device
103 struct scsi_device { struct
104 struct Scsi_Host *host;
105 struct request_queue *request_queue;
108 struct list_head siblings; /* list of all devices on this host */
109 struct list_head same_target_siblings; /* just the devices sharing same target id */
111 struct sbitmap budget_map;
112 atomic_t device_blocked; /* Device returned QUEUE_FULL. */
114 atomic_t restarts;
115 spinlock_t list_lock;
116 struct list_head starved_entry;
117 unsigned short queue_depth; /* How deep of a queue we want */
118 unsigned short max_queue_depth; /* max queue depth */
119 unsigned short last_queue_full_depth; /* These two are used by */
120 unsigned short last_queue_full_count; /* scsi_track_queue_full() */
121 unsigned long last_queue_full_time; /* last queue full time */
122 unsigned long queue_ramp_up_period; /* ramp up period in jiffies */
125 unsigned long last_queue_ramp_up; /* last queue ramp up time */
127 unsigned int id, channel;
128 u64 lun;
129 unsigned int manufacturer; /* Manufacturer of device, for using
131 unsigned sector_size; /* size in bytes */
133 void *hostdata; /* available to low-level driver */
134 unsigned char type;
135 char scsi_level;
136 char inq_periph_qual; /* PQ from INQUIRY data */
137 struct mutex inquiry_mutex;
138 unsigned char inquiry_len; /* valid bytes in 'inquiry' */
139 unsigned char * inquiry; /* INQUIRY response data */
140 const char * vendor; /* [back_compat] point into 'inquiry' ... */
141 const char * model; /* ... after scan; point to static string */
142 const char * rev; /* ... "nullnullnullnull" before scan */
145 struct scsi_vpd __rcu *vpd_pg0;
146 struct scsi_vpd __rcu *vpd_pg83;
147 struct scsi_vpd __rcu *vpd_pg80;
148 struct scsi_vpd __rcu *vpd_pg89;
149 struct scsi_vpd __rcu *vpd_pgb0;
150 struct scsi_vpd __rcu *vpd_pgb1;
151 struct scsi_vpd __rcu *vpd_pgb2;
152 struct scsi_vpd __rcu *vpd_pgb7;
154 struct scsi_target *sdev_target;
156 blist_flags_t sdev_bflags; /* black/white flags as also found in
160 unsigned int eh_timeout; /* Error handling timeout */
167 unsigned manage_system_start_stop:1;
173 unsigned manage_runtime_start_stop:1;
179 unsigned manage_shutdown:1;
185 unsigned force_runtime_start_on_system_start:1;
187 unsigned removable:1;
188 unsigned changed:1; /* Data invalid due to media change */
189 unsigned busy:1; /* Used to prevent races */
190 unsigned lockable:1; /* Able to prevent media removal */
191 unsigned locked:1; /* Media removal disabled */
192 unsigned borken:1; /* Tell the Seagate driver to be
194 unsigned disconnect:1; /* can disconnect */
195 unsigned soft_reset:1; /* Uses soft reset option */
196 unsigned sdtr:1; /* Device supports SDTR messages */
197 unsigned wdtr:1; /* Device supports WDTR messages */
198 unsigned ppr:1; /* Device supports PPR messages */
199 unsigned tagged_supported:1; /* Supports SCSI-II tagged queuing */
200 unsigned simple_tags:1; /* simple queue tag messages are enabled */
201 unsigned was_reset:1; /* There was a bus reset on the bus for
203 unsigned expecting_cc_ua:1; /* Expecting a CHECK_CONDITION/UNIT_ATTN
205 unsigned use_10_for_rw:1; /* first try 10-byte read / write */
206 unsigned use_10_for_ms:1; /* first try 10-byte mode sense/select */
207 unsigned set_dbd_for_ms:1; /* Set "DBD" field in mode sense */
208 unsigned read_before_ms:1; /* perform a READ before MODE SENSE */
209 unsigned no_report_opcodes:1; /* no REPORT SUPPORTED OPERATION CODES */
210 unsigned no_write_same:1; /* no WRITE SAME command */
211 unsigned use_16_for_rw:1; /* Use read/write(16) over read/write(10) */
212 unsigned use_16_for_sync:1; /* Use sync (16) over sync (10) */
213 unsigned skip_ms_page_8:1; /* do not use MODE SENSE page 0x08 */
214 unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
215 unsigned skip_vpd_pages:1; /* do not read VPD pages */
216 unsigned try_vpd_pages:1; /* attempt to read VPD pages */
217 unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */
218 unsigned no_start_on_add:1; /* do not issue start on add */
219 unsigned allow_restart:1; /* issue START_UNIT in error handler */
220 unsigned start_stop_pwr_cond:1; /* Set power cond. in START_STOP_UNIT */
221 unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
222 unsigned select_no_atn:1;
223 unsigned fix_capacity:1; /* READ_CAPACITY is too high by 1 */
224 unsigned guess_capacity:1; /* READ_CAPACITY might be too high by 1 */
225 unsigned retry_hwerror:1; /* Retry HARDWARE_ERROR */
226 unsigned last_sector_bug:1; /* do not use multisector accesses on
228 unsigned no_read_disc_info:1; /* Avoid READ_DISC_INFO cmds */
229 unsigned no_read_capacity_16:1; /* Avoid READ_CAPACITY_16 cmds */
230 unsigned try_rc_10_first:1; /* Try READ_CAPACACITY_10 first */
231 unsigned security_supported:1; /* Supports Security Protocols */
232 unsigned is_visible:1; /* is the device visible in sysfs */
233 unsigned wce_default_on:1; /* Cache is ON by default */
234 unsigned no_dif:1; /* T10 PI (DIF) should be disabled */
235 unsigned broken_fua:1; /* Don't set FUA bit */
236 unsigned lun_in_cdb:1; /* Store LUN bits in CDB[1] */
237 unsigned unmap_limit_for_ws:1; /* Use the UNMAP limit for WRITE SAME */
238 unsigned rpm_autosuspend:1; /* Enable runtime autosuspend at device
240 unsigned ignore_media_change:1; /* Ignore MEDIA CHANGE on resume */
241 unsigned silence_suspend:1; /* Do not print runtime PM related messages */
242 unsigned no_vpd_size:1; /* No VPD size reported in header */
244 unsigned cdl_supported:1; /* Command duration limits supported */
245 unsigned cdl_enable:1; /* Enable/disable Command duration limits */
270 struct scsi_device_handler *handler; argument
282 enum scsi_device_state sdev_state; argument
288 container_of(d, struct scsi_device, sdev_gendev) argument