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