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