Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

scsi: docs: convert aic79xx.txt to ReST

Link: https://lore.kernel.org/r/e8a40337a2173f028c9ac569d3d71fd880f4fab5.1583136624.git.mchehab+huawei@kernel.org
Signed-off-by: Mauro Carvalho Chehab <mchehab+huawei@kernel.org>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>

authored by

Mauro Carvalho Chehab and committed by
Martin K. Petersen
520a44d4 94b5530f

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