1977b899cSMauro Carvalho Chehab.. SPDX-License-Identifier: GPL-2.0 2977b899cSMauro Carvalho Chehab 3977b899cSMauro Carvalho Chehab========================================================= 4977b899cSMauro Carvalho ChehabBusLogic MultiMaster and FlashPoint SCSI Driver for Linux 5977b899cSMauro Carvalho Chehab========================================================= 6977b899cSMauro Carvalho Chehab 7977b899cSMauro Carvalho Chehab Version 2.0.15 for Linux 2.0 8977b899cSMauro Carvalho Chehab 9977b899cSMauro Carvalho Chehab Version 2.1.15 for Linux 2.1 10977b899cSMauro Carvalho Chehab 11977b899cSMauro Carvalho Chehab PRODUCTION RELEASE 12977b899cSMauro Carvalho Chehab 13977b899cSMauro Carvalho Chehab 17 August 1998 14977b899cSMauro Carvalho Chehab 15977b899cSMauro Carvalho Chehab Leonard N. Zubkoff 16977b899cSMauro Carvalho Chehab 17977b899cSMauro Carvalho Chehab Dandelion Digital 18977b899cSMauro Carvalho Chehab 19977b899cSMauro Carvalho Chehab lnz@dandelion.com 20977b899cSMauro Carvalho Chehab 21977b899cSMauro Carvalho Chehab Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com> 22977b899cSMauro Carvalho Chehab 23977b899cSMauro Carvalho Chehab 24977b899cSMauro Carvalho ChehabIntroduction 25977b899cSMauro Carvalho Chehab============ 26977b899cSMauro Carvalho Chehab 27977b899cSMauro Carvalho ChehabBusLogic, Inc. designed and manufactured a variety of high performance SCSI 28977b899cSMauro Carvalho Chehabhost adapters which share a common programming interface across a diverse 29977b899cSMauro Carvalho Chehabcollection of bus architectures by virtue of their MultiMaster ASIC technology. 30977b899cSMauro Carvalho ChehabBusLogic was acquired by Mylex Corporation in February 1996, but the products 31977b899cSMauro Carvalho Chehabsupported by this driver originated under the BusLogic name and so that name is 32977b899cSMauro Carvalho Chehabretained in the source code and documentation. 33977b899cSMauro Carvalho Chehab 34977b899cSMauro Carvalho ChehabThis driver supports all present BusLogic MultiMaster Host Adapters, and should 35977b899cSMauro Carvalho Chehabsupport any future MultiMaster designs with little or no modification. More 36977b899cSMauro Carvalho Chehabrecently, BusLogic introduced the FlashPoint Host Adapters, which are less 37977b899cSMauro Carvalho Chehabcostly and rely on the host CPU, rather than including an onboard processor. 38977b899cSMauro Carvalho ChehabDespite not having an onboard CPU, the FlashPoint Host Adapters perform very 39977b899cSMauro Carvalho Chehabwell and have very low command latency. BusLogic has recently provided me with 40977b899cSMauro Carvalho Chehabthe FlashPoint Driver Developer's Kit, which comprises documentation and freely 41977b899cSMauro Carvalho Chehabredistributable source code for the FlashPoint SCCB Manager. The SCCB Manager 42977b899cSMauro Carvalho Chehabis the library of code that runs on the host CPU and performs functions 43977b899cSMauro Carvalho Chehabanalogous to the firmware on the MultiMaster Host Adapters. Thanks to their 44977b899cSMauro Carvalho Chehabhaving provided the SCCB Manager, this driver now supports the FlashPoint Host 45977b899cSMauro Carvalho ChehabAdapters as well. 46977b899cSMauro Carvalho Chehab 47977b899cSMauro Carvalho ChehabMy primary goals in writing this completely new BusLogic driver for Linux are 48977b899cSMauro Carvalho Chehabto achieve the full performance that BusLogic SCSI Host Adapters and modern 49977b899cSMauro Carvalho ChehabSCSI peripherals are capable of, and to provide a highly robust driver that can 50977b899cSMauro Carvalho Chehabbe depended upon for high performance mission critical applications. All of 51977b899cSMauro Carvalho Chehabthe major performance features can be configured from the Linux kernel command 52977b899cSMauro Carvalho Chehabline or at module initialization time, allowing individual installations to 53977b899cSMauro Carvalho Chehabtune driver performance and error recovery to their particular needs. 54977b899cSMauro Carvalho Chehab 55977b899cSMauro Carvalho ChehabThe latest information on Linux support for BusLogic SCSI Host Adapters, as 56977b899cSMauro Carvalho Chehabwell as the most recent release of this driver and the latest firmware for the 57977b899cSMauro Carvalho ChehabBT-948/958/958D, will always be available from my Linux Home Page at URL 58977b899cSMauro Carvalho Chehab"http://sourceforge.net/projects/dandelion/". 59977b899cSMauro Carvalho Chehab 60977b899cSMauro Carvalho ChehabBug reports should be sent via electronic mail to "lnz@dandelion.com". Please 61977b899cSMauro Carvalho Chehabinclude with the bug report the complete configuration messages reported by the 62977b899cSMauro Carvalho Chehabdriver and SCSI subsystem at startup, along with any subsequent system messages 63977b899cSMauro Carvalho Chehabrelevant to SCSI operations, and a detailed description of your system's 64977b899cSMauro Carvalho Chehabhardware configuration. 65977b899cSMauro Carvalho Chehab 66977b899cSMauro Carvalho ChehabMylex has been an excellent company to work with and I highly recommend their 67977b899cSMauro Carvalho Chehabproducts to the Linux community. In November 1995, I was offered the 68977b899cSMauro Carvalho Chehabopportunity to become a beta test site for their latest MultiMaster product, 69977b899cSMauro Carvalho Chehabthe BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide 70977b899cSMauro Carvalho ChehabUltra SCSI Host Adapter in January 1996. This was mutually beneficial since 71977b899cSMauro Carvalho ChehabMylex received a degree and kind of testing that their own testing group cannot 72977b899cSMauro Carvalho Chehabreadily achieve, and the Linux community has available high performance host 73977b899cSMauro Carvalho Chehabadapters that have been well tested with Linux even before being brought to 74977b899cSMauro Carvalho Chehabmarket. This relationship has also given me the opportunity to interact 75977b899cSMauro Carvalho Chehabdirectly with their technical staff, to understand more about the internal 76977b899cSMauro Carvalho Chehabworkings of their products, and in turn to educate them about the needs and 77977b899cSMauro Carvalho Chehabpotential of the Linux community. 78977b899cSMauro Carvalho Chehab 79977b899cSMauro Carvalho ChehabMore recently, Mylex has reaffirmed the company's interest in supporting the 80977b899cSMauro Carvalho ChehabLinux community, and I am now working on a Linux driver for the DAC960 PCI RAID 81977b899cSMauro Carvalho ChehabControllers. Mylex's interest and support is greatly appreciated. 82977b899cSMauro Carvalho Chehab 83977b899cSMauro Carvalho ChehabUnlike some other vendors, if you contact Mylex Technical Support with a 84977b899cSMauro Carvalho Chehabproblem and are running Linux, they will not tell you that your use of their 85977b899cSMauro Carvalho Chehabproducts is unsupported. Their latest product marketing literature even states 86977b899cSMauro Carvalho Chehab"Mylex SCSI host adapters are compatible with all major operating systems 87977b899cSMauro Carvalho Chehabincluding: ... Linux ...". 88977b899cSMauro Carvalho Chehab 89977b899cSMauro Carvalho ChehabMylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California 90977b899cSMauro Carvalho Chehab94555, USA and can be reached at 510/796-6100 or on the World Wide Web at 91977b899cSMauro Carvalho Chehabhttp://www.mylex.com. Mylex HBA Technical Support can be reached by electronic 92977b899cSMauro Carvalho Chehabmail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715. 93977b899cSMauro Carvalho ChehabContact information for offices in Europe and Japan is available on the Web 94977b899cSMauro Carvalho Chehabsite. 95977b899cSMauro Carvalho Chehab 96977b899cSMauro Carvalho Chehab 97977b899cSMauro Carvalho ChehabDriver Features 98977b899cSMauro Carvalho Chehab=============== 99977b899cSMauro Carvalho Chehab 100977b899cSMauro Carvalho ChehabConfiguration Reporting and Testing 101977b899cSMauro Carvalho Chehab----------------------------------- 102977b899cSMauro Carvalho Chehab 103977b899cSMauro Carvalho Chehab During system initialization, the driver reports extensively on the host 104977b899cSMauro Carvalho Chehab adapter hardware configuration, including the synchronous transfer parameters 105977b899cSMauro Carvalho Chehab requested and negotiated with each target device. AutoSCSI settings for 106977b899cSMauro Carvalho Chehab Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are 107977b899cSMauro Carvalho Chehab reported for each target device, as well as the status of Tagged Queuing. 108977b899cSMauro Carvalho Chehab If the same setting is in effect for all target devices, then a single word 109977b899cSMauro Carvalho Chehab or phrase is used; otherwise, a letter is provided for each target device to 110977b899cSMauro Carvalho Chehab indicate the individual status. The following examples 111977b899cSMauro Carvalho Chehab should clarify this reporting format: 112977b899cSMauro Carvalho Chehab 113977b899cSMauro Carvalho Chehab Synchronous Negotiation: Ultra 114977b899cSMauro Carvalho Chehab 115977b899cSMauro Carvalho Chehab Synchronous negotiation is enabled for all target devices and the host 116977b899cSMauro Carvalho Chehab adapter will attempt to negotiate for 20.0 mega-transfers/second. 117977b899cSMauro Carvalho Chehab 118977b899cSMauro Carvalho Chehab Synchronous Negotiation: Fast 119977b899cSMauro Carvalho Chehab 120977b899cSMauro Carvalho Chehab Synchronous negotiation is enabled for all target devices and the host 121977b899cSMauro Carvalho Chehab adapter will attempt to negotiate for 10.0 mega-transfers/second. 122977b899cSMauro Carvalho Chehab 123977b899cSMauro Carvalho Chehab Synchronous Negotiation: Slow 124977b899cSMauro Carvalho Chehab 125977b899cSMauro Carvalho Chehab Synchronous negotiation is enabled for all target devices and the host 126977b899cSMauro Carvalho Chehab adapter will attempt to negotiate for 5.0 mega-transfers/second. 127977b899cSMauro Carvalho Chehab 128977b899cSMauro Carvalho Chehab Synchronous Negotiation: Disabled 129977b899cSMauro Carvalho Chehab 130977b899cSMauro Carvalho Chehab Synchronous negotiation is disabled and all target devices are limited to 131977b899cSMauro Carvalho Chehab asynchronous operation. 132977b899cSMauro Carvalho Chehab 133977b899cSMauro Carvalho Chehab Synchronous Negotiation: UFSNUUU#UUUUUUUU 134977b899cSMauro Carvalho Chehab 135977b899cSMauro Carvalho Chehab Synchronous negotiation to Ultra speed is enabled for target devices 0 136977b899cSMauro Carvalho Chehab and 4 through 15, to Fast speed for target device 1, to Slow speed for 137977b899cSMauro Carvalho Chehab target device 2, and is not permitted to target device 3. The host 138977b899cSMauro Carvalho Chehab adapter's SCSI ID is represented by the "#". 139977b899cSMauro Carvalho Chehab 140977b899cSMauro Carvalho Chehab The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing 141977b899cSMauro Carvalho Chehab are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters. 142977b899cSMauro Carvalho Chehab 143977b899cSMauro Carvalho ChehabPerformance Features 144977b899cSMauro Carvalho Chehab-------------------- 145977b899cSMauro Carvalho Chehab 146977b899cSMauro Carvalho Chehab BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so 147977b899cSMauro Carvalho Chehab support has been included in the driver to utilize tagged queuing with any 148977b899cSMauro Carvalho Chehab target devices that report having the tagged queuing capability. Tagged 149977b899cSMauro Carvalho Chehab queuing allows for multiple outstanding commands to be issued to each target 150977b899cSMauro Carvalho Chehab device or logical unit, and can improve I/O performance substantially. In 151977b899cSMauro Carvalho Chehab addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter 152977b899cSMauro Carvalho Chehab performance, and scatter/gather I/O can support as many segments as can be 153977b899cSMauro Carvalho Chehab effectively utilized by the Linux I/O subsystem. Control over the use of 154977b899cSMauro Carvalho Chehab tagged queuing for each target device as well as individual selection of the 155977b899cSMauro Carvalho Chehab tagged queue depth is available through driver options provided on the kernel 156977b899cSMauro Carvalho Chehab command line or at module initialization time. By default, the queue depth 157977b899cSMauro Carvalho Chehab is determined automatically based on the host adapter's total queue depth and 158977b899cSMauro Carvalho Chehab the number, type, speed, and capabilities of the target devices found. In 159977b899cSMauro Carvalho Chehab addition, tagged queuing is automatically disabled whenever the host adapter 160977b899cSMauro Carvalho Chehab firmware version is known not to implement it correctly, or whenever a tagged 161977b899cSMauro Carvalho Chehab queue depth of 1 is selected. Tagged queuing is also disabled for individual 162977b899cSMauro Carvalho Chehab target devices if disconnect/reconnect is disabled for that device. 163977b899cSMauro Carvalho Chehab 164977b899cSMauro Carvalho ChehabRobustness Features 165977b899cSMauro Carvalho Chehab------------------- 166977b899cSMauro Carvalho Chehab 167977b899cSMauro Carvalho Chehab The driver implements extensive error recovery procedures. When the higher 168977b899cSMauro Carvalho Chehab level parts of the SCSI subsystem request that a timed out command be reset, 169977b899cSMauro Carvalho Chehab a selection is made between a full host adapter hard reset and SCSI bus reset 170977b899cSMauro Carvalho Chehab versus sending a bus device reset message to the individual target device 171977b899cSMauro Carvalho Chehab based on the recommendation of the SCSI subsystem. Error recovery strategies 172977b899cSMauro Carvalho Chehab are selectable through driver options individually for each target device, 173977b899cSMauro Carvalho Chehab and also include sending a bus device reset to the specific target device 174977b899cSMauro Carvalho Chehab associated with the command being reset, as well as suppressing error 175977b899cSMauro Carvalho Chehab recovery entirely to avoid perturbing an improperly functioning device. If 176977b899cSMauro Carvalho Chehab the bus device reset error recovery strategy is selected and sending a bus 177977b899cSMauro Carvalho Chehab device reset does not restore correct operation, the next command that is 178977b899cSMauro Carvalho Chehab reset will force a full host adapter hard reset and SCSI bus reset. SCSI bus 179977b899cSMauro Carvalho Chehab resets caused by other devices and detected by the host adapter are also 180977b899cSMauro Carvalho Chehab handled by issuing a soft reset to the host adapter and re-initialization. 181977b899cSMauro Carvalho Chehab Finally, if tagged queuing is active and more than one command reset occurs 182977b899cSMauro Carvalho Chehab in a 10 minute interval, or if a command reset occurs within the first 10 183977b899cSMauro Carvalho Chehab minutes of operation, then tagged queuing will be disabled for that target 184977b899cSMauro Carvalho Chehab device. These error recovery options improve overall system robustness by 185977b899cSMauro Carvalho Chehab preventing individual errant devices from causing the system as a whole to 186977b899cSMauro Carvalho Chehab lock up or crash, and thereby allowing a clean shutdown and restart after the 187977b899cSMauro Carvalho Chehab offending component is removed. 188977b899cSMauro Carvalho Chehab 189977b899cSMauro Carvalho ChehabPCI Configuration Support 190977b899cSMauro Carvalho Chehab------------------------- 191977b899cSMauro Carvalho Chehab 192977b899cSMauro Carvalho Chehab On PCI systems running kernels compiled with PCI BIOS support enabled, this 193977b899cSMauro Carvalho Chehab driver will interrogate the PCI configuration space and use the I/O port 194977b899cSMauro Carvalho Chehab addresses assigned by the system BIOS, rather than the ISA compatible I/O 195977b899cSMauro Carvalho Chehab port addresses. The ISA compatible I/O port address is then disabled by the 196977b899cSMauro Carvalho Chehab driver. On PCI systems it is also recommended that the AutoSCSI utility be 197977b899cSMauro Carvalho Chehab used to disable the ISA compatible I/O port entirely as it is not necessary. 198977b899cSMauro Carvalho Chehab The ISA compatible I/O port is disabled by default on the BT-948/958/958D. 199977b899cSMauro Carvalho Chehab 200977b899cSMauro Carvalho Chehab/proc File System Support 201977b899cSMauro Carvalho Chehab------------------------- 202977b899cSMauro Carvalho Chehab 203977b899cSMauro Carvalho Chehab Copies of the host adapter configuration information together with updated 204977b899cSMauro Carvalho Chehab data transfer and error recovery statistics are available through the 205977b899cSMauro Carvalho Chehab /proc/scsi/BusLogic/<N> interface. 206977b899cSMauro Carvalho Chehab 207977b899cSMauro Carvalho ChehabShared Interrupts Support 208977b899cSMauro Carvalho Chehab------------------------- 209977b899cSMauro Carvalho Chehab 210977b899cSMauro Carvalho Chehab On systems that support shared interrupts, any number of BusLogic Host 211977b899cSMauro Carvalho Chehab Adapters may share the same interrupt request channel. 212977b899cSMauro Carvalho Chehab 213977b899cSMauro Carvalho Chehab 214977b899cSMauro Carvalho ChehabSupported Host Adapters 215977b899cSMauro Carvalho Chehab======================= 216977b899cSMauro Carvalho Chehab 217977b899cSMauro Carvalho ChehabThe following list comprises the supported BusLogic SCSI Host Adapters as of 218977b899cSMauro Carvalho Chehabthe date of this document. It is recommended that anyone purchasing a BusLogic 219977b899cSMauro Carvalho ChehabHost Adapter not in the following table contact the author beforehand to verify 220977b899cSMauro Carvalho Chehabthat it is or will be supported. 221977b899cSMauro Carvalho Chehab 222977b899cSMauro Carvalho ChehabFlashPoint Series PCI Host Adapters: 223977b899cSMauro Carvalho Chehab 224977b899cSMauro Carvalho Chehab======================= ============================================= 225977b899cSMauro Carvalho ChehabFlashPoint LT (BT-930) Ultra SCSI-3 226977b899cSMauro Carvalho ChehabFlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus 227977b899cSMauro Carvalho ChehabFlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS) 228977b899cSMauro Carvalho ChehabFlashPoint DL (BT-932) Dual Channel Ultra SCSI-3 229977b899cSMauro Carvalho ChehabFlashPoint DL (BT-932R) Dual Channel Ultra SCSI-3 with RAIDPlus 230977b899cSMauro Carvalho ChehabFlashPoint LW (BT-950) Wide Ultra SCSI-3 231977b899cSMauro Carvalho ChehabFlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus 232977b899cSMauro Carvalho ChehabFlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3 233977b899cSMauro Carvalho ChehabFlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus 234977b899cSMauro Carvalho Chehab======================= ============================================= 235977b899cSMauro Carvalho Chehab 236977b899cSMauro Carvalho ChehabMultiMaster "W" Series Host Adapters: 237977b899cSMauro Carvalho Chehab 238977b899cSMauro Carvalho Chehab======= === ============================== 239977b899cSMauro Carvalho ChehabBT-948 PCI Ultra SCSI-3 240977b899cSMauro Carvalho ChehabBT-958 PCI Wide Ultra SCSI-3 241977b899cSMauro Carvalho ChehabBT-958D PCI Wide Differential Ultra SCSI-3 242977b899cSMauro Carvalho Chehab======= === ============================== 243977b899cSMauro Carvalho Chehab 244977b899cSMauro Carvalho ChehabMultiMaster "C" Series Host Adapters: 245977b899cSMauro Carvalho Chehab 246977b899cSMauro Carvalho Chehab======== ==== ============================== 247977b899cSMauro Carvalho ChehabBT-946C PCI Fast SCSI-2 248977b899cSMauro Carvalho ChehabBT-956C PCI Wide Fast SCSI-2 249977b899cSMauro Carvalho ChehabBT-956CD PCI Wide Differential Fast SCSI-2 250977b899cSMauro Carvalho ChehabBT-445C VLB Fast SCSI-2 251977b899cSMauro Carvalho ChehabBT-747C EISA Fast SCSI-2 252977b899cSMauro Carvalho ChehabBT-757C EISA Wide Fast SCSI-2 253977b899cSMauro Carvalho ChehabBT-757CD EISA Wide Differential Fast SCSI-2 254977b899cSMauro Carvalho Chehab======== ==== ============================== 255977b899cSMauro Carvalho Chehab 256977b899cSMauro Carvalho ChehabMultiMaster "S" Series Host Adapters: 257977b899cSMauro Carvalho Chehab 258977b899cSMauro Carvalho Chehab======= ==== ============================== 259977b899cSMauro Carvalho ChehabBT-445S VLB Fast SCSI-2 260977b899cSMauro Carvalho ChehabBT-747S EISA Fast SCSI-2 261977b899cSMauro Carvalho ChehabBT-747D EISA Differential Fast SCSI-2 262977b899cSMauro Carvalho ChehabBT-757S EISA Wide Fast SCSI-2 263977b899cSMauro Carvalho ChehabBT-757D EISA Wide Differential Fast SCSI-2 264977b899cSMauro Carvalho ChehabBT-742A EISA SCSI-2 (742A revision H) 265977b899cSMauro Carvalho Chehab======= ==== ============================== 266977b899cSMauro Carvalho Chehab 267977b899cSMauro Carvalho ChehabMultiMaster "A" Series Host Adapters: 268977b899cSMauro Carvalho Chehab 269977b899cSMauro Carvalho Chehab======= ==== ============================== 270977b899cSMauro Carvalho ChehabBT-742A EISA SCSI-2 (742A revisions A - G) 271977b899cSMauro Carvalho Chehab======= ==== ============================== 272977b899cSMauro Carvalho Chehab 273977b899cSMauro Carvalho ChehabAMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also 274977b899cSMauro Carvalho Chehabsupported by this driver. 275977b899cSMauro Carvalho Chehab 276977b899cSMauro Carvalho ChehabBusLogic SCSI Host Adapters are available packaged both as bare boards and as 277977b899cSMauro Carvalho Chehabretail kits. The BT- model numbers above refer to the bare board packaging. 278977b899cSMauro Carvalho ChehabThe retail kit model numbers are found by replacing BT- with KT- in the above 279977b899cSMauro Carvalho Chehablist. The retail kit includes the bare board and manual as well as cabling and 280977b899cSMauro Carvalho Chehabdriver media and documentation that are not provided with bare boards. 281977b899cSMauro Carvalho Chehab 282977b899cSMauro Carvalho Chehab 283977b899cSMauro Carvalho ChehabFlashPoint Installation Notes 284977b899cSMauro Carvalho Chehab============================= 285977b899cSMauro Carvalho Chehab 286977b899cSMauro Carvalho ChehabRAIDPlus Support 287977b899cSMauro Carvalho Chehab---------------- 288977b899cSMauro Carvalho Chehab 289977b899cSMauro Carvalho Chehab FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software 290977b899cSMauro Carvalho Chehab RAID. RAIDPlus is not supported on Linux, and there are no plans to support 291977b899cSMauro Carvalho Chehab it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and 292977b899cSMauro Carvalho Chehab striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4), 293977b899cSMauro Carvalho Chehab and distributed parity (RAID-5) is available separately. The built-in Linux 294977b899cSMauro Carvalho Chehab RAID support is generally more flexible and is expected to perform better 295977b899cSMauro Carvalho Chehab than RAIDPlus, so there is little impetus to include RAIDPlus support in the 296977b899cSMauro Carvalho Chehab BusLogic driver. 297977b899cSMauro Carvalho Chehab 298977b899cSMauro Carvalho ChehabEnabling UltraSCSI Transfers 299977b899cSMauro Carvalho Chehab---------------------------- 300977b899cSMauro Carvalho Chehab 301977b899cSMauro Carvalho Chehab FlashPoint Host Adapters ship with their configuration set to "Factory 302977b899cSMauro Carvalho Chehab Default" settings that are conservative and do not allow for UltraSCSI speed 303977b899cSMauro Carvalho Chehab to be negotiated. This results in fewer problems when these host adapters 304977b899cSMauro Carvalho Chehab are installed in systems with cabling or termination that is not sufficient 305977b899cSMauro Carvalho Chehab for UltraSCSI operation, or where existing SCSI devices do not properly 306977b899cSMauro Carvalho Chehab respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI 307977b899cSMauro Carvalho Chehab may be used to load "Optimum Performance" settings which allow UltraSCSI 308977b899cSMauro Carvalho Chehab speed to be negotiated with all devices, or UltraSCSI speed can be enabled on 309977b899cSMauro Carvalho Chehab an individual basis. It is recommended that SCAM be manually disabled after 310977b899cSMauro Carvalho Chehab the "Optimum Performance" settings are loaded. 311977b899cSMauro Carvalho Chehab 312977b899cSMauro Carvalho Chehab 313977b899cSMauro Carvalho ChehabBT-948/958/958D Installation Notes 314977b899cSMauro Carvalho Chehab================================== 315977b899cSMauro Carvalho Chehab 316977b899cSMauro Carvalho ChehabThe BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may 317977b899cSMauro Carvalho Chehabrequire attention in some circumstances when installing Linux. 318977b899cSMauro Carvalho Chehab 319977b899cSMauro Carvalho ChehabPCI I/O Port Assignments 320977b899cSMauro Carvalho Chehab------------------------ 321977b899cSMauro Carvalho Chehab 322977b899cSMauro Carvalho Chehab When configured to factory default settings, the BT-948/958/958D will only 323977b899cSMauro Carvalho Chehab recognize the PCI I/O port assignments made by the motherboard's PCI BIOS. 324977b899cSMauro Carvalho Chehab The BT-948/958/958D will not respond to any of the ISA compatible I/O ports 325977b899cSMauro Carvalho Chehab that previous BusLogic SCSI Host Adapters respond to. This driver supports 326977b899cSMauro Carvalho Chehab the PCI I/O port assignments, so this is the preferred configuration. 327977b899cSMauro Carvalho Chehab However, if the obsolete BusLogic driver must be used for any reason, such as 328977b899cSMauro Carvalho Chehab a Linux distribution that does not yet use this driver in its boot kernel, 329977b899cSMauro Carvalho Chehab BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA 330977b899cSMauro Carvalho Chehab compatible I/O port. 331977b899cSMauro Carvalho Chehab 332977b899cSMauro Carvalho Chehab To enable this backward compatibility option, invoke the AutoSCSI utility via 333977b899cSMauro Carvalho Chehab Ctrl-B at system startup and select "Adapter Configuration", "View/Modify 334977b899cSMauro Carvalho Chehab Configuration", and then change the "ISA Compatible Port" setting from 335977b899cSMauro Carvalho Chehab "Disable" to "Primary" or "Alternate". Once this driver has been installed, 336977b899cSMauro Carvalho Chehab the "ISA Compatible Port" option should be set back to "Disable" to avoid 337977b899cSMauro Carvalho Chehab possible future I/O port conflicts. The older BT-946C/956C/956CD also have 338977b899cSMauro Carvalho Chehab this configuration option, but the factory default setting is "Primary". 339977b899cSMauro Carvalho Chehab 340977b899cSMauro Carvalho ChehabPCI Slot Scanning Order 341977b899cSMauro Carvalho Chehab----------------------- 342977b899cSMauro Carvalho Chehab 343977b899cSMauro Carvalho Chehab In systems with multiple BusLogic PCI Host Adapters, the order in which the 344977b899cSMauro Carvalho Chehab PCI slots are scanned may appear reversed with the BT-948/958/958D as 345977b899cSMauro Carvalho Chehab compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work 346977b899cSMauro Carvalho Chehab correctly, it is necessary that the host adapter's BIOS and the kernel agree 347977b899cSMauro Carvalho Chehab on which disk is the boot device, which requires that they recognize the PCI 348977b899cSMauro Carvalho Chehab host adapters in the same order. The motherboard's PCI BIOS provides a 349977b899cSMauro Carvalho Chehab standard way of enumerating the PCI host adapters, which is used by the Linux 350977b899cSMauro Carvalho Chehab kernel. Some PCI BIOS implementations enumerate the PCI slots in order of 351977b899cSMauro Carvalho Chehab increasing bus number and device number, while others do so in the opposite 352977b899cSMauro Carvalho Chehab direction. 353977b899cSMauro Carvalho Chehab 354977b899cSMauro Carvalho Chehab Unfortunately, Microsoft decided that Windows 95 would always enumerate the 355977b899cSMauro Carvalho Chehab PCI slots in order of increasing bus number and device number regardless of 356977b899cSMauro Carvalho Chehab the PCI BIOS enumeration, and requires that their scheme be supported by the 357977b899cSMauro Carvalho Chehab host adapter's BIOS to receive Windows 95 certification. Therefore, the 358977b899cSMauro Carvalho Chehab factory default settings of the BT-948/958/958D enumerate the host adapters 359977b899cSMauro Carvalho Chehab by increasing bus number and device number. To disable this feature, invoke 360977b899cSMauro Carvalho Chehab the AutoSCSI utility via Ctrl-B at system startup and select "Adapter 361977b899cSMauro Carvalho Chehab Configuration", "View/Modify Configuration", press Ctrl-F10, and then change 362977b899cSMauro Carvalho Chehab the "Use Bus And Device # For PCI Scanning Seq." option to OFF. 363977b899cSMauro Carvalho Chehab 364977b899cSMauro Carvalho Chehab This driver will interrogate the setting of the PCI Scanning Sequence option 365977b899cSMauro Carvalho Chehab so as to recognize the host adapters in the same order as they are enumerated 366977b899cSMauro Carvalho Chehab by the host adapter's BIOS. 367977b899cSMauro Carvalho Chehab 368977b899cSMauro Carvalho ChehabEnabling UltraSCSI Transfers 369977b899cSMauro Carvalho Chehab---------------------------- 370977b899cSMauro Carvalho Chehab 371977b899cSMauro Carvalho Chehab The BT-948/958/958D ship with their configuration set to "Factory Default" 372977b899cSMauro Carvalho Chehab settings that are conservative and do not allow for UltraSCSI speed to be 373977b899cSMauro Carvalho Chehab negotiated. This results in fewer problems when these host adapters are 374977b899cSMauro Carvalho Chehab installed in systems with cabling or termination that is not sufficient for 375977b899cSMauro Carvalho Chehab UltraSCSI operation, or where existing SCSI devices do not properly respond 376977b899cSMauro Carvalho Chehab to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be 377977b899cSMauro Carvalho Chehab used to load "Optimum Performance" settings which allow UltraSCSI speed to be 378977b899cSMauro Carvalho Chehab negotiated with all devices, or UltraSCSI speed can be enabled on an 379977b899cSMauro Carvalho Chehab individual basis. It is recommended that SCAM be manually disabled after the 380977b899cSMauro Carvalho Chehab "Optimum Performance" settings are loaded. 381977b899cSMauro Carvalho Chehab 382977b899cSMauro Carvalho Chehab 383977b899cSMauro Carvalho ChehabDriver Options 384977b899cSMauro Carvalho Chehab============== 385977b899cSMauro Carvalho Chehab 386977b899cSMauro Carvalho ChehabBusLogic Driver Options may be specified either via the Linux Kernel Command 387977b899cSMauro Carvalho ChehabLine or via the Loadable Kernel Module Installation Facility. Driver Options 388977b899cSMauro Carvalho Chehabfor multiple host adapters may be specified either by separating the option 389977b899cSMauro Carvalho Chehabstrings by a semicolon, or by specifying multiple "BusLogic=" strings on the 390977b899cSMauro Carvalho Chehabcommand line. Individual option specifications for a single host adapter are 391977b899cSMauro Carvalho Chehabseparated by commas. The Probing and Debugging Options apply to all host 392977b899cSMauro Carvalho Chehabadapters whereas the remaining options apply individually only to the 393977b899cSMauro Carvalho Chehabselected host adapter. 394977b899cSMauro Carvalho Chehab 395977b899cSMauro Carvalho ChehabThe BusLogic Driver Probing Options comprise the following: 396977b899cSMauro Carvalho Chehab 397977b899cSMauro Carvalho ChehabNoProbe 398977b899cSMauro Carvalho Chehab 399977b899cSMauro Carvalho Chehab The "NoProbe" option disables all probing and therefore no BusLogic Host 400977b899cSMauro Carvalho Chehab Adapters will be detected. 401977b899cSMauro Carvalho Chehab 402977b899cSMauro Carvalho ChehabNoProbePCI 403977b899cSMauro Carvalho Chehab 404977b899cSMauro Carvalho Chehab The "NoProbePCI" options disables the interrogation of PCI Configuration 405977b899cSMauro Carvalho Chehab Space and therefore only ISA Multimaster Host Adapters will be detected, as 406977b899cSMauro Carvalho Chehab well as PCI Multimaster Host Adapters that have their ISA Compatible I/O 407977b899cSMauro Carvalho Chehab Port set to "Primary" or "Alternate". 408977b899cSMauro Carvalho Chehab 409977b899cSMauro Carvalho ChehabNoSortPCI 410977b899cSMauro Carvalho Chehab 411977b899cSMauro Carvalho Chehab The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be 412977b899cSMauro Carvalho Chehab enumerated in the order provided by the PCI BIOS, ignoring any setting of 413977b899cSMauro Carvalho Chehab the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option. 414977b899cSMauro Carvalho Chehab 415977b899cSMauro Carvalho ChehabMultiMasterFirst 416977b899cSMauro Carvalho Chehab 417977b899cSMauro Carvalho Chehab The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed 418977b899cSMauro Carvalho Chehab before FlashPoint Host Adapters. By default, if both FlashPoint and PCI 419977b899cSMauro Carvalho Chehab MultiMaster Host Adapters are present, this driver will probe for 420977b899cSMauro Carvalho Chehab FlashPoint Host Adapters first unless the BIOS primary disk is controlled 421977b899cSMauro Carvalho Chehab by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host 422977b899cSMauro Carvalho Chehab Adapters will be probed first. 423977b899cSMauro Carvalho Chehab 424977b899cSMauro Carvalho ChehabFlashPointFirst 425977b899cSMauro Carvalho Chehab 426977b899cSMauro Carvalho Chehab The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed 427977b899cSMauro Carvalho Chehab before MultiMaster Host Adapters. 428977b899cSMauro Carvalho Chehab 429977b899cSMauro Carvalho ChehabThe BusLogic Driver Tagged Queuing Options allow for explicitly specifying 430977b899cSMauro Carvalho Chehabthe Queue Depth and whether Tagged Queuing is permitted for each Target 431977b899cSMauro Carvalho ChehabDevice (assuming that the Target Device supports Tagged Queuing). The Queue 432977b899cSMauro Carvalho ChehabDepth is the number of SCSI Commands that are allowed to be concurrently 433977b899cSMauro Carvalho Chehabpresented for execution (either to the Host Adapter or Target Device). Note 434977b899cSMauro Carvalho Chehabthat explicitly enabling Tagged Queuing may lead to problems; the option to 435977b899cSMauro Carvalho Chehabenable or disable Tagged Queuing is provided primarily to allow disabling 436977b899cSMauro Carvalho ChehabTagged Queuing on Target Devices that do not implement it correctly. The 437977b899cSMauro Carvalho Chehabfollowing options are available: 438977b899cSMauro Carvalho Chehab 439977b899cSMauro Carvalho ChehabQueueDepth:<integer> 440977b899cSMauro Carvalho Chehab 441977b899cSMauro Carvalho Chehab The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all 442977b899cSMauro Carvalho Chehab Target Devices that support Tagged Queuing, as well as the maximum Queue 443977b899cSMauro Carvalho Chehab Depth for devices that do not support Tagged Queuing. If no Queue Depth 444977b899cSMauro Carvalho Chehab option is provided, the Queue Depth will be determined automatically based 445977b899cSMauro Carvalho Chehab on the Host Adapter's Total Queue Depth and the number, type, speed, and 446*8cad3b66SChristoph Hellwig capabilities of the detected Target Devices. Target Devices that 447977b899cSMauro Carvalho Chehab do not support Tagged Queuing always have their Queue Depth set to 448977b899cSMauro Carvalho Chehab BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a 449977b899cSMauro Carvalho Chehab lower Queue Depth option is provided. A Queue Depth of 1 automatically 450977b899cSMauro Carvalho Chehab disables Tagged Queuing. 451977b899cSMauro Carvalho Chehab 452977b899cSMauro Carvalho ChehabQueueDepth:[<integer>,<integer>...] 453977b899cSMauro Carvalho Chehab 454977b899cSMauro Carvalho Chehab The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth 455977b899cSMauro Carvalho Chehab individually for each Target Device. If an <integer> is omitted, the 456977b899cSMauro Carvalho Chehab associated Target Device will have its Queue Depth selected automatically. 457977b899cSMauro Carvalho Chehab 458977b899cSMauro Carvalho ChehabTaggedQueuing:Default 459977b899cSMauro Carvalho Chehab 460977b899cSMauro Carvalho Chehab The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing 461977b899cSMauro Carvalho Chehab based on the firmware version of the BusLogic Host Adapter and based on 462977b899cSMauro Carvalho Chehab whether the Queue Depth allows queuing multiple commands. 463977b899cSMauro Carvalho Chehab 464977b899cSMauro Carvalho ChehabTaggedQueuing:Enable 465977b899cSMauro Carvalho Chehab 466977b899cSMauro Carvalho Chehab The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for 467977b899cSMauro Carvalho Chehab all Target Devices on this Host Adapter, overriding any limitation that 468977b899cSMauro Carvalho Chehab would otherwise be imposed based on the Host Adapter firmware version. 469977b899cSMauro Carvalho Chehab 470977b899cSMauro Carvalho ChehabTaggedQueuing:Disable 471977b899cSMauro Carvalho Chehab 472977b899cSMauro Carvalho Chehab The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing 473977b899cSMauro Carvalho Chehab for all Target Devices on this Host Adapter. 474977b899cSMauro Carvalho Chehab 475977b899cSMauro Carvalho ChehabTaggedQueuing:<Target-Spec> 476977b899cSMauro Carvalho Chehab 477977b899cSMauro Carvalho Chehab The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls 478977b899cSMauro Carvalho Chehab Tagged Queuing individually for each Target Device. <Target-Spec> is a 479977b899cSMauro Carvalho Chehab sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N" 480977b899cSMauro Carvalho Chehab disables Tagged Queuing, and "X" accepts the default based on the firmware 481977b899cSMauro Carvalho Chehab version. The first character refers to Target Device 0, the second to 482977b899cSMauro Carvalho Chehab Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters 483977b899cSMauro Carvalho Chehab does not cover all the Target Devices, unspecified characters are assumed 484977b899cSMauro Carvalho Chehab to be "X". 485977b899cSMauro Carvalho Chehab 486977b899cSMauro Carvalho ChehabThe BusLogic Driver Miscellaneous Options comprise the following: 487977b899cSMauro Carvalho Chehab 488977b899cSMauro Carvalho ChehabBusSettleTime:<seconds> 489977b899cSMauro Carvalho Chehab 490977b899cSMauro Carvalho Chehab The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in 491977b899cSMauro Carvalho Chehab seconds. The Bus Settle Time is the amount of time to wait between a Host 492977b899cSMauro Carvalho Chehab Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI 493977b899cSMauro Carvalho Chehab Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime. 494977b899cSMauro Carvalho Chehab 495977b899cSMauro Carvalho ChehabInhibitTargetInquiry 496977b899cSMauro Carvalho Chehab 497977b899cSMauro Carvalho Chehab The "InhibitTargetInquiry" option inhibits the execution of an Inquire 498977b899cSMauro Carvalho Chehab Target Devices or Inquire Installed Devices command on MultiMaster Host 499977b899cSMauro Carvalho Chehab Adapters. This may be necessary with some older Target Devices that do not 500977b899cSMauro Carvalho Chehab respond correctly when Logical Units above 0 are addressed. 501977b899cSMauro Carvalho Chehab 502977b899cSMauro Carvalho ChehabThe BusLogic Driver Debugging Options comprise the following: 503977b899cSMauro Carvalho Chehab 504977b899cSMauro Carvalho ChehabTraceProbe 505977b899cSMauro Carvalho Chehab 506977b899cSMauro Carvalho Chehab The "TraceProbe" option enables tracing of Host Adapter Probing. 507977b899cSMauro Carvalho Chehab 508977b899cSMauro Carvalho ChehabTraceHardwareReset 509977b899cSMauro Carvalho Chehab 510977b899cSMauro Carvalho Chehab The "TraceHardwareReset" option enables tracing of Host Adapter Hardware 511977b899cSMauro Carvalho Chehab Reset. 512977b899cSMauro Carvalho Chehab 513977b899cSMauro Carvalho ChehabTraceConfiguration 514977b899cSMauro Carvalho Chehab 515977b899cSMauro Carvalho Chehab The "TraceConfiguration" option enables tracing of Host Adapter 516977b899cSMauro Carvalho Chehab Configuration. 517977b899cSMauro Carvalho Chehab 518977b899cSMauro Carvalho ChehabTraceErrors 519977b899cSMauro Carvalho Chehab 520977b899cSMauro Carvalho Chehab The "TraceErrors" option enables tracing of SCSI Commands that return an 521977b899cSMauro Carvalho Chehab error from the Target Device. The CDB and Sense Data will be printed for 522977b899cSMauro Carvalho Chehab each SCSI Command that fails. 523977b899cSMauro Carvalho Chehab 524977b899cSMauro Carvalho ChehabDebug 525977b899cSMauro Carvalho Chehab 526977b899cSMauro Carvalho Chehab The "Debug" option enables all debugging options. 527977b899cSMauro Carvalho Chehab 528977b899cSMauro Carvalho ChehabThe following examples demonstrate setting the Queue Depth for Target Devices 529977b899cSMauro Carvalho Chehab1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target 530977b899cSMauro Carvalho ChehabDevices on the second host adapter to 31, and the Bus Settle Time on the 531977b899cSMauro Carvalho Chehabsecond host adapter to 30 seconds. 532977b899cSMauro Carvalho Chehab 533977b899cSMauro Carvalho ChehabLinux Kernel Command Line:: 534977b899cSMauro Carvalho Chehab 535977b899cSMauro Carvalho Chehab linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 536977b899cSMauro Carvalho Chehab 537977b899cSMauro Carvalho ChehabLILO Linux Boot Loader (in /etc/lilo.conf):: 538977b899cSMauro Carvalho Chehab 539977b899cSMauro Carvalho Chehab append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" 540977b899cSMauro Carvalho Chehab 541977b899cSMauro Carvalho ChehabINSMOD Loadable Kernel Module Installation Facility:: 542977b899cSMauro Carvalho Chehab 543977b899cSMauro Carvalho Chehab insmod BusLogic.o \ 544977b899cSMauro Carvalho Chehab 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' 545977b899cSMauro Carvalho Chehab 546977b899cSMauro Carvalho Chehab 547977b899cSMauro Carvalho Chehab.. Note:: 548977b899cSMauro Carvalho Chehab 549977b899cSMauro Carvalho Chehab Module Utilities 2.1.71 or later is required for correct parsing 550977b899cSMauro Carvalho Chehab of driver options containing commas. 551977b899cSMauro Carvalho Chehab 552977b899cSMauro Carvalho Chehab 553977b899cSMauro Carvalho ChehabDriver Installation 554977b899cSMauro Carvalho Chehab=================== 555977b899cSMauro Carvalho Chehab 556977b899cSMauro Carvalho ChehabThis distribution was prepared for Linux kernel version 2.0.35, but should be 557977b899cSMauro Carvalho Chehabcompatible with 2.0.4 or any later 2.0 series kernel. 558977b899cSMauro Carvalho Chehab 559977b899cSMauro Carvalho ChehabTo install the new BusLogic SCSI driver, you may use the following commands, 560977b899cSMauro Carvalho Chehabreplacing "/usr/src" with wherever you keep your Linux kernel source tree:: 561977b899cSMauro Carvalho Chehab 562977b899cSMauro Carvalho Chehab cd /usr/src 563977b899cSMauro Carvalho Chehab tar -xvzf BusLogic-2.0.15.tar.gz 564977b899cSMauro Carvalho Chehab mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi 565977b899cSMauro Carvalho Chehab patch -p0 < BusLogic.patch (only for 2.0.33 and below) 566977b899cSMauro Carvalho Chehab cd linux 567977b899cSMauro Carvalho Chehab make config 568977b899cSMauro Carvalho Chehab make zImage 569977b899cSMauro Carvalho Chehab 570977b899cSMauro Carvalho ChehabThen install "arch/x86/boot/zImage" as your standard kernel, run lilo if 571977b899cSMauro Carvalho Chehabappropriate, and reboot. 572977b899cSMauro Carvalho Chehab 573977b899cSMauro Carvalho Chehab 574977b899cSMauro Carvalho ChehabBusLogic Announcements Mailing List 575977b899cSMauro Carvalho Chehab=================================== 576977b899cSMauro Carvalho Chehab 577977b899cSMauro Carvalho ChehabThe BusLogic Announcements Mailing List provides a forum for informing Linux 578977b899cSMauro Carvalho Chehabusers of new driver releases and other announcements regarding Linux support 579977b899cSMauro Carvalho Chehabfor BusLogic SCSI Host Adapters. To join the mailing list, send a message to 580977b899cSMauro Carvalho Chehab"buslogic-announce-request@dandelion.com" with the line "subscribe" in the 581977b899cSMauro Carvalho Chehabmessage body. 582