Lines Matching refs:in

9 host bus adapter (HBA) drivers and host drivers (HD). A "host" in this
13 to "target" SCSI ports (e.g. disks). There can be many LLDs in a running
18 its own subsystem in Linux (e.g. USB and ieee1394). In such cases the
20 Examples are the usb-storage driver (found in the drivers/usb/storage
21 directory) and the ieee1394/sbp2 driver (found in the drivers/ieee1394
27 one aic7xxx LLD running in a Linux system but it may be controlling many
43 typically Documentation/scsi . Most documents are in plain
45 found in that directory. A more recent copy of this document may be found
48 briefly described in scsi.txt which contains a url to a document
49 describing the SCSI subsystem in the lk 2.4 series. Two upper level
50 drivers have documents in that directory: st.txt (SCSI tape driver) and
53 Some documentation (or urls) for LLDs may be found in the C source code
54 or in the same directory as the C source code. For example to find a url
60 Traditionally an LLD for the SCSI subsystem has been at least two files in
63 why this couldn't all be in one file; the header file is superfluous.] Some
69 When a new LLD is being added to Linux, the following files (found in the
76 available. The older one, similar to what was found in the lk 2.4 series,
84 initialization models are discussed in the following sections.
90 functions at some point in the future. The LLD will supply
95 Those functions in group a) are listed in a section entitled "Mid level
98 Those functions in group b) are listed in a section entitled "Interface
99 functions" below. Their function pointers are placed in the members of
102 wish to supply should have NULL placed in the corresponding member of
104 scsi_host_template at file scope will cause NULL to be placed in function
107 Those usages in group c) should be handled with care, especially in a
112 should be static. For example the slave_alloc() function in an LLD
117 named scsi_register() function in most situations. The scsi_register()
144 HBA PROBE: assume 2 SCSI devices found in scan
162 scsi_change_queue_depth() in its slave_configure() routine.
169 command) or in response to a "hot unplug" indicated by sysfs()'s
234 little surprising] in their source code. For that file to work an
236 needs to be defined. Here is a typical code sequence used in this model:
333 in parallel by these functions.
338 First, Linus Torvalds's thoughts on C coding style can be found in the
342 struct tags. Both can be still found in the SCSI subsystem, but
351 "//" style comments; /*...*/ comments are still preferred in Linux.
410 * Defined in: drivers/scsi/scsi_scan.c
426 * Notes: Only required in "hotplug initialization model" after a
429 * in some other transport-specific way. The LLD must set up
433 * Defined in: drivers/scsi/hosts.c
443 * in non-tagged mode (as per cmd_per_lun).
453 * Defined in: drivers/scsi/scsi.c [see source code for more notes]
469 * Defined in: drivers/scsi/scsicam.c
486 * Defined in: drivers/scsi/scsi_lib.c
495 * @privsize: extra bytes to allocate in hostdata array (which is the
507 * Full registration (in sysfs) and a bus scan are performed later when
510 * Defined in: drivers/scsi/hosts.c .
524 * Notes: Actually increments the counts in two sub-objects
526 * Defined in: drivers/scsi/hosts.c
539 * Notes: Actually decrements the counts in two sub-objects. If the
545 * Defined in: drivers/scsi/hosts.c
553 * @capacity: size of (total) disk in 512 byte sectors
564 * Defined in: drivers/scsi/scsicam.c
573 * @privsize: extra bytes to allocate in hostdata array (which is the
585 * Defined in: drivers/scsi/hosts.c .
605 * Defined in: drivers/scsi/scsi_sysfs.c .
622 * Defined in: drivers/scsi/hosts.c .
642 * Defined in: drivers/scsi/scsi_error.c .
655 * Defined in: drivers/scsi/scsi_scan.c
678 * Defined in: drivers/scsi/scsi.c .
692 * Defined in: drivers/scsi/scsi_lib.c .
707 * in the "passive initialization model". Hence a LLD has no need to
710 * Defined in: drivers/scsi/hosts.c .
720 pointers are placed in an instance of struct scsi_host_template which
728 A pointer to this function should be placed in the 'slave_configure' member
733 The interface functions are also described in the include/scsi/scsi_host.h
734 file immediately above their definition point in "struct scsi_host_template".
735 In some cases more detail is given in scsi_host.h than below.
737 The interface functions are listed below in alphabetical order.
761 * @sdev: pointer to scsi device context (defined in
763 * @bdev: pointer to block device context (defined in fs.h)
764 * @capacity: device size (in 512 byte sectors)
778 * pre-initialized with made up values just in case this function
781 * Optionally defined in: LLD
803 * Defined in: LLD (required if "passive initialization mode" is used,
804 * not invoked in "hotplug initialization mode")
830 * Optionally defined in: LLD
851 * Optionally defined in: LLD
869 * Optionally defined in: LLD
887 * Optionally defined in: LLD
904 * With the default eh_strategy in place, if none of the _abort_,
906 * defined (or they all return FAILED) then the device in question
909 * Optionally defined in: LLD
939 * Optionally defined in: LLD
968 * Optionally defined in: LLD
980 * interested in. Ignored when 1==writeto1_read0 .
998 * Optionally defined in: LLD
1038 * command) then this function should place 0 in scp->result and
1054 * Calling context: in interrupt (soft irq) or process context
1065 * CONDITION is placed in "result" when the scp->scsi_done
1067 * autosense and fill in the struct scsi_cmnd::sense_buffer
1071 * Defined in: LLD
1091 * Defined in: LLD (required in "passive initialization model",
1092 * should not be defined in hotplug model)
1117 * Optionally defined in: LLD
1140 * Optionally defined in: LLD
1156 * Notes: Mid level structures for given device are still in place
1160 * could be re-attached in the future in which case a new instance
1164 * Optionally defined in: LLD
1175 typically initialized as a file scope static in a driver's header file. That
1180 proc_name - name used in "/proc/scsi/<proc_name>/<host_no>" and
1181 by sysfs in one of its "drivers" directories. Hence
1186 The structure is defined and commented in include/scsi/scsi_host.h
1196 controls. The struct Scsi_Host structure has many members in common
1198 is created (in scsi_host_alloc() in hosts.c) those common members are
1202 this host. Issued in ascending order from 0.
1209 in a single SCSI command. The default value of 0 leads
1210 to a setting of SCSI_DEFAULT_MAX_SECTORS (defined in
1221 use_clustering - 1=>SCSI commands in mid level's queue can be merged,
1238 the LLD for the Scsi_Host. Used most often in validating
1243 The scsi_host structure is defined in include/scsi/scsi_host.h
1250 The structure is defined in include/scsi/scsi_device.h
1261 cmnd_len - length (in bytes) of SCSI command
1262 sc_data_direction - direction of data transfer in data phase. See
1263 "enum dma_data_direction" in include/linux/dma-mapping.h
1267 - >0 -> scatter gather list (actually an array) in
1272 in include/asm/scatterlist.h .
1284 in the LSB. See include/scsi/scsi.h status_byte(),
1295 prone in the presence of command queuing so the LLD should
1307 underflow - LLD should place (DID_ERROR << 16) in 'result' if
1317 (and possibly RECOVERED ERROR). In these cases if a LLD is in doubt how much
1326 The scsi_cmnd structure is defined in include/scsi/scsi_cmnd.h
1332 Scsi_Host::default_lock which is initialized in scsi_host_alloc() [found in
1342 Autosense (or auto-sense) is defined in the SAM-2 document as "the
1348 to perform an extra data in phase on such responses
1376 subsystems in the Documentation/Configure.help file. In the 2.6 series,