bk://linux-scsi.bkbits.net/scsi-misc-2.6 jejb@mulgrave.(none)|ChangeSet|20041024214801|61319 jejb # This is a BitKeeper generated diff -Nru style patch. # # ChangeSet # 2004/10/24 22:09:45-07:00 akpm@bix.(none) # Merge bk://linux-scsi.bkbits.net/scsi-misc-2.6 # into bix.(none):/usr/src/bk-scsi # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/24 22:09:40-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/24 16:48:01-05:00 jejb@mulgrave.(none) # scsi_debug v 1.75 # # From: Douglas Gilbert # # - fix highmem data transfers # - fix kunmap_atomic() argument # - disable clustering # - allow every_nth < 0 for error continuously once # count is reached # - minor sense buffer handling cleanup # # Signed-off-by: James Bottomley # # drivers/scsi/scsi_debug.c # 2004/10/24 16:47:49-05:00 jejb@mulgrave.(none) +265 -214 # scsi_debug v 1.75 # # ChangeSet # 2004/10/24 12:58:33-04:00 stern@rowland.harvard.edu # [PATCH] SCSI core: Fix refcounting error # # This bug was present as of 2.6.9-bk7, apparently introduced along with the # addition of SCSI targets into sysfs. The code takes a reference to the # host for each initialized sdev but only drops a reference when each # target is released. As you might expect, this causes a refcount leak # whenever a target has more than 0 LUNs. # # The patch changes things so that the reference is acquired when the target # is initialized, not when the sdev is initialized. # # Signed-off-by: Alan Stern # Signed-off-by: James Bottomley # # drivers/scsi/scsi_sysfs.c # 2004/10/24 07:09:42-04:00 stern@rowland.harvard.edu +1 -1 # SCSI core: Fix refcounting error # # drivers/scsi/scsi_scan.c # 2004/10/24 07:09:48-04:00 stern@rowland.harvard.edu +1 -2 # SCSI core: Fix refcounting error # # ChangeSet # 2004/10/24 12:09:06-04:00 jejb@mulgrave.(none) # sym2 2.1.18m # # From: Matthew Wilcox # # sym2 2.1.18m: # - Improve documentation # - Remove host-level command queueing (Christoph Hellwig) # - Add support for IU and QAS # - sparse annotation (Randolph Chung) # - Remove SYM_LINUX_BOOT_COMMAND_LINE_SUPPORT ifdefs # - Switch to the new module_param interface # - Rename tags to cmd_per_lun for consistency # - Fix debug param # - Split extended tags functionality into the new tag_ctrl parameter # - rewrite how safe param works # - reverse_probe param has had no effect for a while, remove it. # - Add descriptions for all the parameters # - Add MODULE_AUTHOR and MODULE_DESCRIPTION # - Restructure sym_config_pqs() a little # - Move hostid setup to a more sensible place # - Do away with SYM_GLUE_C # - Use a completion instead of a semaphore (Thomas Gleixner) # - Use IDENTIFY() instead of M_IDENTIFY # - Define messages in terms of those defined in # - Define PCI IDs in terms of those in # - Define sym2's status codes in terms of the SAM ones defined in # # Added brown bag fix # Signed-off-by: James Bottomley # # drivers/scsi/sym53c8xx_2/sym_misc.c # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +3 -1 # sym2 2.1.18m # # drivers/scsi/sym53c8xx_2/sym_hipd.c # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +46 -54 # sym2 2.1.18m # # drivers/scsi/sym53c8xx_2/sym_glue.h # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +0 -3 # sym2 2.1.18m # # drivers/scsi/sym53c8xx_2/sym_glue.c # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +156 -240 # sym2 2.1.18m # # drivers/scsi/sym53c8xx_2/sym_defs.h # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +47 -53 # sym2 2.1.18m # # drivers/scsi/sym53c8xx_2/sym53c8xx.h # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +2 -45 # sym2 2.1.18m # # Documentation/scsi/sym53c8xx_2.txt # 2004/10/24 12:08:18-04:00 jejb@mulgrave.(none) +135 -225 # sym2 2.1.18m # # ChangeSet # 2004/10/24 11:55:44-04:00 adam@yggdrasil.com # [PATCH] dmx3191d.c lacked MODULE_DEVICE_TABLE() # # The MODULE_DEVICE_TABLE() declaration, which is used by boot and hot # plug facilities to load the module when the hardware is present was # missed in the PCI API conversion. # # Signed-off-by: James Bottomley # # drivers/scsi/dmx3191d.c # 2004/10/21 18:21:02-04:00 adam@yggdrasil.com +1 -0 # dmx3191d.c lacked MODULE_DEVICE_TABLE() # # ChangeSet # 2004/10/24 11:43:08-04:00 akpm@osdl.org # [PATCH] aic7xxx remove warnings # # From: Jan Dittmer # # This patch converts the aic7xxx driver to use module_param instead of # MODULE_PARM and therefore gets rid of two warning in the non-modular build # case. # # Signed-off-by: Andrew Morton # Signed-off-by: James Bottomley # # drivers/scsi/aic7xxx/aic7xxx_osm.c # 2004/10/11 12:06:57-04:00 akpm@osdl.org +1 -3 # aic7xxx remove warnings # # ChangeSet # 2004/10/24 11:38:59-04:00 akpm@osdl.org # [PATCH] Add megaraid PCI IDs # # From: "Sergey S. Kostyliov" # # Signed-off-by: Andrew Morton # Signed-off-by: James Bottomley # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/08 11:12:09-04:00 akpm@osdl.org +6 -0 # Add megaraid PCI IDs # # ChangeSet # 2004/10/24 11:35:46-04:00 rddunlap@osdl.org # [PATCH] qla1280: driver_setup not __initdata # # 'driver_setup' cannot be __initdata if slave_configure() can be called # after driver-init: # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fbf R_X86_64_PC32 .init.data+0x000000000000007b # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fc9 R_X86_64_PC32 .init.data+0x000000000000007e # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000fea R_X86_64_PC32 .init.data+0x000000000000007b # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000000ff4 R_X86_64_PC32 .init.data+0x0000000000000080 # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001039 R_X86_64_PC32 .init.data+0x000000000000007b # Error: ./drivers/scsi/qla1280.o .text refers to 0000000000001043 R_X86_64_PC32 .init.data+0x0000000000000082 # # Signed-off-by: Randy Dunlap # Signed-off-by: James Bottomley # # drivers/scsi/qla1280.c # 2004/10/20 00:01:59-04:00 rddunlap@osdl.org +1 -1 # qla1280: driver_setup not __initdata # # ChangeSet # 2004/10/24 11:29:52-04:00 andrew.vasquez@qlogic.com # [PATCH] SCSI: fix `risc_code_addr01' multiple definition # # Make all of the qlogic firmware pointers static # # Signed-off-by: James Bottomley # # drivers/scsi/qlogicfc_asm.c # 2004/10/07 14:10:08-04:00 andrew.vasquez@qlogic.com +5 -5 # SCSI: fix `risc_code_addr01' multiple definition # # ChangeSet # 2004/10/21 00:22:42-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-scsi # # drivers/scsi/megaraid/megaraid_mbox.h # 2004/10/21 00:22:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/21 00:22:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/19 22:12:26-07:00 akpm@bix.(none) # Merge bix.(none):/usr/src/bk25 into bix.(none):/usr/src/bk-scsi # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/19 22:12:23-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/15 22:40:42-07:00 akpm@bix.(none) # Merge bk://linux-scsi.bkbits.net/scsi-misc-2.6 # into bix.(none):/usr/src/bk-scsi # # drivers/scsi/megaraid/megaraid_mbox.h # 2004/10/15 22:40:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/15 22:40:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # Documentation/scsi/ChangeLog.megaraid # 2004/10/15 22:40:38-07:00 akpm@bix.(none) +0 -0 # Auto merged # # ChangeSet # 2004/10/13 13:38:51-07:00 akpm@bix.(none) # foo # # Documentation/scsi/ChangeLog.megaraid # 2004/10/13 13:38:44-07:00 akpm@bix.(none) +0 -8 # foo # # drivers/scsi/megaraid/megaraid_mbox.h # 2004/10/13 13:32:32-07:00 akpm@bix.(none) +0 -2 # Auto merged # # drivers/scsi/megaraid/megaraid_mbox.c # 2004/10/13 13:32:32-07:00 akpm@bix.(none) +0 -3 # Auto merged # diff -Nru a/Documentation/scsi/sym53c8xx_2.txt b/Documentation/scsi/sym53c8xx_2.txt --- a/Documentation/scsi/sym53c8xx_2.txt 2004-10-26 18:51:00 -07:00 +++ b/Documentation/scsi/sym53c8xx_2.txt 2004-10-26 18:51:00 -07:00 @@ -4,7 +4,9 @@ 21 Rue Carnot 95170 DEUIL LA BARRE - FRANCE -Decembre 28 2000 +Updated by Matthew Wilcox + +2004-10-09 =============================================================================== 1. Introduction @@ -29,26 +31,20 @@ 10. Boot setup commands 10.1 Syntax 10.2 Available arguments - 10.2.1 Master parity checking - 10.2.2 Scsi parity checking - 10.2.3 Default number of tagged commands - 10.2.4 Default synchronous period factor - 10.2.5 Verbosity level - 10.2.6 Debug mode - 10.2.7 Burst max - 10.2.8 LED support - 10.2.9 Max wide - 10.2.10 Differential mode - 10.2.11 IRQ mode - 10.2.12 Reverse probe - 10.2.13 Fix up PCI configuration space - 10.2.14 Serial NVRAM - 10.2.15 Check SCSI BUS - 10.2.16 Exclude a host from being attached - 10.2.17 Suggest a default SCSI id for hosts - 10.3 PCI configuration fix-up boot option - 10.4 Serial NVRAM support boot option - 10.5 SCSI BUS checking boot option + 10.2.1 Default number of tagged commands + 10.2.2 Burst max + 10.2.3 LED support + 10.2.4 Differential mode + 10.2.5 IRQ mode + 10.2.6 Check SCSI BUS + 10.2.7 Suggest a default SCSI id for hosts + 10.2.8 Verbosity level + 10.2.9 Debug mode + 10.2.10 Settle delay + 10.2.11 Serial NVRAM + 10.2.12 Exclude a host from being attached + 10.3 Converting from old options + 10.4 SCSI BUS checking boot option 11. SCSI problem troubleshooting 15.1 Problem tracking 15.2 Understanding hardware error reports @@ -94,6 +90,9 @@ Write a glue code for Linux. Gerard Roudier +2004: Remove FreeBSD compatibility code. Remove support for versions of + Linux before 2.6. Start using Linux facilities. + This README file addresses the Linux version of the driver. Under FreeBSD, the driver documentation is the sym.8 man page. @@ -279,11 +278,10 @@ 6. Parity checking The driver supports SCSI parity checking and PCI bus master parity -checking. These features must be enabled in order to ensure safe data -transfers. However, some flawed devices or mother boards will have -problems with parity. You can disable either PCI parity or SCSI parity -checking by entering appropriate options from the boot command line. -(See 10: Boot setup commands). +checking. These features must be enabled in order to ensure safe +data transfers. Some flawed devices or mother boards may have problems +with parity. The options to defeat parity checking have been removed +from the driver. 7. Profiling information @@ -428,77 +426,90 @@ 10.1 Syntax -Setup commands can be passed to the driver either at boot time or as a -string variable using 'insmod'. - -A boot setup command for this driver begins with the driver name "sym53c8xx=". -The kernel syntax parser then expects an optionnal list of integers separated -with comma followed by an optional list of comma-separated strings. +Setup commands can be passed to the driver either at boot time or as +parameters to modprobe, as described in Documentation/kernel-parameters.txt Example of boot setup command under lilo prompt: -lilo: linux root=/dev/sda2 sym53c8xx=tags:4,sync:10,debug:0x200 +lilo: linux root=/dev/sda2 sym53c8xx.cmd_per_lun=4 sym53c8xx.sync=10 sym53c8xx.debug=0x200 - enable tagged commands, up to 4 tagged commands queued. - set synchronous negotiation speed to 10 Mega-transfers / second. - set DEBUG_NEGO flag. -Since comma seems not to be allowed when defining a string variable using -'insmod', the driver also accepts as option separator. -The following command will install driver module with the same options as -above. +The following command will install the driver module with the same +options as above. - insmod sym53c8xx.o sym53c8xx="tags:4 sync:10 debug:0x200" - -The integer list of arguments is discarded by the driver. - -Each string argument must be specified as "keyword:value". Only lower-case -characters and digits are allowed. + modprobe sym53c8xx cmd_per_lun=4 sync=10 debug=0x200" 10.2 Available arguments -10.2.1 Master parity checking - mpar:y enabled - mpar:n disabled - -10.2.2 Scsi parity checking - spar:y enabled - spar:n disabled - -10.2.3 Default number of tagged commands - tags:0 (or tags:1 ) tagged command queuing disabled - tags:#tags (#tags > 1) tagged command queuing enabled +10.2.1 Default number of tagged commands + cmd_per_lun=0 (or cmd_per_lun=1) tagged command queuing disabled + cmd_per_lun=#tags (#tags > 1) tagged command queuing enabled #tags will be truncated to the max queued commands configuration parameter. - This option also allows to specify a command queue depth for each device - that support tagged command queueing. + +10.2.2 Detailed control of tagged commands + This option allows you to specify a command queue depth for each device + that supports tagged command queueing. Example: - sym53c8xx=tags:10/t2t3q16-t5q24/t1u2q32 - will set devices queue depth as follow: + tag_ctrl=10/t2t3q16-t5q24/t1u2q32 + will set devices queue depth as follow: - controller #0 target #2 and target #3 -> 16 commands, - controller #0 target #5 -> 24 commands, - controller #1 target #1 logical unit #2 -> 32 commands, - all other logical units (all targets, all controllers) -> 10 commands. -10.2.4 Default synchronous period factor - sync:255 disabled (asynchronous transfer mode) - sync:#factor - #factor = 9 Ultra-3 SCSI 80 Mega-transfers / second (Wide only) - #factor = 10 Ultra-2 SCSI 40 Mega-transfers / second - #factor = 11 Ultra-2 SCSI 33 Mega-transfers / second - #factor < 25 Ultra SCSI 20 Mega-transfers / second - #factor < 50 Fast SCSI-2 - - In all cases, the driver will use the minimum transfer period supported by - controllers according to SYM53C8XX chip type. - -10.2.5 Verbosity level - verb:0 minimal - verb:1 normal - verb:2 too much - -10.2.6 Debug mode - debug:0 clear debug flags - debug:#x set debug flags +10.2.3 Burst max + burst=0 burst disabled + burst=255 get burst length from initial IO register settings. + burst=#x burst enabled (1<<#x burst transfers max) + #x is an integer value which is log base 2 of the burst transfers max. + By default the driver uses the maximum value supported by the chip. + +10.2.4 LED support + led=1 enable LED support + led=0 disable LED support + Do not enable LED support if your scsi board does not use SDMS BIOS. + (See 'Configuration parameters') + +10.2.4 Differential mode + diff=0 never set up diff mode + diff=1 set up diff mode if BIOS set it + diff=2 always set up diff mode + diff=3 set diff mode if GPIO3 is not set + +10.2.5 IRQ mode + irqm=0 always open drain + irqm=1 same as initial settings (assumed BIOS settings) + irqm=2 always totem pole + +10.2.6 Check SCSI BUS + buschk=