Root/
1 | ==================================================================== |
2 | = Adaptec Ultra320 Family Manager Set = |
3 | = = |
4 | = README for = |
5 | = The Linux Operating System = |
6 | ==================================================================== |
7 | |
8 | The following information is available in this file: |
9 | |
10 | 1. Supported Hardware |
11 | 2. Version History |
12 | 3. Command Line Options |
13 | 4. Additional Notes |
14 | 5. Contacting Adaptec |
15 | |
16 | |
17 | 1. Supported Hardware |
18 | |
19 | The following Adaptec SCSI Host Adapters are supported by this |
20 | driver set. |
21 | |
22 | Ultra320 ASIC Description |
23 | ---------------------------------------------------------------- |
24 | AIC-7901A Single Channel 64-bit PCI-X 133MHz to |
25 | Ultra320 SCSI ASIC |
26 | AIC-7901B Single Channel 64-bit PCI-X 133MHz to |
27 | Ultra320 SCSI ASIC with Retained Training |
28 | AIC-7902A4 Dual Channel 64-bit PCI-X 133MHz to |
29 | Ultra320 SCSI ASIC |
30 | AIC-7902B Dual Channel 64-bit PCI-X 133MHz to |
31 | Ultra320 SCSI ASIC with Retained Training |
32 | |
33 | Ultra320 Adapters Description ASIC |
34 | -------------------------------------------------------------------------- |
35 | Adaptec SCSI Card 39320 Dual Channel 64-bit PCI-X 133MHz to 7902A4/7902B |
36 | Ultra320 SCSI Card (one external |
37 | 68-pin, two internal 68-pin) |
38 | Adaptec SCSI Card 39320A Dual Channel 64-bit PCI-X 133MHz to 7902B |
39 | Ultra320 SCSI Card (one external |
40 | 68-pin, two internal 68-pin) |
41 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 |
42 | Ultra320 SCSI Card (two external VHDC |
43 | and one internal 68-pin) |
44 | Adaptec SCSI Card 39320D Dual Channel 64-bit PCI-X 133MHz to 7902A4 |
45 | Ultra320 SCSI Card (two external VHDC |
46 | and one internal 68-pin) based on the |
47 | AIC-7902B ASIC |
48 | Adaptec SCSI Card 29320 Single Channel 64-bit PCI-X 133MHz to 7901A |
49 | Ultra320 SCSI Card (one external |
50 | 68-pin, two internal 68-pin, one |
51 | internal 50-pin) |
52 | Adaptec SCSI Card 29320A Single Channel 64-bit PCI-X 133MHz to 7901B |
53 | Ultra320 SCSI Card (one external |
54 | 68-pin, two internal 68-pin, one |
55 | internal 50-pin) |
56 | Adaptec SCSI Card 29320LP Single Channel 64-bit Low Profile 7901A |
57 | PCI-X 133MHz to Ultra320 SCSI Card |
58 | (One external VHDC, one internal |
59 | 68-pin) |
60 | Adaptec SCSI Card 29320ALP Single Channel 64-bit Low Profile 7901B |
61 | PCI-X 133MHz to Ultra320 SCSI Card |
62 | (One external VHDC, one internal |
63 | 68-pin) |
64 | 2. Version History |
65 | |
66 | 3.0 (December 1st, 2005) |
67 | - Updated driver to use SCSI transport class infrastructure |
68 | - Upported sequencer and core fixes from adaptec released |
69 | version 2.0.15 of the driver. |
70 | |
71 | 1.3.11 (July 11, 2003) |
72 | - Fix several deadlock issues. |
73 | - Add 29320ALP and 39320B Id's. |
74 | |
75 | 1.3.10 (June 3rd, 2003) |
76 | - Align the SCB_TAG field on a 16byte boundary. This avoids |
77 | SCB corruption on some PCI-33 busses. |
78 | - Correct non-zero luns on Rev B. hardware. |
79 | - Update for change in 2.5.X SCSI proc FS interface. |
80 | - When negotiation async via an 8bit WDTR message, send |
81 | an SDTR with an offset of 0 to be sure the target |
82 | knows we are async. This works around a firmware defect |
83 | in the Quantum Atlas 10K. |
84 | - Implement controller suspend and resume. |
85 | - Clear PCI error state during driver attach so that we |
86 | don't disable memory mapped I/O due to a stray write |
87 | by some other driver probe that occurred before we |
88 | claimed the controller. |
89 | |
90 | 1.3.9 (May 22nd, 2003) |
91 | - Fix compiler errors. |
92 | - Remove S/G splitting for segments that cross a 4GB boundary. |
93 | This is guaranteed not to happen in Linux. |
94 | - Add support for scsi_report_device_reset() found in |
95 | 2.5.X kernels. |
96 | - Add 7901B support. |
97 | - Simplify handling of the packetized lun Rev A workaround. |
98 | - Correct and simplify handling of the ignore wide residue |
99 | message. The previous code would fail to report a residual |
100 | if the transaction data length was even and we received |
101 | an IWR message. |
102 | |
103 | 1.3.8 (April 29th, 2003) |
104 | - Fix types accessed via the command line interface code. |
105 | - Perform a few firmware optimizations. |
106 | - Fix "Unexpected PKT busfree" errors. |
107 | - Use a sequencer interrupt to notify the host of |
108 | commands with bad status. We defer the notification |
109 | until there are no outstanding selections to ensure |
110 | that the host is interrupted for as short a time as |
111 | possible. |
112 | - Remove pre-2.2.X support. |
113 | - Add support for new 2.5.X interrupt API. |
114 | - Correct big-endian architecture support. |
115 | |
116 | 1.3.7 (April 16th, 2003) |
117 | - Use del_timer_sync() to ensure that no timeouts |
118 | are pending during controller shutdown. |
119 | - For pre-2.5.X kernels, carefully adjust our segment |
120 | list size to avoid SCSI malloc pool fragmentation. |
121 | - Cleanup channel display in our /proc output. |
122 | - Workaround duplicate device entries in the mid-layer |
123 | device list during add-single-device. |
124 | |
125 | 1.3.6 (March 28th, 2003) |
126 | - Correct a double free in the Domain Validation code. |
127 | - Correct a reference to free'ed memory during controller |
128 | shutdown. |
129 | - Reset the bus on an SE->LVD change. This is required |
130 | to reset our transceivers. |
131 | |
132 | 1.3.5 (March 24th, 2003) |
133 | - Fix a few register window mode bugs. |
134 | - Include read streaming in the PPR flags we display in |
135 | diagnostics as well as /proc. |
136 | - Add PCI hot plug support for 2.5.X kernels. |
137 | - Correct default precompensation value for RevA hardware. |
138 | - Fix Domain Validation thread shutdown. |
139 | - Add a firmware workaround to make the LED blink |
140 | brighter during packetized operations on the H2A4. |
141 | - Correct /proc display of user read streaming settings. |
142 | - Simplify driver locking by releasing the io_request_lock |
143 | upon driver entry from the mid-layer. |
144 | - Cleanup command line parsing and move much of this code |
145 | to aiclib. |
146 | |
147 | 1.3.4 (February 28th, 2003) |
148 | - Correct a race condition in our error recovery handler. |
149 | - Allow Test Unit Ready commands to take a full 5 seconds |
150 | during Domain Validation. |
151 | |
152 | 1.3.2 (February 19th, 2003) |
153 | - Correct a Rev B. regression due to the GEM318 |
154 | compatibility fix included in 1.3.1. |
155 | |
156 | 1.3.1 (February 11th, 2003) |
157 | - Add support for the 39320A. |
158 | - Improve recovery for certain PCI-X errors. |
159 | - Fix handling of LQ/DATA/LQ/DATA for the |
160 | same write transaction that can occur without |
161 | interveining training. |
162 | - Correct compatibility issues with the GEM318 |
163 | enclosure services device. |
164 | - Correct data corruption issue that occurred under |
165 | high tag depth write loads. |
166 | - Adapt to a change in the 2.5.X daemonize() API. |
167 | - Correct a "Missing case in ahd_handle_scsiint" panic. |
168 | |
169 | 1.3.0 (January 21st, 2003) |
170 | - Full regression testing for all U320 products completed. |
171 | - Added abort and target/lun reset error recovery handler and |
172 | interrupt coalescing. |
173 | |
174 | 1.2.0 (November 14th, 2002) |
175 | - Added support for Domain Validation |
176 | - Add support for the Hewlett-Packard version of the 39320D |
177 | and AIC-7902 adapters. |
178 | Support for previous adapters has not been fully tested and should |
179 | only be used at the customer's own risk. |
180 | |
181 | 1.1.1 (September 24th, 2002) |
182 | - Added support for the Linux 2.5.X kernel series |
183 | |
184 | 1.1.0 (September 17th, 2002) |
185 | - Added support for four additional SCSI products: |
186 | ASC-39320, ASC-29320, ASC-29320LP, AIC-7901. |
187 | |
188 | 1.0.0 (May 30th, 2002) |
189 | - Initial driver release. |
190 | |
191 | 2.1. Software/Hardware Features |
192 | - Support for the SPI-4 "Ultra320" standard: |
193 | - 320MB/s transfer rates |
194 | - Packetized SCSI Protocol at 160MB/s and 320MB/s |
195 | - Quick Arbitration Selection (QAS) |
196 | - Retained Training Information (Rev B. ASIC only) |
197 | - Interrupt Coalescing |
198 | - Initiator Mode (target mode not currently |
199 | supported) |
200 | - Support for the PCI-X standard up to 133MHz |
201 | - Support for the PCI v2.2 standard |
202 | - Domain Validation |
203 | |
204 | 2.2. Operating System Support: |
205 | - Redhat Linux 7.2, 7.3, 8.0, Advanced Server 2.1 |
206 | - SuSE Linux 7.3, 8.0, 8.1, Enterprise Server 7 |
207 | - only Intel and AMD x86 supported at this time |
208 | - >4GB memory configurations supported. |
209 | |
210 | Refer to the User's Guide for more details on this. |
211 | |
212 | 3. Command Line Options |
213 | |
214 | WARNING: ALTERING OR ADDING THESE DRIVER PARAMETERS |
215 | INCORRECTLY CAN RENDER YOUR SYSTEM INOPERABLE. |
216 | USE THEM WITH CAUTION. |
217 | |
218 | Edit the file "modprobe.conf" in the directory /etc and add/edit a |
219 | line containing 'options aic79xx aic79xx=[command[,command...]]' where |
220 | 'command' is one or more of the following: |
221 | ----------------------------------------------------------------- |
222 | Option: verbose |
223 | Definition: enable additional informative messages during |
224 | driver operation. |
225 | Possible Values: This option is a flag |
226 | Default Value: disabled |
227 | ----------------------------------------------------------------- |
228 | Option: debug:[value] |
229 | Definition: Enables various levels of debugging information |
230 | The bit definitions for the debugging mask can |
231 | be found in drivers/scsi/aic7xxx/aic79xx.h under |
232 | the "Debug" heading. |
233 | Possible Values: 0x0000 = no debugging, 0xffff = full debugging |
234 | Default Value: 0x0000 |
235 | ----------------------------------------------------------------- |
236 | Option: no_reset |
237 | Definition: Do not reset the bus during the initial probe |
238 | phase |
239 | Possible Values: This option is a flag |
240 | Default Value: disabled |
241 | ----------------------------------------------------------------- |
242 | Option: extended |
243 | Definition: Force extended translation on the controller |
244 | Possible Values: This option is a flag |
245 | Default Value: disabled |
246 | ----------------------------------------------------------------- |
247 | Option: periodic_otag |
248 | Definition: Send an ordered tag periodically to prevent |
249 | tag starvation. Needed for some older devices |
250 | Possible Values: This option is a flag |
251 | Default Value: disabled |
252 | ----------------------------------------------------------------- |
253 | Option: reverse_scan |
254 | Definition: Probe the scsi bus in reverse order, starting |
255 | with target 15 |
256 | Possible Values: This option is a flag |
257 | Default Value: disabled |
258 | ----------------------------------------------------------------- |
259 | Option: global_tag_depth |
260 | Definition: Global tag depth for all targets on all busses. |
261 | This option sets the default tag depth which |
262 | may be selectively overridden vi the tag_info |
263 | option. |
264 | Possible Values: 1 - 253 |
265 | Default Value: 32 |
266 | ----------------------------------------------------------------- |
267 | Option: tag_info:{{value[,value...]}[,{value[,value...]}...]} |
268 | Definition: Set the per-target tagged queue depth on a |
269 | per controller basis. Both controllers and targets |
270 | may be omitted indicating that they should retain |
271 | the default tag depth. |
272 | Examples: tag_info:{{16,32,32,64,8,8,,32,32,32,32,32,32,32,32,32} |
273 | On Controller 0 |
274 | specifies a tag depth of 16 for target 0 |
275 | specifies a tag depth of 64 for target 3 |
276 | specifies a tag depth of 8 for targets 4 and 5 |
277 | leaves target 6 at the default |
278 | specifies a tag depth of 32 for targets 1,2,7-15 |
279 | All other targets retain the default depth. |
280 | |
281 | tag_info:{{},{32,,32}} |
282 | On Controller 1 |
283 | specifies a tag depth of 32 for targets 0 and 2 |
284 | All other targets retain the default depth. |
285 | |
286 | Possible Values: 1 - 253 |
287 | Default Value: 32 |
288 | ----------------------------------------------------------------- |
289 | Option: rd_strm: {rd_strm_bitmask[,rd_strm_bitmask...]} |
290 | Definition: Enable read streaming on a per target basis. |
291 | The rd_strm_bitmask is a 16 bit hex value in which |
292 | each bit represents a target. Setting the target's |
293 | bit to '1' enables read streaming for that |
294 | target. Controllers may be omitted indicating that |
295 | they should retain the default read streaming setting. |
296 | Example: rd_strm:{0x0041} |
297 | On Controller 0 |
298 | enables read streaming for targets 0 and 6. |
299 | disables read streaming for targets 1-5,7-15. |
300 | All other targets retain the default read |
301 | streaming setting. |
302 | Example: rd_strm:{0x0023,,0xFFFF} |
303 | On Controller 0 |
304 | enables read streaming for targets 1,2, and 5. |
305 | disables read streaming for targets 3,4,6-15. |
306 | On Controller 2 |
307 | enables read streaming for all targets. |
308 | All other targets retain the default read |
309 | streaming setting. |
310 | |
311 | Possible Values: 0x0000 - 0xffff |
312 | Default Value: 0x0000 |
313 | ----------------------------------------------------------------- |
314 | Option: dv: {value[,value...]} |
315 | Definition: Set Domain Validation Policy on a per-controller basis. |
316 | Controllers may be omitted indicating that |
317 | they should retain the default read streaming setting. |
318 | Example: dv:{-1,0,,1,1,0} |
319 | On Controller 0 leave DV at its default setting. |
320 | On Controller 1 disable DV. |
321 | Skip configuration on Controller 2. |
322 | On Controllers 3 and 4 enable DV. |
323 | On Controller 5 disable DV. |
324 | |
325 | Possible Values: < 0 Use setting from serial EEPROM. |
326 | 0 Disable DV |
327 | > 0 Enable DV |
328 | Default Value: DV Serial EEPROM configuration setting. |
329 | ----------------------------------------------------------------- |
330 | Option: seltime:[value] |
331 | Definition: Specifies the selection timeout value |
332 | Possible Values: 0 = 256ms, 1 = 128ms, 2 = 64ms, 3 = 32ms |
333 | Default Value: 0 |
334 | ----------------------------------------------------------------- |
335 | |
336 | *** The following three options should only be changed at *** |
337 | *** the direction of a technical support representative. *** |
338 | |
339 | ----------------------------------------------------------------- |
340 | Option: precomp: {value[,value...]} |
341 | Definition: Set IO Cell precompensation value on a per-controller |
342 | basis. |
343 | Controllers may be omitted indicating that |
344 | they should retain the default precompensation setting. |
345 | Example: precomp:{0x1} |
346 | On Controller 0 set precompensation to 1. |
347 | Example: precomp:{1,,7} |
348 | On Controller 0 set precompensation to 1. |
349 | On Controller 2 set precompensation to 8. |
350 | |
351 | Possible Values: 0 - 7 |
352 | Default Value: Varies based on chip revision |
353 | ----------------------------------------------------------------- |
354 | Option: slewrate: {value[,value...]} |
355 | Definition: Set IO Cell slew rate on a per-controller basis. |
356 | Controllers may be omitted indicating that |
357 | they should retain the default slew rate setting. |
358 | Example: slewrate:{0x1} |
359 | On Controller 0 set slew rate to 1. |
360 | Example: slewrate :{1,,8} |
361 | On Controller 0 set slew rate to 1. |
362 | On Controller 2 set slew rate to 8. |
363 | |
364 | Possible Values: 0 - 15 |
365 | Default Value: Varies based on chip revision |
366 | ----------------------------------------------------------------- |
367 | Option: amplitude: {value[,value...]} |
368 | Definition: Set IO Cell signal amplitude on a per-controller basis. |
369 | Controllers may be omitted indicating that |
370 | they should retain the default read streaming setting. |
371 | Example: amplitude:{0x1} |
372 | On Controller 0 set amplitude to 1. |
373 | Example: amplitude :{1,,7} |
374 | On Controller 0 set amplitude to 1. |
375 | On Controller 2 set amplitude to 7. |
376 | |
377 | Possible Values: 1 - 7 |
378 | Default Value: Varies based on chip revision |
379 | ----------------------------------------------------------------- |
380 | |
381 | Example: 'options aic79xx aic79xx=verbose,rd_strm:{{0x0041}}' |
382 | enables verbose output in the driver and turns read streaming on |
383 | for targets 0 and 6 of Controller 0. |
384 | |
385 | 4. Additional Notes |
386 | |
387 | 4.1. Known/Unresolved or FYI Issues |
388 | |
389 | * Under SuSE Linux Enterprise 7, the driver may fail to operate |
390 | correctly due to a problem with PCI interrupt routing in the |
391 | Linux kernel. Please contact SuSE for an updated Linux |
392 | kernel. |
393 | |
394 | 4.2. Third-Party Compatibility Issues |
395 | |
396 | * Adaptec only supports Ultra320 hard drives running |
397 | the latest firmware available. Please check with |
398 | your hard drive manufacturer to ensure you have the |
399 | latest version. |
400 | |
401 | 4.3. Operating System or Technology Limitations |
402 | |
403 | * PCI Hot Plug is untested and may cause the operating system |
404 | to stop responding. |
405 | * Luns that are not numbered contiguously starting with 0 might not |
406 | be automatically probed during system startup. This is a limitation |
407 | of the OS. Please contact your Linux vendor for instructions on |
408 | manually probing non-contiguous luns. |
409 | * Using the Driver Update Disk version of this package during OS |
410 | installation under RedHat might result in two versions of this |
411 | driver being installed into the system module directory. This |
412 | might cause problems with the /sbin/mkinitrd program and/or |
413 | other RPM packages that try to install system modules. The best |
414 | way to correct this once the system is running is to install |
415 | the latest RPM package version of this driver, available from |
416 | http://www.adaptec.com. |
417 | |
418 | |
419 | 5. Adaptec Customer Support |
420 | |
421 | A Technical Support Identification (TSID) Number is required for |
422 | Adaptec technical support. |
423 | - The 12-digit TSID can be found on the white barcode-type label |
424 | included inside the box with your product. The TSID helps us |
425 | provide more efficient service by accurately identifying your |
426 | product and support status. |
427 | |
428 | Support Options |
429 | - Search the Adaptec Support Knowledgebase (ASK) at |
430 | http://ask.adaptec.com for articles, troubleshooting tips, and |
431 | frequently asked questions about your product. |
432 | - For support via Email, submit your question to Adaptec's |
433 | Technical Support Specialists at http://ask.adaptec.com/. |
434 | |
435 | North America |
436 | - Visit our Web site at http://www.adaptec.com/. |
437 | - For information about Adaptec's support options, call |
438 | 408-957-2550, 24 hours a day, 7 days a week. |
439 | - To speak with a Technical Support Specialist, |
440 | * For hardware products, call 408-934-7274, |
441 | Monday to Friday, 3:00 am to 5:00 pm, PDT. |
442 | * For RAID and Fibre Channel products, call 321-207-2000, |
443 | Monday to Friday, 3:00 am to 5:00 pm, PDT. |
444 | To expedite your service, have your computer with you. |
445 | - To order Adaptec products, including accessories and cables, |
446 | call 408-957-7274. To order cables online go to |
447 | http://www.adaptec.com/buy-cables/. |
448 | |
449 | Europe |
450 | - Visit our Web site at http://www.adaptec.com/en-US/_common/world_index. |
451 | - To speak with a Technical Support Specialist, call, or email, |
452 | * German: +49 89 4366 5522, Monday-Friday, 9:00-17:00 CET, |
453 | http://ask-de.adaptec.com/. |
454 | * French: +49 89 4366 5533, Monday-Friday, 9:00-17:00 CET, |
455 | http://ask-fr.adaptec.com/. |
456 | * English: +49 89 4366 5544, Monday-Friday, 9:00-17:00 GMT, |
457 | http://ask.adaptec.com/. |
458 | - You can order Adaptec cables online at |
459 | http://www.adaptec.com/buy-cables/. |
460 | |
461 | Japan |
462 | - Visit our web site at http://www.adaptec.co.jp/. |
463 | - To speak with a Technical Support Specialist, call |
464 | +81 3 5308 6120, Monday-Friday, 9:00 a.m. to 12:00 p.m., |
465 | 1:00 p.m. to 6:00 p.m. |
466 | |
467 | ------------------------------------------------------------------- |
468 | /* |
469 | * Copyright (c) 2003 Adaptec Inc. 691 S. Milpitas Blvd., Milpitas CA 95035 USA. |
470 | * All rights reserved. |
471 | * |
472 | * You are permitted to redistribute, use and modify this README file in whole |
473 | * or in part in conjunction with redistribution of software governed by the |
474 | * General Public License, provided that the following conditions are met: |
475 | * 1. Redistributions of README file must retain the above copyright |
476 | * notice, this list of conditions, and the following disclaimer, |
477 | * without modification. |
478 | * 2. The name of the author may not be used to endorse or promote products |
479 | * derived from this software without specific prior written permission. |
480 | * 3. Modifications or new contributions must be attributed in a copyright |
481 | * notice identifying the author ("Contributor") and added below the |
482 | * original copyright notice. The copyright notice is for purposes of |
483 | * identifying contributors and should not be deemed as permission to alter |
484 | * the permissions given by Adaptec. |
485 | * |
486 | * THIS README FILE IS PROVIDED BY ADAPTEC AND CONTRIBUTORS ``AS IS'' AND |
487 | * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, ANY |
488 | * WARRANTIES OF NON-INFRINGEMENT OR THE IMPLIED WARRANTIES OF MERCHANTABILITY |
489 | * AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL |
490 | * ADAPTEC OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, |
491 | * SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED |
492 | * TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR |
493 | * PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF |
494 | * LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING |
495 | * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS README |
496 | * FILE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. |
497 | */ |
498 |
Branches:
ben-wpan
ben-wpan-stefan
javiroman/ks7010
jz-2.6.34
jz-2.6.34-rc5
jz-2.6.34-rc6
jz-2.6.34-rc7
jz-2.6.35
jz-2.6.36
jz-2.6.37
jz-2.6.38
jz-2.6.39
jz-3.0
jz-3.1
jz-3.11
jz-3.12
jz-3.13
jz-3.15
jz-3.16
jz-3.18-dt
jz-3.2
jz-3.3
jz-3.4
jz-3.5
jz-3.6
jz-3.6-rc2-pwm
jz-3.9
jz-3.9-clk
jz-3.9-rc8
jz47xx
jz47xx-2.6.38
master
Tags:
od-2011-09-04
od-2011-09-18
v2.6.34-rc5
v2.6.34-rc6
v2.6.34-rc7
v3.9