Lines Matching refs:LLD
21 SCSI subsystem LLD is a software bridge to the other driver subsystem.
26 For example, the aic7xxx LLD controls Adaptec SCSI parallel interface
28 LLD can be built into the kernel or loaded as a module. There can only be
29 one aic7xxx LLD running in a Linux system but it may be controlling many
37 The SCSI mid level isolates an LLD from other layers such as the SCSI
62 Traditionally an LLD for the SCSI subsystem has been at least two files in
71 When a new LLD is being added to Linux, the following files (found in the
81 to be hot plugged (and unplugged) during the lifetime of the LLD and will
88 An LLD interfaces to the SCSI subsystem several ways:
93 functions at some point in the future. The LLD will supply
104 scsi_host_alloc(). Those interface functions that the LLD does not
114 All functions defined within an LLD and all data defined at file scope
115 should be static. For example the sdev_init() function in an LLD
122 In this model an LLD controls when SCSI hosts are introduced and removed
126 detected. After confirming that the new device is one that the LLD wants
127 to control, the LLD will initialize the HBA and then register a new host
130 During LLD initialization the driver should register itself with the
135 aware of an LLD when that LLD registers its first HBA.
137 At some later time, the LLD becomes aware of an HBA and what follows
138 is a typical sequence of calls between the LLD and the mid level.
143 LLD mid level LLD
162 If the LLD wants to adjust the default queue settings, it can invoke
166 associated with the LLD module being unloaded (e.g. with the "rmmod"
172 LLD mid level LLD
180 It may be useful for a LLD to keep track of struct Scsi_Host instances
195 An LLD can use this sequence to make the mid level aware of a SCSI device::
198 LLD mid level LLD
205 In a similar fashion, an LLD may become aware that a SCSI device has been
209 probably cause that device to be set offline by the mid level. An LLD that
214 LLD mid level LLD
220 It may be useful for an LLD to keep track of struct scsi_device instances
254 towards the end of include/scsi/scsi_device.h . If an LLD wants to keep
287 so an LLD that is a module can access them. The kernel will
288 arrange for the SCSI mid level to be loaded and initialized before any LLD
330 * into the LLD.
351 * in some other transport-specific way. The LLD must set up
361 * scsi_change_queue_depth - allow LLD to change queue depth on a SCSI device
364 * or number of commands the LLD can queue up
372 * LLD. [Specifically during and after sdev_configure() and prior to
406 * get unblocked other than the LLD calling scsi_unblock_requests().
424 * Notes: When this call returns to the LLD, the SCSI bus scan on
427 * area for the LLD's exclusive use.
463 * The LLD need not worry exactly when the Scsi_Host instance is
480 * Notes: If an LLD becomes aware that a scsi device (lu) has
495 * Returns value: 0 on success, 1 on failure (e.g. LLD busy ??)
644 * Optionally defined in: LLD
666 * Notes: This is to give the LLD an opportunity to do local recovery.
671 * Optionally defined in: LLD
688 * Optionally defined in: LLD
706 * Optionally defined in: LLD
724 * Optionally defined in: LLD
746 * Optionally defined in: LLD
772 * Optionally defined in: LLD
797 * mid level does not recognize it, then the LLD that controls
801 * Optionally defined in: LLD
831 * Optionally defined in: LLD
870 * immediately (and the LLD is starting (or will start) the given
899 * callback is invoked, then the LLD driver should perform
902 * the mid level queuing a command to an LLD.
904 * Defined in: LLD
929 * Optionally defined in: LLD
952 * Optionally defined in: LLD
976 * Optionally defined in: LLD
986 There is one "struct scsi_host_template" instance per LLD [#]_. It is
1003 SCSI commands into an LLD.
1007 the LLD for the Scsi_Host. Used most often in validating
1015 if it controls several different classes of hardware (e.g. an LLD
1021 There is one struct Scsi_Host instance per host (HBA) that an LLD
1050 controlled by the host. Overridden by LLD calls to
1056 - name of LLD. This is the driver name that sysfs uses.
1061 - area reserved for LLD at end of struct Scsi_Host. Size
1076 Instances of this structure convey SCSI commands to the LLD and responses
1078 commands become queued against the LLD than are indicated by
1091 - should be set by LLD prior to calling 'done'. A value
1107 prone in the presence of command queuing so the LLD should
1113 - an LLD should set this unsigned integer to the requested
1116 preset to 0 so an LLD can ignore it if it cannot detect
1117 underruns (overruns should not be reported). An LLD
1122 - LLD should place (DID_ERROR << 16) in 'result' if
1126 report a DID_ERROR. Better for an LLD to implement
1129 It is recommended that a LLD set 'resid_len' on data transfers from a SCSI
1132 (and possibly RECOVERED ERROR). In these cases if a LLD is in doubt how much
1135 a LLD might use these helpers::
1163 occurs. LLDs should perform autosense. This should be done when the LLD
1168 b) or, the LLD issuing a REQUEST SENSE command itself
1171 decides whether the LLD has performed autosense by checking struct
1179 may get out of synchronization. This is why it is best for the LLD
1190 LLD interface functions abort() and reset() have been removed.