]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
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. |