Lines Matching defs:scsi_device
77 struct scsi_device { struct
78 struct Scsi_Host *host;
79 struct request_queue *request_queue;
82 struct list_head siblings; /* list of all devices on this host */
83 struct list_head same_target_siblings; /* just the devices sharing same target id */
85 atomic_t device_busy; /* commands actually active on LLDD */
86 atomic_t device_blocked; /* Device returned QUEUE_FULL. */
88 spinlock_t list_lock;
89 struct list_head cmd_list; /* queue of in use SCSI Command structures */
90 struct list_head starved_entry;
91 struct scsi_cmnd *current_cmnd; /* currently active command */
92 unsigned short queue_depth; /* How deep of a queue we want */
93 unsigned short max_queue_depth; /* max queue depth */
94 unsigned short last_queue_full_depth; /* These two are used by */
95 unsigned short last_queue_full_count; /* scsi_track_queue_full() */
96 unsigned long last_queue_full_time; /* last queue full time */
97 unsigned long queue_ramp_up_period; /* ramp up period in jiffies */
100 unsigned long last_queue_ramp_up; /* last queue ramp up time */
102 unsigned int id, channel;
103 u64 lun;
104 unsigned int manufacturer; /* Manufacturer of device, for using
106 unsigned sector_size; /* size in bytes */
108 void *hostdata; /* available to low-level driver */
109 char type;
110 char scsi_level;
111 char inq_periph_qual; /* PQ from INQUIRY data */
112 unsigned char inquiry_len; /* valid bytes in 'inquiry' */
113 unsigned char * inquiry; /* INQUIRY response data */
114 const char * vendor; /* [back_compat] point into 'inquiry' ... */
115 const char * model; /* ... after scan; point to static string */
116 const char * rev; /* ... "nullnullnullnull" before scan */
119 int vpd_pg83_len;
120 unsigned char *vpd_pg83;
121 int vpd_pg80_len;
122 unsigned char *vpd_pg80;
123 unsigned char current_tag; /* current tag */
124 struct scsi_target *sdev_target; /* used only for single_lun */
126 unsigned int sdev_bflags; /* black/white flags as also found in
130 unsigned int eh_timeout; /* Error handling timeout */
131 unsigned removable:1;
132 unsigned changed:1; /* Data invalid due to media change */
133 unsigned busy:1; /* Used to prevent races */
134 unsigned lockable:1; /* Able to prevent media removal */
135 unsigned locked:1; /* Media removal disabled */
136 unsigned borken:1; /* Tell the Seagate driver to be
138 unsigned disconnect:1; /* can disconnect */
139 unsigned soft_reset:1; /* Uses soft reset option */
140 unsigned sdtr:1; /* Device supports SDTR messages */
141 unsigned wdtr:1; /* Device supports WDTR messages */
142 unsigned ppr:1; /* Device supports PPR messages */
143 unsigned tagged_supported:1; /* Supports SCSI-II tagged queuing */
144 unsigned simple_tags:1; /* simple queue tag messages are enabled */
145 unsigned was_reset:1; /* There was a bus reset on the bus for
147 unsigned expecting_cc_ua:1; /* Expecting a CHECK_CONDITION/UNIT_ATTN
149 unsigned use_10_for_rw:1; /* first try 10-byte read / write */
150 unsigned use_10_for_ms:1; /* first try 10-byte mode sense/select */
151 unsigned no_report_opcodes:1; /* no REPORT SUPPORTED OPERATION CODES */
152 unsigned no_write_same:1; /* no WRITE SAME command */
153 unsigned use_16_for_rw:1; /* Use read/write(16) over read/write(10) */
154 unsigned skip_ms_page_8:1; /* do not use MODE SENSE page 0x08 */
155 unsigned skip_ms_page_3f:1; /* do not use MODE SENSE page 0x3f */
156 unsigned skip_vpd_pages:1; /* do not read VPD pages */
157 unsigned try_vpd_pages:1; /* attempt to read VPD pages */
158 unsigned use_192_bytes_for_3f:1; /* ask for 192 bytes from page 0x3f */
159 unsigned no_start_on_add:1; /* do not issue start on add */
160 unsigned allow_restart:1; /* issue START_UNIT in error handler */
161 unsigned manage_start_stop:1; /* Let HLD (sd) manage start/stop */
162 unsigned start_stop_pwr_cond:1; /* Set power cond. in START_STOP_UNIT */
163 unsigned no_uld_attach:1; /* disable connecting to upper level drivers */
164 unsigned select_no_atn:1;
165 unsigned fix_capacity:1; /* READ_CAPACITY is too high by 1 */
166 unsigned guess_capacity:1; /* READ_CAPACITY might be too high by 1 */
167 unsigned retry_hwerror:1; /* Retry HARDWARE_ERROR */
168 unsigned last_sector_bug:1; /* do not use multisector accesses on
170 unsigned no_read_disc_info:1; /* Avoid READ_DISC_INFO cmds */
171 unsigned no_read_capacity_16:1; /* Avoid READ_CAPACITY_16 cmds */
172 unsigned try_rc_10_first:1; /* Try READ_CAPACACITY_10 first */
173 unsigned is_visible:1; /* is the device visible in sysfs */
174 unsigned wce_default_on:1; /* Cache is ON by default */
175 unsigned no_dif:1; /* T10 PI (DIF) should be disabled */
199 struct scsi_device_handler *handler; argument
202 enum scsi_device_state sdev_state; argument
207 container_of(d, struct scsi_device, sdev_gendev) argument