diff options
Diffstat (limited to 'Documentation/scsi/BusLogic.txt')
-rw-r--r-- | Documentation/scsi/BusLogic.txt | 566 |
1 files changed, 0 insertions, 566 deletions
diff --git a/Documentation/scsi/BusLogic.txt b/Documentation/scsi/BusLogic.txt deleted file mode 100644 index 48e982cd6fe7..000000000000 --- a/Documentation/scsi/BusLogic.txt +++ /dev/null @@ -1,566 +0,0 @@ - BusLogic MultiMaster and FlashPoint SCSI Driver for Linux - - Version 2.0.15 for Linux 2.0 - Version 2.1.15 for Linux 2.1 - - PRODUCTION RELEASE - - 17 August 1998 - - Leonard N. Zubkoff - Dandelion Digital - lnz@dandelion.com - - Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com> - - - INTRODUCTION - -BusLogic, Inc. designed and manufactured a variety of high performance SCSI -host adapters which share a common programming interface across a diverse -collection of bus architectures by virtue of their MultiMaster ASIC technology. -BusLogic was acquired by Mylex Corporation in February 1996, but the products -supported by this driver originated under the BusLogic name and so that name is -retained in the source code and documentation. - -This driver supports all present BusLogic MultiMaster Host Adapters, and should -support any future MultiMaster designs with little or no modification. More -recently, BusLogic introduced the FlashPoint Host Adapters, which are less -costly and rely on the host CPU, rather than including an onboard processor. -Despite not having an onboard CPU, the FlashPoint Host Adapters perform very -well and have very low command latency. BusLogic has recently provided me with -the FlashPoint Driver Developer's Kit, which comprises documentation and freely -redistributable source code for the FlashPoint SCCB Manager. The SCCB Manager -is the library of code that runs on the host CPU and performs functions -analogous to the firmware on the MultiMaster Host Adapters. Thanks to their -having provided the SCCB Manager, this driver now supports the FlashPoint Host -Adapters as well. - -My primary goals in writing this completely new BusLogic driver for Linux are -to achieve the full performance that BusLogic SCSI Host Adapters and modern -SCSI peripherals are capable of, and to provide a highly robust driver that can -be depended upon for high performance mission critical applications. All of -the major performance features can be configured from the Linux kernel command -line or at module initialization time, allowing individual installations to -tune driver performance and error recovery to their particular needs. - -The latest information on Linux support for BusLogic SCSI Host Adapters, as -well as the most recent release of this driver and the latest firmware for the -BT-948/958/958D, will always be available from my Linux Home Page at URL -"http://sourceforge.net/projects/dandelion/". - -Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please -include with the bug report the complete configuration messages reported by the -driver and SCSI subsystem at startup, along with any subsequent system messages -relevant to SCSI operations, and a detailed description of your system's -hardware configuration. - -Mylex has been an excellent company to work with and I highly recommend their -products to the Linux community. In November 1995, I was offered the -opportunity to become a beta test site for their latest MultiMaster product, -the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide -Ultra SCSI Host Adapter in January 1996. This was mutually beneficial since -Mylex received a degree and kind of testing that their own testing group cannot -readily achieve, and the Linux community has available high performance host -adapters that have been well tested with Linux even before being brought to -market. This relationship has also given me the opportunity to interact -directly with their technical staff, to understand more about the internal -workings of their products, and in turn to educate them about the needs and -potential of the Linux community. - -More recently, Mylex has reaffirmed the company's interest in supporting the -Linux community, and I am now working on a Linux driver for the DAC960 PCI RAID -Controllers. Mylex's interest and support is greatly appreciated. - -Unlike some other vendors, if you contact Mylex Technical Support with a -problem and are running Linux, they will not tell you that your use of their -products is unsupported. Their latest product marketing literature even states -"Mylex SCSI host adapters are compatible with all major operating systems -including: ... Linux ...". - -Mylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California -94555, USA and can be reached at 510/796-6100 or on the World Wide Web at -http://www.mylex.com. Mylex HBA Technical Support can be reached by electronic -mail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715. -Contact information for offices in Europe and Japan is available on the Web -site. - - - DRIVER FEATURES - -o Configuration Reporting and Testing - - During system initialization, the driver reports extensively on the host - adapter hardware configuration, including the synchronous transfer parameters - requested and negotiated with each target device. AutoSCSI settings for - Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are - reported for each target device, as well as the status of Tagged Queuing. - If the same setting is in effect for all target devices, then a single word - or phrase is used; otherwise, a letter is provided for each target device to - indicate the individual status. The following examples - should clarify this reporting format: - - Synchronous Negotiation: Ultra - - Synchronous negotiation is enabled for all target devices and the host - adapter will attempt to negotiate for 20.0 mega-transfers/second. - - Synchronous Negotiation: Fast - - Synchronous negotiation is enabled for all target devices and the host - adapter will attempt to negotiate for 10.0 mega-transfers/second. - - Synchronous Negotiation: Slow - - Synchronous negotiation is enabled for all target devices and the host - adapter will attempt to negotiate for 5.0 mega-transfers/second. - - Synchronous Negotiation: Disabled - - Synchronous negotiation is disabled and all target devices are limited to - asynchronous operation. - - Synchronous Negotiation: UFSNUUU#UUUUUUUU - - Synchronous negotiation to Ultra speed is enabled for target devices 0 - and 4 through 15, to Fast speed for target device 1, to Slow speed for - target device 2, and is not permitted to target device 3. The host - adapter's SCSI ID is represented by the "#". - - The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing - are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters. - -o Performance Features - - BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so - support has been included in the driver to utilize tagged queuing with any - target devices that report having the tagged queuing capability. Tagged - queuing allows for multiple outstanding commands to be issued to each target - device or logical unit, and can improve I/O performance substantially. In - addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter - performance, and scatter/gather I/O can support as many segments as can be - effectively utilized by the Linux I/O subsystem. Control over the use of - tagged queuing for each target device as well as individual selection of the - tagged queue depth is available through driver options provided on the kernel - command line or at module initialization time. By default, the queue depth - is determined automatically based on the host adapter's total queue depth and - the number, type, speed, and capabilities of the target devices found. In - addition, tagged queuing is automatically disabled whenever the host adapter - firmware version is known not to implement it correctly, or whenever a tagged - queue depth of 1 is selected. Tagged queuing is also disabled for individual - target devices if disconnect/reconnect is disabled for that device. - -o Robustness Features - - The driver implements extensive error recovery procedures. When the higher - level parts of the SCSI subsystem request that a timed out command be reset, - a selection is made between a full host adapter hard reset and SCSI bus reset - versus sending a bus device reset message to the individual target device - based on the recommendation of the SCSI subsystem. Error recovery strategies - are selectable through driver options individually for each target device, - and also include sending a bus device reset to the specific target device - associated with the command being reset, as well as suppressing error - recovery entirely to avoid perturbing an improperly functioning device. If - the bus device reset error recovery strategy is selected and sending a bus - device reset does not restore correct operation, the next command that is - reset will force a full host adapter hard reset and SCSI bus reset. SCSI bus - resets caused by other devices and detected by the host adapter are also - handled by issuing a soft reset to the host adapter and re-initialization. - Finally, if tagged queuing is active and more than one command reset occurs - in a 10 minute interval, or if a command reset occurs within the first 10 - minutes of operation, then tagged queuing will be disabled for that target - device. These error recovery options improve overall system robustness by - preventing individual errant devices from causing the system as a whole to - lock up or crash, and thereby allowing a clean shutdown and restart after the - offending component is removed. - -o PCI Configuration Support - - On PCI systems running kernels compiled with PCI BIOS support enabled, this - driver will interrogate the PCI configuration space and use the I/O port - addresses assigned by the system BIOS, rather than the ISA compatible I/O - port addresses. The ISA compatible I/O port address is then disabled by the - driver. On PCI systems it is also recommended that the AutoSCSI utility be - used to disable the ISA compatible I/O port entirely as it is not necessary. - The ISA compatible I/O port is disabled by default on the BT-948/958/958D. - -o /proc File System Support - - Copies of the host adapter configuration information together with updated - data transfer and error recovery statistics are available through the - /proc/scsi/BusLogic/<N> interface. - -o Shared Interrupts Support - - On systems that support shared interrupts, any number of BusLogic Host - Adapters may share the same interrupt request channel. - - - SUPPORTED HOST ADAPTERS - -The following list comprises the supported BusLogic SCSI Host Adapters as of -the date of this document. It is recommended that anyone purchasing a BusLogic -Host Adapter not in the following table contact the author beforehand to verify -that it is or will be supported. - -FlashPoint Series PCI Host Adapters: - -FlashPoint LT (BT-930) Ultra SCSI-3 -FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus -FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS) -FlashPoint DL (BT-932) Dual Channel Ultra SCSI-3 -FlashPoint DL (BT-932R) Dual Channel Ultra SCSI-3 with RAIDPlus -FlashPoint LW (BT-950) Wide Ultra SCSI-3 -FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus -FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3 -FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus - -MultiMaster "W" Series Host Adapters: - -BT-948 PCI Ultra SCSI-3 -BT-958 PCI Wide Ultra SCSI-3 -BT-958D PCI Wide Differential Ultra SCSI-3 - -MultiMaster "C" Series Host Adapters: - -BT-946C PCI Fast SCSI-2 -BT-956C PCI Wide Fast SCSI-2 -BT-956CD PCI Wide Differential Fast SCSI-2 -BT-445C VLB Fast SCSI-2 -BT-747C EISA Fast SCSI-2 -BT-757C EISA Wide Fast SCSI-2 -BT-757CD EISA Wide Differential Fast SCSI-2 -BT-545C ISA Fast SCSI-2 -BT-540CF ISA Fast SCSI-2 - -MultiMaster "S" Series Host Adapters: - -BT-445S VLB Fast SCSI-2 -BT-747S EISA Fast SCSI-2 -BT-747D EISA Differential Fast SCSI-2 -BT-757S EISA Wide Fast SCSI-2 -BT-757D EISA Wide Differential Fast SCSI-2 -BT-545S ISA Fast SCSI-2 -BT-542D ISA Differential Fast SCSI-2 -BT-742A EISA SCSI-2 (742A revision H) -BT-542B ISA SCSI-2 (542B revision H) - -MultiMaster "A" Series Host Adapters: - -BT-742A EISA SCSI-2 (742A revisions A - G) -BT-542B ISA SCSI-2 (542B revisions A - G) - -AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also -supported by this driver. - -BusLogic SCSI Host Adapters are available packaged both as bare boards and as -retail kits. The BT- model numbers above refer to the bare board packaging. -The retail kit model numbers are found by replacing BT- with KT- in the above -list. The retail kit includes the bare board and manual as well as cabling and -driver media and documentation that are not provided with bare boards. - - - FLASHPOINT INSTALLATION NOTES - -o RAIDPlus Support - - FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software - RAID. RAIDPlus is not supported on Linux, and there are no plans to support - it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and - striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4), - and distributed parity (RAID-5) is available separately. The built-in Linux - RAID support is generally more flexible and is expected to perform better - than RAIDPlus, so there is little impetus to include RAIDPlus support in the - BusLogic driver. - -o Enabling UltraSCSI Transfers - - FlashPoint Host Adapters ship with their configuration set to "Factory - Default" settings that are conservative and do not allow for UltraSCSI speed - to be negotiated. This results in fewer problems when these host adapters - are installed in systems with cabling or termination that is not sufficient - for UltraSCSI operation, or where existing SCSI devices do not properly - respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI - may be used to load "Optimum Performance" settings which allow UltraSCSI - speed to be negotiated with all devices, or UltraSCSI speed can be enabled on - an individual basis. It is recommended that SCAM be manually disabled after - the "Optimum Performance" settings are loaded. - - - BT-948/958/958D INSTALLATION NOTES - -The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may -require attention in some circumstances when installing Linux. - -o PCI I/O Port Assignments - - When configured to factory default settings, the BT-948/958/958D will only - recognize the PCI I/O port assignments made by the motherboard's PCI BIOS. - The BT-948/958/958D will not respond to any of the ISA compatible I/O ports - that previous BusLogic SCSI Host Adapters respond to. This driver supports - the PCI I/O port assignments, so this is the preferred configuration. - However, if the obsolete BusLogic driver must be used for any reason, such as - a Linux distribution that does not yet use this driver in its boot kernel, - BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA - compatible I/O port. - - To enable this backward compatibility option, invoke the AutoSCSI utility via - Ctrl-B at system startup and select "Adapter Configuration", "View/Modify - Configuration", and then change the "ISA Compatible Port" setting from - "Disable" to "Primary" or "Alternate". Once this driver has been installed, - the "ISA Compatible Port" option should be set back to "Disable" to avoid - possible future I/O port conflicts. The older BT-946C/956C/956CD also have - this configuration option, but the factory default setting is "Primary". - -o PCI Slot Scanning Order - - In systems with multiple BusLogic PCI Host Adapters, the order in which the - PCI slots are scanned may appear reversed with the BT-948/958/958D as - compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work - correctly, it is necessary that the host adapter's BIOS and the kernel agree - on which disk is the boot device, which requires that they recognize the PCI - host adapters in the same order. The motherboard's PCI BIOS provides a - standard way of enumerating the PCI host adapters, which is used by the Linux - kernel. Some PCI BIOS implementations enumerate the PCI slots in order of - increasing bus number and device number, while others do so in the opposite - direction. - - Unfortunately, Microsoft decided that Windows 95 would always enumerate the - PCI slots in order of increasing bus number and device number regardless of - the PCI BIOS enumeration, and requires that their scheme be supported by the - host adapter's BIOS to receive Windows 95 certification. Therefore, the - factory default settings of the BT-948/958/958D enumerate the host adapters - by increasing bus number and device number. To disable this feature, invoke - the AutoSCSI utility via Ctrl-B at system startup and select "Adapter - Configuration", "View/Modify Configuration", press Ctrl-F10, and then change - the "Use Bus And Device # For PCI Scanning Seq." option to OFF. - - This driver will interrogate the setting of the PCI Scanning Sequence option - so as to recognize the host adapters in the same order as they are enumerated - by the host adapter's BIOS. - -o Enabling UltraSCSI Transfers - - The BT-948/958/958D ship with their configuration set to "Factory Default" - settings that are conservative and do not allow for UltraSCSI speed to be - negotiated. This results in fewer problems when these host adapters are - installed in systems with cabling or termination that is not sufficient for - UltraSCSI operation, or where existing SCSI devices do not properly respond - to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be - used to load "Optimum Performance" settings which allow UltraSCSI speed to be - negotiated with all devices, or UltraSCSI speed can be enabled on an - individual basis. It is recommended that SCAM be manually disabled after the - "Optimum Performance" settings are loaded. - - - DRIVER OPTIONS - -BusLogic Driver Options may be specified either via the Linux Kernel Command -Line or via the Loadable Kernel Module Installation Facility. Driver Options -for multiple host adapters may be specified either by separating the option -strings by a semicolon, or by specifying multiple "BusLogic=" strings on the -command line. Individual option specifications for a single host adapter are -separated by commas. The Probing and Debugging Options apply to all host -adapters whereas the remaining options apply individually only to the -selected host adapter. - -The BusLogic Driver Probing Options comprise the following: - -IO:<integer> - - The "IO:" option specifies an ISA I/O Address to be probed for a non-PCI - MultiMaster Host Adapter. If neither "IO:" nor "NoProbeISA" options are - specified, then the standard list of BusLogic MultiMaster ISA I/O Addresses - will be probed (0x330, 0x334, 0x230, 0x234, 0x130, and 0x134). Multiple - "IO:" options may be specified to precisely determine the I/O Addresses to - be probed, but the probe order will always follow the standard list. - -NoProbe - - The "NoProbe" option disables all probing and therefore no BusLogic Host - Adapters will be detected. - -NoProbeISA - - The "NoProbeISA" option disables probing of the standard BusLogic ISA I/O - Addresses and therefore only PCI MultiMaster and FlashPoint Host Adapters - will be detected. - -NoProbePCI - - The "NoProbePCI" options disables the interrogation of PCI Configuration - Space and therefore only ISA Multimaster Host Adapters will be detected, as - well as PCI Multimaster Host Adapters that have their ISA Compatible I/O - Port set to "Primary" or "Alternate". - -NoSortPCI - - The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be - enumerated in the order provided by the PCI BIOS, ignoring any setting of - the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option. - -MultiMasterFirst - - The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed - before FlashPoint Host Adapters. By default, if both FlashPoint and PCI - MultiMaster Host Adapters are present, this driver will probe for - FlashPoint Host Adapters first unless the BIOS primary disk is controlled - by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host - Adapters will be probed first. - -FlashPointFirst - - The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed - before MultiMaster Host Adapters. - -The BusLogic Driver Tagged Queuing Options allow for explicitly specifying -the Queue Depth and whether Tagged Queuing is permitted for each Target -Device (assuming that the Target Device supports Tagged Queuing). The Queue -Depth is the number of SCSI Commands that are allowed to be concurrently -presented for execution (either to the Host Adapter or Target Device). Note -that explicitly enabling Tagged Queuing may lead to problems; the option to -enable or disable Tagged Queuing is provided primarily to allow disabling -Tagged Queuing on Target Devices that do not implement it correctly. The -following options are available: - -QueueDepth:<integer> - - The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all - Target Devices that support Tagged Queuing, as well as the maximum Queue - Depth for devices that do not support Tagged Queuing. If no Queue Depth - option is provided, the Queue Depth will be determined automatically based - on the Host Adapter's Total Queue Depth and the number, type, speed, and - capabilities of the detected Target Devices. For Host Adapters that - require ISA Bounce Buffers, the Queue Depth is automatically set by default - to BusLogic_TaggedQueueDepthBB or BusLogic_UntaggedQueueDepthBB to avoid - excessive preallocation of DMA Bounce Buffer memory. Target Devices that - do not support Tagged Queuing always have their Queue Depth set to - BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a - lower Queue Depth option is provided. A Queue Depth of 1 automatically - disables Tagged Queuing. - -QueueDepth:[<integer>,<integer>...] - - The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth - individually for each Target Device. If an <integer> is omitted, the - associated Target Device will have its Queue Depth selected automatically. - -TaggedQueuing:Default - - The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing - based on the firmware version of the BusLogic Host Adapter and based on - whether the Queue Depth allows queuing multiple commands. - -TaggedQueuing:Enable - - The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for - all Target Devices on this Host Adapter, overriding any limitation that - would otherwise be imposed based on the Host Adapter firmware version. - -TaggedQueuing:Disable - - The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing - for all Target Devices on this Host Adapter. - -TaggedQueuing:<Target-Spec> - - The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls - Tagged Queuing individually for each Target Device. <Target-Spec> is a - sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N" - disables Tagged Queuing, and "X" accepts the default based on the firmware - version. The first character refers to Target Device 0, the second to - Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters - does not cover all the Target Devices, unspecified characters are assumed - to be "X". - -The BusLogic Driver Miscellaneous Options comprise the following: - -BusSettleTime:<seconds> - - The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in - seconds. The Bus Settle Time is the amount of time to wait between a Host - Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI - Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime. - -InhibitTargetInquiry - - The "InhibitTargetInquiry" option inhibits the execution of an Inquire - Target Devices or Inquire Installed Devices command on MultiMaster Host - Adapters. This may be necessary with some older Target Devices that do not - respond correctly when Logical Units above 0 are addressed. - -The BusLogic Driver Debugging Options comprise the following: - -TraceProbe - - The "TraceProbe" option enables tracing of Host Adapter Probing. - -TraceHardwareReset - - The "TraceHardwareReset" option enables tracing of Host Adapter Hardware - Reset. - -TraceConfiguration - - The "TraceConfiguration" option enables tracing of Host Adapter - Configuration. - -TraceErrors - - The "TraceErrors" option enables tracing of SCSI Commands that return an - error from the Target Device. The CDB and Sense Data will be printed for - each SCSI Command that fails. - -Debug - - The "Debug" option enables all debugging options. - -The following examples demonstrate setting the Queue Depth for Target Devices -1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target -Devices on the second host adapter to 31, and the Bus Settle Time on the -second host adapter to 30 seconds. - -Linux Kernel Command Line: - - linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 - -LILO Linux Boot Loader (in /etc/lilo.conf): - - append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" - -INSMOD Loadable Kernel Module Installation Facility: - - insmod BusLogic.o \ - 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' - -NOTE: Module Utilities 2.1.71 or later is required for correct parsing - of driver options containing commas. - - - DRIVER INSTALLATION - -This distribution was prepared for Linux kernel version 2.0.35, but should be -compatible with 2.0.4 or any later 2.0 series kernel. - -To install the new BusLogic SCSI driver, you may use the following commands, -replacing "/usr/src" with wherever you keep your Linux kernel source tree: - - cd /usr/src - tar -xvzf BusLogic-2.0.15.tar.gz - mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi - patch -p0 < BusLogic.patch (only for 2.0.33 and below) - cd linux - make config - make zImage - -Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if -appropriate, and reboot. - - - BUSLOGIC ANNOUNCEMENTS MAILING LIST - -The BusLogic Announcements Mailing List provides a forum for informing Linux -users of new driver releases and other announcements regarding Linux support -for BusLogic SCSI Host Adapters. To join the mailing list, send a message to -"buslogic-announce-request@dandelion.com" with the line "subscribe" in the -message body. |