]>
Commit | Line | Data |
---|---|---|
977b899c MCC |
1 | .. SPDX-License-Identifier: GPL-2.0 |
2 | ||
3 | ========================================================= | |
4 | BusLogic MultiMaster and FlashPoint SCSI Driver for Linux | |
5 | ========================================================= | |
1da177e4 LT |
6 | |
7 | Version 2.0.15 for Linux 2.0 | |
977b899c | 8 | |
1da177e4 LT |
9 | Version 2.1.15 for Linux 2.1 |
10 | ||
11 | PRODUCTION RELEASE | |
12 | ||
13 | 17 August 1998 | |
14 | ||
15 | Leonard N. Zubkoff | |
977b899c | 16 | |
1da177e4 | 17 | Dandelion Digital |
977b899c | 18 | |
1da177e4 LT |
19 | lnz@dandelion.com |
20 | ||
21 | Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com> | |
22 | ||
23 | ||
977b899c MCC |
24 | Introduction |
25 | ============ | |
1da177e4 LT |
26 | |
27 | BusLogic, Inc. designed and manufactured a variety of high performance SCSI | |
28 | host adapters which share a common programming interface across a diverse | |
29 | collection of bus architectures by virtue of their MultiMaster ASIC technology. | |
30 | BusLogic was acquired by Mylex Corporation in February 1996, but the products | |
31 | supported by this driver originated under the BusLogic name and so that name is | |
32 | retained in the source code and documentation. | |
33 | ||
34 | This driver supports all present BusLogic MultiMaster Host Adapters, and should | |
35 | support any future MultiMaster designs with little or no modification. More | |
36 | recently, BusLogic introduced the FlashPoint Host Adapters, which are less | |
37 | costly and rely on the host CPU, rather than including an onboard processor. | |
38 | Despite not having an onboard CPU, the FlashPoint Host Adapters perform very | |
39 | well and have very low command latency. BusLogic has recently provided me with | |
40 | the FlashPoint Driver Developer's Kit, which comprises documentation and freely | |
41 | redistributable source code for the FlashPoint SCCB Manager. The SCCB Manager | |
42 | is the library of code that runs on the host CPU and performs functions | |
43 | analogous to the firmware on the MultiMaster Host Adapters. Thanks to their | |
44 | having provided the SCCB Manager, this driver now supports the FlashPoint Host | |
45 | Adapters as well. | |
46 | ||
47 | My primary goals in writing this completely new BusLogic driver for Linux are | |
48 | to achieve the full performance that BusLogic SCSI Host Adapters and modern | |
49 | SCSI peripherals are capable of, and to provide a highly robust driver that can | |
50 | be depended upon for high performance mission critical applications. All of | |
51 | the major performance features can be configured from the Linux kernel command | |
52 | line or at module initialization time, allowing individual installations to | |
53 | tune driver performance and error recovery to their particular needs. | |
54 | ||
55 | The latest information on Linux support for BusLogic SCSI Host Adapters, as | |
56 | well as the most recent release of this driver and the latest firmware for the | |
57 | BT-948/958/958D, will always be available from my Linux Home Page at URL | |
0ea6e611 | 58 | "http://sourceforge.net/projects/dandelion/". |
1da177e4 LT |
59 | |
60 | Bug reports should be sent via electronic mail to "lnz@dandelion.com". Please | |
61 | include with the bug report the complete configuration messages reported by the | |
62 | driver and SCSI subsystem at startup, along with any subsequent system messages | |
63 | relevant to SCSI operations, and a detailed description of your system's | |
64 | hardware configuration. | |
65 | ||
66 | Mylex has been an excellent company to work with and I highly recommend their | |
67 | products to the Linux community. In November 1995, I was offered the | |
68 | opportunity to become a beta test site for their latest MultiMaster product, | |
69 | the BT-948 PCI Ultra SCSI Host Adapter, and then again for the BT-958 PCI Wide | |
70 | Ultra SCSI Host Adapter in January 1996. This was mutually beneficial since | |
71 | Mylex received a degree and kind of testing that their own testing group cannot | |
72 | readily achieve, and the Linux community has available high performance host | |
73 | adapters that have been well tested with Linux even before being brought to | |
74 | market. This relationship has also given me the opportunity to interact | |
75 | directly with their technical staff, to understand more about the internal | |
76 | workings of their products, and in turn to educate them about the needs and | |
77 | potential of the Linux community. | |
78 | ||
79 | More recently, Mylex has reaffirmed the company's interest in supporting the | |
80 | Linux community, and I am now working on a Linux driver for the DAC960 PCI RAID | |
81 | Controllers. Mylex's interest and support is greatly appreciated. | |
82 | ||
83 | Unlike some other vendors, if you contact Mylex Technical Support with a | |
84 | problem and are running Linux, they will not tell you that your use of their | |
85 | products is unsupported. Their latest product marketing literature even states | |
86 | "Mylex SCSI host adapters are compatible with all major operating systems | |
87 | including: ... Linux ...". | |
88 | ||
89 | Mylex Corporation is located at 34551 Ardenwood Blvd., Fremont, California | |
90 | 94555, USA and can be reached at 510/796-6100 or on the World Wide Web at | |
91 | http://www.mylex.com. Mylex HBA Technical Support can be reached by electronic | |
92 | mail at techsup@mylex.com, by Voice at 510/608-2400, or by FAX at 510/745-7715. | |
93 | Contact information for offices in Europe and Japan is available on the Web | |
94 | site. | |
95 | ||
96 | ||
977b899c MCC |
97 | Driver Features |
98 | =============== | |
1da177e4 | 99 | |
977b899c MCC |
100 | Configuration Reporting and Testing |
101 | ----------------------------------- | |
1da177e4 LT |
102 | |
103 | During system initialization, the driver reports extensively on the host | |
104 | adapter hardware configuration, including the synchronous transfer parameters | |
105 | requested and negotiated with each target device. AutoSCSI settings for | |
106 | Synchronous Negotiation, Wide Negotiation, and Disconnect/Reconnect are | |
107 | reported for each target device, as well as the status of Tagged Queuing. | |
108 | If the same setting is in effect for all target devices, then a single word | |
109 | or phrase is used; otherwise, a letter is provided for each target device to | |
110 | indicate the individual status. The following examples | |
111 | should clarify this reporting format: | |
112 | ||
113 | Synchronous Negotiation: Ultra | |
114 | ||
115 | Synchronous negotiation is enabled for all target devices and the host | |
116 | adapter will attempt to negotiate for 20.0 mega-transfers/second. | |
117 | ||
118 | Synchronous Negotiation: Fast | |
119 | ||
120 | Synchronous negotiation is enabled for all target devices and the host | |
121 | adapter will attempt to negotiate for 10.0 mega-transfers/second. | |
122 | ||
123 | Synchronous Negotiation: Slow | |
124 | ||
125 | Synchronous negotiation is enabled for all target devices and the host | |
126 | adapter will attempt to negotiate for 5.0 mega-transfers/second. | |
127 | ||
128 | Synchronous Negotiation: Disabled | |
129 | ||
130 | Synchronous negotiation is disabled and all target devices are limited to | |
131 | asynchronous operation. | |
132 | ||
133 | Synchronous Negotiation: UFSNUUU#UUUUUUUU | |
134 | ||
135 | Synchronous negotiation to Ultra speed is enabled for target devices 0 | |
136 | and 4 through 15, to Fast speed for target device 1, to Slow speed for | |
137 | target device 2, and is not permitted to target device 3. The host | |
138 | adapter's SCSI ID is represented by the "#". | |
139 | ||
140 | The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing | |
141 | are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters. | |
142 | ||
977b899c MCC |
143 | Performance Features |
144 | -------------------- | |
1da177e4 LT |
145 | |
146 | BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so | |
147 | support has been included in the driver to utilize tagged queuing with any | |
148 | target devices that report having the tagged queuing capability. Tagged | |
149 | queuing allows for multiple outstanding commands to be issued to each target | |
150 | device or logical unit, and can improve I/O performance substantially. In | |
151 | addition, BusLogic's Strict Round Robin Mode is used to optimize host adapter | |
152 | performance, and scatter/gather I/O can support as many segments as can be | |
153 | effectively utilized by the Linux I/O subsystem. Control over the use of | |
154 | tagged queuing for each target device as well as individual selection of the | |
155 | tagged queue depth is available through driver options provided on the kernel | |
156 | command line or at module initialization time. By default, the queue depth | |
157 | is determined automatically based on the host adapter's total queue depth and | |
158 | the number, type, speed, and capabilities of the target devices found. In | |
159 | addition, tagged queuing is automatically disabled whenever the host adapter | |
160 | firmware version is known not to implement it correctly, or whenever a tagged | |
161 | queue depth of 1 is selected. Tagged queuing is also disabled for individual | |
162 | target devices if disconnect/reconnect is disabled for that device. | |
163 | ||
977b899c MCC |
164 | Robustness Features |
165 | ------------------- | |
1da177e4 LT |
166 | |
167 | The driver implements extensive error recovery procedures. When the higher | |
168 | level parts of the SCSI subsystem request that a timed out command be reset, | |
169 | a selection is made between a full host adapter hard reset and SCSI bus reset | |
170 | versus sending a bus device reset message to the individual target device | |
171 | based on the recommendation of the SCSI subsystem. Error recovery strategies | |
172 | are selectable through driver options individually for each target device, | |
173 | and also include sending a bus device reset to the specific target device | |
174 | associated with the command being reset, as well as suppressing error | |
175 | recovery entirely to avoid perturbing an improperly functioning device. If | |
176 | the bus device reset error recovery strategy is selected and sending a bus | |
177 | device reset does not restore correct operation, the next command that is | |
178 | reset will force a full host adapter hard reset and SCSI bus reset. SCSI bus | |
179 | resets caused by other devices and detected by the host adapter are also | |
180 | handled by issuing a soft reset to the host adapter and re-initialization. | |
181 | Finally, if tagged queuing is active and more than one command reset occurs | |
182 | in a 10 minute interval, or if a command reset occurs within the first 10 | |
183 | minutes of operation, then tagged queuing will be disabled for that target | |
184 | device. These error recovery options improve overall system robustness by | |
185 | preventing individual errant devices from causing the system as a whole to | |
186 | lock up or crash, and thereby allowing a clean shutdown and restart after the | |
187 | offending component is removed. | |
188 | ||
977b899c MCC |
189 | PCI Configuration Support |
190 | ------------------------- | |
1da177e4 LT |
191 | |
192 | On PCI systems running kernels compiled with PCI BIOS support enabled, this | |
193 | driver will interrogate the PCI configuration space and use the I/O port | |
194 | addresses assigned by the system BIOS, rather than the ISA compatible I/O | |
195 | port addresses. The ISA compatible I/O port address is then disabled by the | |
196 | driver. On PCI systems it is also recommended that the AutoSCSI utility be | |
197 | used to disable the ISA compatible I/O port entirely as it is not necessary. | |
198 | The ISA compatible I/O port is disabled by default on the BT-948/958/958D. | |
199 | ||
977b899c MCC |
200 | /proc File System Support |
201 | ------------------------- | |
1da177e4 LT |
202 | |
203 | Copies of the host adapter configuration information together with updated | |
204 | data transfer and error recovery statistics are available through the | |
205 | /proc/scsi/BusLogic/<N> interface. | |
206 | ||
977b899c MCC |
207 | Shared Interrupts Support |
208 | ------------------------- | |
1da177e4 LT |
209 | |
210 | On systems that support shared interrupts, any number of BusLogic Host | |
211 | Adapters may share the same interrupt request channel. | |
212 | ||
213 | ||
977b899c MCC |
214 | Supported Host Adapters |
215 | ======================= | |
1da177e4 LT |
216 | |
217 | The following list comprises the supported BusLogic SCSI Host Adapters as of | |
218 | the date of this document. It is recommended that anyone purchasing a BusLogic | |
219 | Host Adapter not in the following table contact the author beforehand to verify | |
220 | that it is or will be supported. | |
221 | ||
222 | FlashPoint Series PCI Host Adapters: | |
223 | ||
977b899c | 224 | ======================= ============================================= |
1da177e4 LT |
225 | FlashPoint LT (BT-930) Ultra SCSI-3 |
226 | FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus | |
227 | FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS) | |
228 | FlashPoint DL (BT-932) Dual Channel Ultra SCSI-3 | |
229 | FlashPoint DL (BT-932R) Dual Channel Ultra SCSI-3 with RAIDPlus | |
230 | FlashPoint LW (BT-950) Wide Ultra SCSI-3 | |
231 | FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus | |
232 | FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3 | |
233 | FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus | |
977b899c | 234 | ======================= ============================================= |
1da177e4 LT |
235 | |
236 | MultiMaster "W" Series Host Adapters: | |
237 | ||
977b899c | 238 | ======= === ============================== |
1da177e4 LT |
239 | BT-948 PCI Ultra SCSI-3 |
240 | BT-958 PCI Wide Ultra SCSI-3 | |
241 | BT-958D PCI Wide Differential Ultra SCSI-3 | |
977b899c | 242 | ======= === ============================== |
1da177e4 LT |
243 | |
244 | MultiMaster "C" Series Host Adapters: | |
245 | ||
977b899c | 246 | ======== ==== ============================== |
1da177e4 LT |
247 | BT-946C PCI Fast SCSI-2 |
248 | BT-956C PCI Wide Fast SCSI-2 | |
249 | BT-956CD PCI Wide Differential Fast SCSI-2 | |
250 | BT-445C VLB Fast SCSI-2 | |
251 | BT-747C EISA Fast SCSI-2 | |
252 | BT-757C EISA Wide Fast SCSI-2 | |
253 | BT-757CD EISA Wide Differential Fast SCSI-2 | |
254 | BT-545C ISA Fast SCSI-2 | |
255 | BT-540CF ISA Fast SCSI-2 | |
977b899c | 256 | ======== ==== ============================== |
1da177e4 LT |
257 | |
258 | MultiMaster "S" Series Host Adapters: | |
259 | ||
977b899c | 260 | ======= ==== ============================== |
1da177e4 LT |
261 | BT-445S VLB Fast SCSI-2 |
262 | BT-747S EISA Fast SCSI-2 | |
263 | BT-747D EISA Differential Fast SCSI-2 | |
264 | BT-757S EISA Wide Fast SCSI-2 | |
265 | BT-757D EISA Wide Differential Fast SCSI-2 | |
266 | BT-545S ISA Fast SCSI-2 | |
267 | BT-542D ISA Differential Fast SCSI-2 | |
268 | BT-742A EISA SCSI-2 (742A revision H) | |
269 | BT-542B ISA SCSI-2 (542B revision H) | |
977b899c | 270 | ======= ==== ============================== |
1da177e4 LT |
271 | |
272 | MultiMaster "A" Series Host Adapters: | |
273 | ||
977b899c | 274 | ======= ==== ============================== |
1da177e4 LT |
275 | BT-742A EISA SCSI-2 (742A revisions A - G) |
276 | BT-542B ISA SCSI-2 (542B revisions A - G) | |
977b899c | 277 | ======= ==== ============================== |
1da177e4 LT |
278 | |
279 | AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also | |
280 | supported by this driver. | |
281 | ||
282 | BusLogic SCSI Host Adapters are available packaged both as bare boards and as | |
283 | retail kits. The BT- model numbers above refer to the bare board packaging. | |
284 | The retail kit model numbers are found by replacing BT- with KT- in the above | |
285 | list. The retail kit includes the bare board and manual as well as cabling and | |
286 | driver media and documentation that are not provided with bare boards. | |
287 | ||
288 | ||
977b899c MCC |
289 | FlashPoint Installation Notes |
290 | ============================= | |
1da177e4 | 291 | |
977b899c MCC |
292 | RAIDPlus Support |
293 | ---------------- | |
1da177e4 LT |
294 | |
295 | FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software | |
296 | RAID. RAIDPlus is not supported on Linux, and there are no plans to support | |
297 | it. The MD driver in Linux 2.0 provides for concatenation (LINEAR) and | |
298 | striping (RAID-0), and support for mirroring (RAID-1), fixed parity (RAID-4), | |
299 | and distributed parity (RAID-5) is available separately. The built-in Linux | |
300 | RAID support is generally more flexible and is expected to perform better | |
301 | than RAIDPlus, so there is little impetus to include RAIDPlus support in the | |
302 | BusLogic driver. | |
303 | ||
977b899c MCC |
304 | Enabling UltraSCSI Transfers |
305 | ---------------------------- | |
1da177e4 LT |
306 | |
307 | FlashPoint Host Adapters ship with their configuration set to "Factory | |
308 | Default" settings that are conservative and do not allow for UltraSCSI speed | |
309 | to be negotiated. This results in fewer problems when these host adapters | |
310 | are installed in systems with cabling or termination that is not sufficient | |
311 | for UltraSCSI operation, or where existing SCSI devices do not properly | |
312 | respond to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI | |
313 | may be used to load "Optimum Performance" settings which allow UltraSCSI | |
314 | speed to be negotiated with all devices, or UltraSCSI speed can be enabled on | |
315 | an individual basis. It is recommended that SCAM be manually disabled after | |
316 | the "Optimum Performance" settings are loaded. | |
317 | ||
318 | ||
977b899c MCC |
319 | BT-948/958/958D Installation Notes |
320 | ================================== | |
1da177e4 LT |
321 | |
322 | The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may | |
323 | require attention in some circumstances when installing Linux. | |
324 | ||
977b899c MCC |
325 | PCI I/O Port Assignments |
326 | ------------------------ | |
1da177e4 LT |
327 | |
328 | When configured to factory default settings, the BT-948/958/958D will only | |
329 | recognize the PCI I/O port assignments made by the motherboard's PCI BIOS. | |
330 | The BT-948/958/958D will not respond to any of the ISA compatible I/O ports | |
331 | that previous BusLogic SCSI Host Adapters respond to. This driver supports | |
332 | the PCI I/O port assignments, so this is the preferred configuration. | |
333 | However, if the obsolete BusLogic driver must be used for any reason, such as | |
334 | a Linux distribution that does not yet use this driver in its boot kernel, | |
335 | BusLogic has provided an AutoSCSI configuration option to enable a legacy ISA | |
336 | compatible I/O port. | |
337 | ||
338 | To enable this backward compatibility option, invoke the AutoSCSI utility via | |
339 | Ctrl-B at system startup and select "Adapter Configuration", "View/Modify | |
340 | Configuration", and then change the "ISA Compatible Port" setting from | |
341 | "Disable" to "Primary" or "Alternate". Once this driver has been installed, | |
342 | the "ISA Compatible Port" option should be set back to "Disable" to avoid | |
343 | possible future I/O port conflicts. The older BT-946C/956C/956CD also have | |
344 | this configuration option, but the factory default setting is "Primary". | |
345 | ||
977b899c MCC |
346 | PCI Slot Scanning Order |
347 | ----------------------- | |
1da177e4 LT |
348 | |
349 | In systems with multiple BusLogic PCI Host Adapters, the order in which the | |
350 | PCI slots are scanned may appear reversed with the BT-948/958/958D as | |
351 | compared to the BT-946C/956C/956CD. For booting from a SCSI disk to work | |
352 | correctly, it is necessary that the host adapter's BIOS and the kernel agree | |
353 | on which disk is the boot device, which requires that they recognize the PCI | |
354 | host adapters in the same order. The motherboard's PCI BIOS provides a | |
355 | standard way of enumerating the PCI host adapters, which is used by the Linux | |
356 | kernel. Some PCI BIOS implementations enumerate the PCI slots in order of | |
357 | increasing bus number and device number, while others do so in the opposite | |
358 | direction. | |
359 | ||
360 | Unfortunately, Microsoft decided that Windows 95 would always enumerate the | |
361 | PCI slots in order of increasing bus number and device number regardless of | |
362 | the PCI BIOS enumeration, and requires that their scheme be supported by the | |
363 | host adapter's BIOS to receive Windows 95 certification. Therefore, the | |
364 | factory default settings of the BT-948/958/958D enumerate the host adapters | |
365 | by increasing bus number and device number. To disable this feature, invoke | |
366 | the AutoSCSI utility via Ctrl-B at system startup and select "Adapter | |
367 | Configuration", "View/Modify Configuration", press Ctrl-F10, and then change | |
368 | the "Use Bus And Device # For PCI Scanning Seq." option to OFF. | |
369 | ||
370 | This driver will interrogate the setting of the PCI Scanning Sequence option | |
371 | so as to recognize the host adapters in the same order as they are enumerated | |
372 | by the host adapter's BIOS. | |
373 | ||
977b899c MCC |
374 | Enabling UltraSCSI Transfers |
375 | ---------------------------- | |
1da177e4 LT |
376 | |
377 | The BT-948/958/958D ship with their configuration set to "Factory Default" | |
378 | settings that are conservative and do not allow for UltraSCSI speed to be | |
379 | negotiated. This results in fewer problems when these host adapters are | |
380 | installed in systems with cabling or termination that is not sufficient for | |
381 | UltraSCSI operation, or where existing SCSI devices do not properly respond | |
382 | to synchronous transfer negotiation for UltraSCSI speed. AutoSCSI may be | |
383 | used to load "Optimum Performance" settings which allow UltraSCSI speed to be | |
384 | negotiated with all devices, or UltraSCSI speed can be enabled on an | |
385 | individual basis. It is recommended that SCAM be manually disabled after the | |
386 | "Optimum Performance" settings are loaded. | |
387 | ||
388 | ||
977b899c MCC |
389 | Driver Options |
390 | ============== | |
1da177e4 LT |
391 | |
392 | BusLogic Driver Options may be specified either via the Linux Kernel Command | |
393 | Line or via the Loadable Kernel Module Installation Facility. Driver Options | |
394 | for multiple host adapters may be specified either by separating the option | |
395 | strings by a semicolon, or by specifying multiple "BusLogic=" strings on the | |
396 | command line. Individual option specifications for a single host adapter are | |
397 | separated by commas. The Probing and Debugging Options apply to all host | |
398 | adapters whereas the remaining options apply individually only to the | |
399 | selected host adapter. | |
400 | ||
401 | The BusLogic Driver Probing Options comprise the following: | |
402 | ||
403 | IO:<integer> | |
404 | ||
405 | The "IO:" option specifies an ISA I/O Address to be probed for a non-PCI | |
406 | MultiMaster Host Adapter. If neither "IO:" nor "NoProbeISA" options are | |
407 | specified, then the standard list of BusLogic MultiMaster ISA I/O Addresses | |
408 | will be probed (0x330, 0x334, 0x230, 0x234, 0x130, and 0x134). Multiple | |
409 | "IO:" options may be specified to precisely determine the I/O Addresses to | |
410 | be probed, but the probe order will always follow the standard list. | |
411 | ||
412 | NoProbe | |
413 | ||
414 | The "NoProbe" option disables all probing and therefore no BusLogic Host | |
415 | Adapters will be detected. | |
416 | ||
417 | NoProbeISA | |
418 | ||
419 | The "NoProbeISA" option disables probing of the standard BusLogic ISA I/O | |
420 | Addresses and therefore only PCI MultiMaster and FlashPoint Host Adapters | |
421 | will be detected. | |
422 | ||
423 | NoProbePCI | |
424 | ||
425 | The "NoProbePCI" options disables the interrogation of PCI Configuration | |
426 | Space and therefore only ISA Multimaster Host Adapters will be detected, as | |
427 | well as PCI Multimaster Host Adapters that have their ISA Compatible I/O | |
428 | Port set to "Primary" or "Alternate". | |
429 | ||
430 | NoSortPCI | |
431 | ||
432 | The "NoSortPCI" option forces PCI MultiMaster Host Adapters to be | |
433 | enumerated in the order provided by the PCI BIOS, ignoring any setting of | |
434 | the AutoSCSI "Use Bus And Device # For PCI Scanning Seq." option. | |
435 | ||
436 | MultiMasterFirst | |
437 | ||
438 | The "MultiMasterFirst" option forces MultiMaster Host Adapters to be probed | |
439 | before FlashPoint Host Adapters. By default, if both FlashPoint and PCI | |
440 | MultiMaster Host Adapters are present, this driver will probe for | |
441 | FlashPoint Host Adapters first unless the BIOS primary disk is controlled | |
442 | by the first PCI MultiMaster Host Adapter, in which case MultiMaster Host | |
443 | Adapters will be probed first. | |
444 | ||
445 | FlashPointFirst | |
446 | ||
447 | The "FlashPointFirst" option forces FlashPoint Host Adapters to be probed | |
448 | before MultiMaster Host Adapters. | |
449 | ||
450 | The BusLogic Driver Tagged Queuing Options allow for explicitly specifying | |
451 | the Queue Depth and whether Tagged Queuing is permitted for each Target | |
452 | Device (assuming that the Target Device supports Tagged Queuing). The Queue | |
453 | Depth is the number of SCSI Commands that are allowed to be concurrently | |
454 | presented for execution (either to the Host Adapter or Target Device). Note | |
455 | that explicitly enabling Tagged Queuing may lead to problems; the option to | |
456 | enable or disable Tagged Queuing is provided primarily to allow disabling | |
457 | Tagged Queuing on Target Devices that do not implement it correctly. The | |
458 | following options are available: | |
459 | ||
460 | QueueDepth:<integer> | |
461 | ||
462 | The "QueueDepth:" or QD:" option specifies the Queue Depth to use for all | |
463 | Target Devices that support Tagged Queuing, as well as the maximum Queue | |
464 | Depth for devices that do not support Tagged Queuing. If no Queue Depth | |
465 | option is provided, the Queue Depth will be determined automatically based | |
466 | on the Host Adapter's Total Queue Depth and the number, type, speed, and | |
467 | capabilities of the detected Target Devices. For Host Adapters that | |
468 | require ISA Bounce Buffers, the Queue Depth is automatically set by default | |
469 | to BusLogic_TaggedQueueDepthBB or BusLogic_UntaggedQueueDepthBB to avoid | |
470 | excessive preallocation of DMA Bounce Buffer memory. Target Devices that | |
471 | do not support Tagged Queuing always have their Queue Depth set to | |
472 | BusLogic_UntaggedQueueDepth or BusLogic_UntaggedQueueDepthBB, unless a | |
473 | lower Queue Depth option is provided. A Queue Depth of 1 automatically | |
474 | disables Tagged Queuing. | |
475 | ||
476 | QueueDepth:[<integer>,<integer>...] | |
477 | ||
478 | The "QueueDepth:[...]" or "QD:[...]" option specifies the Queue Depth | |
479 | individually for each Target Device. If an <integer> is omitted, the | |
480 | associated Target Device will have its Queue Depth selected automatically. | |
481 | ||
482 | TaggedQueuing:Default | |
483 | ||
484 | The "TaggedQueuing:Default" or "TQ:Default" option permits Tagged Queuing | |
485 | based on the firmware version of the BusLogic Host Adapter and based on | |
486 | whether the Queue Depth allows queuing multiple commands. | |
487 | ||
488 | TaggedQueuing:Enable | |
489 | ||
490 | The "TaggedQueuing:Enable" or "TQ:Enable" option enables Tagged Queuing for | |
491 | all Target Devices on this Host Adapter, overriding any limitation that | |
492 | would otherwise be imposed based on the Host Adapter firmware version. | |
493 | ||
494 | TaggedQueuing:Disable | |
495 | ||
496 | The "TaggedQueuing:Disable" or "TQ:Disable" option disables Tagged Queuing | |
497 | for all Target Devices on this Host Adapter. | |
498 | ||
499 | TaggedQueuing:<Target-Spec> | |
500 | ||
501 | The "TaggedQueuing:<Target-Spec>" or "TQ:<Target-Spec>" option controls | |
502 | Tagged Queuing individually for each Target Device. <Target-Spec> is a | |
503 | sequence of "Y", "N", and "X" characters. "Y" enables Tagged Queuing, "N" | |
504 | disables Tagged Queuing, and "X" accepts the default based on the firmware | |
505 | version. The first character refers to Target Device 0, the second to | |
506 | Target Device 1, and so on; if the sequence of "Y", "N", and "X" characters | |
507 | does not cover all the Target Devices, unspecified characters are assumed | |
508 | to be "X". | |
509 | ||
510 | The BusLogic Driver Miscellaneous Options comprise the following: | |
511 | ||
512 | BusSettleTime:<seconds> | |
513 | ||
514 | The "BusSettleTime:" or "BST:" option specifies the Bus Settle Time in | |
515 | seconds. The Bus Settle Time is the amount of time to wait between a Host | |
516 | Adapter Hard Reset which initiates a SCSI Bus Reset and issuing any SCSI | |
517 | Commands. If unspecified, it defaults to BusLogic_DefaultBusSettleTime. | |
518 | ||
519 | InhibitTargetInquiry | |
520 | ||
521 | The "InhibitTargetInquiry" option inhibits the execution of an Inquire | |
522 | Target Devices or Inquire Installed Devices command on MultiMaster Host | |
523 | Adapters. This may be necessary with some older Target Devices that do not | |
524 | respond correctly when Logical Units above 0 are addressed. | |
525 | ||
526 | The BusLogic Driver Debugging Options comprise the following: | |
527 | ||
528 | TraceProbe | |
529 | ||
530 | The "TraceProbe" option enables tracing of Host Adapter Probing. | |
531 | ||
532 | TraceHardwareReset | |
533 | ||
534 | The "TraceHardwareReset" option enables tracing of Host Adapter Hardware | |
535 | Reset. | |
536 | ||
537 | TraceConfiguration | |
538 | ||
539 | The "TraceConfiguration" option enables tracing of Host Adapter | |
540 | Configuration. | |
541 | ||
542 | TraceErrors | |
543 | ||
544 | The "TraceErrors" option enables tracing of SCSI Commands that return an | |
545 | error from the Target Device. The CDB and Sense Data will be printed for | |
546 | each SCSI Command that fails. | |
547 | ||
548 | Debug | |
549 | ||
550 | The "Debug" option enables all debugging options. | |
551 | ||
552 | The following examples demonstrate setting the Queue Depth for Target Devices | |
553 | 1 and 2 on the first host adapter to 7 and 15, the Queue Depth for all Target | |
554 | Devices on the second host adapter to 31, and the Bus Settle Time on the | |
555 | second host adapter to 30 seconds. | |
556 | ||
977b899c | 557 | Linux Kernel Command Line:: |
1da177e4 LT |
558 | |
559 | linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 | |
560 | ||
977b899c | 561 | LILO Linux Boot Loader (in /etc/lilo.conf):: |
1da177e4 LT |
562 | |
563 | append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" | |
564 | ||
977b899c | 565 | INSMOD Loadable Kernel Module Installation Facility:: |
1da177e4 LT |
566 | |
567 | insmod BusLogic.o \ | |
568 | 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' | |
569 | ||
977b899c MCC |
570 | |
571 | .. Note:: | |
572 | ||
573 | Module Utilities 2.1.71 or later is required for correct parsing | |
1da177e4 LT |
574 | of driver options containing commas. |
575 | ||
576 | ||
977b899c MCC |
577 | Driver Installation |
578 | =================== | |
1da177e4 LT |
579 | |
580 | This distribution was prepared for Linux kernel version 2.0.35, but should be | |
581 | compatible with 2.0.4 or any later 2.0 series kernel. | |
582 | ||
583 | To install the new BusLogic SCSI driver, you may use the following commands, | |
977b899c | 584 | replacing "/usr/src" with wherever you keep your Linux kernel source tree:: |
1da177e4 LT |
585 | |
586 | cd /usr/src | |
587 | tar -xvzf BusLogic-2.0.15.tar.gz | |
588 | mv README.* LICENSE.* BusLogic.[ch] FlashPoint.c linux/drivers/scsi | |
589 | patch -p0 < BusLogic.patch (only for 2.0.33 and below) | |
590 | cd linux | |
591 | make config | |
592 | make zImage | |
593 | ||
25eb650a | 594 | Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if |
1da177e4 LT |
595 | appropriate, and reboot. |
596 | ||
597 | ||
977b899c MCC |
598 | BusLogic Announcements Mailing List |
599 | =================================== | |
1da177e4 LT |
600 | |
601 | The BusLogic Announcements Mailing List provides a forum for informing Linux | |
602 | users of new driver releases and other announcements regarding Linux support | |
603 | for BusLogic SCSI Host Adapters. To join the mailing list, send a message to | |
604 | "buslogic-announce-request@dandelion.com" with the line "subscribe" in the | |
605 | message body. |