[PATCH] scsi_mid_low_api.txt

From: Andries.Brouwer@cwi.nl
Date: Sun Apr 27 2003 - 06:11:06 EST


The specification says that slave_configure() has to call
scsi_adjust_queue_depth(). This is false, and moreover
does not always happen in the current tree.
(I was interested since I plan to add a slave_configure()
that will not call scsi_adjust_queue_depth().)

So, the patch below adapts scsi_mid_low_api.txt a little.

Andries

----------------------------------------------------------

diff -u --recursive --new-file -X /linux/dontdiff a/Documentation/scsi/scsi_mid_low_api.txt b/Documentation/scsi/scsi_mid_low_api.txt
--- a/Documentation/scsi/scsi_mid_low_api.txt Mon Feb 24 23:02:44 2003
+++ b/Documentation/scsi/scsi_mid_low_api.txt Sun Apr 27 12:58:21 2003
@@ -134,7 +134,7 @@
                     slave_configure() --> scsi_adjust_queue_depth()
                          |
                     slave_alloc()
- slave_configure() --> scsi_adjust_queue_depth()
+ slave_configure()
                          |
                     slave_alloc()
                     slave_configure() --> scsi_adjust_queue_depth()
@@ -142,8 +142,9 @@
                     slave_alloc() **
                     slave_destroy() **
 
-The invocation of scsi_adjust_queue_depth() by the LLD is required
-if slave_configure() is supplied.
+If the LLD wants to adjust the default queue settings, it can invoke
+scsi_adjust_queue_depth() in its slave_configure() routine.
+
 ** For scsi devices that the mid level tries to scan but do not
    respond, a slave_alloc(), slave_destroy() pair is called.
 
@@ -199,7 +200,7 @@
                             | scsi_register()
                             |
                       slave_alloc()
- slave_configure() --> scsi_adjust_queue_depth()
+ slave_configure()
                       slave_alloc() **
                       slave_destroy() **
                             |
@@ -208,9 +209,10 @@
                       slave_alloc() **
                       slave_destroy() **
 
-If the LLD does not supply a slave_configure() then the mid level invokes
-scsi_adjust_queue_depth() itself with tagged queuing off and "cmd_per_lun"
-for that host as the queue length.
+The mid level invokes scsi_adjust_queue_depth() with tagged queuing off and
+"cmd_per_lun" for that host as the queue length. These settings can be
+overridden by a slave_configure() supplied by the LLD.
+
 ** For scsi devices that the mid level tries to scan but do not
    respond, a slave_alloc(), slave_destroy() pair is called.
 
@@ -903,11 +905,6 @@
  * Notes: Allows the driver to inspect the response to the initial
  * INQUIRY done by the scanning code and take appropriate action.
  * For more details see the hosts.h file.
- * If this function is not supplied, the mid level will call
- * scsi_adjust_queue_depth() with the struct Scsi_Host::cmd_per_lun
- * value on behalf of the given device. If this function is
- * supplied then its implementation must call
- * scsi_adjust_queue_depth().
  **/
     int slave_configure(struct scsi_device *sdp);
 
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Wed Apr 30 2003 - 22:00:26 EST