brintos

brintos / linux-shallow public Read only

0
0
Text · 9.6 KiB · 7ea12b1 Raw
273 lines · plain
1.. SPDX-License-Identifier: GPL-2.02 3=====================4AdvanSys Driver Notes5=====================6 7AdvanSys (Advanced System Products, Inc.) manufactures the following8RISC-based, Bus-Mastering, Fast (10 Mhz) and Ultra (20 Mhz) Narrow9(8-bit transfer) SCSI Host Adapters for the ISA, EISA, VL, and PCI10buses and RISC-based, Bus-Mastering, Ultra (20 Mhz) Wide (16-bit11transfer) SCSI Host Adapters for the PCI bus.12 13The CDB counts below indicate the number of SCSI CDB (Command14Descriptor Block) requests that can be stored in the RISC chip15cache and board LRAM. A CDB is a single SCSI command. The driver16detect routine will display the number of CDBs available for each17adapter detected. The number of CDBs used by the driver can be18lowered in the BIOS by changing the 'Host Queue Size' adapter setting.19 20Laptop Products:21  - ABP-480 - Bus-Master CardBus (16 CDB)22 23Connectivity Products:24   - ABP510/5150 - Bus-Master ISA (240 CDB)25   - ABP5140 - Bus-Master ISA PnP (16 CDB)26   - ABP5142 - Bus-Master ISA PnP with floppy (16 CDB)27   - ABP902/3902 - Bus-Master PCI (16 CDB)28   - ABP3905 - Bus-Master PCI (16 CDB)29   - ABP915 - Bus-Master PCI (16 CDB)30   - ABP920 - Bus-Master PCI (16 CDB)31   - ABP3922 - Bus-Master PCI (16 CDB)32   - ABP3925 - Bus-Master PCI (16 CDB)33   - ABP930 - Bus-Master PCI (16 CDB)34   - ABP930U - Bus-Master PCI Ultra (16 CDB)35   - ABP930UA - Bus-Master PCI Ultra (16 CDB)36   - ABP960 - Bus-Master PCI MAC/PC (16 CDB)37   - ABP960U - Bus-Master PCI MAC/PC Ultra (16 CDB)38 39Single Channel Products:40   - ABP542 - Bus-Master ISA with floppy (240 CDB)41   - ABP742 - Bus-Master EISA (240 CDB)42   - ABP842 - Bus-Master VL (240 CDB)43   - ABP940 - Bus-Master PCI (240 CDB)44   - ABP940U - Bus-Master PCI Ultra (240 CDB)45   - ABP940UA/3940UA - Bus-Master PCI Ultra (240 CDB)46   - ABP970 - Bus-Master PCI MAC/PC (240 CDB)47   - ABP970U - Bus-Master PCI MAC/PC Ultra (240 CDB)48   - ABP3960UA - Bus-Master PCI MAC/PC Ultra (240 CDB)49   - ABP940UW/3940UW - Bus-Master PCI Ultra-Wide (253 CDB)50   - ABP970UW - Bus-Master PCI MAC/PC Ultra-Wide (253 CDB)51   - ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB)52 53Multi-Channel Products:54   - ABP752 - Dual Channel Bus-Master EISA (240 CDB Per Channel)55   - ABP852 - Dual Channel Bus-Master VL (240 CDB Per Channel)56   - ABP950 - Dual Channel Bus-Master PCI (240 CDB Per Channel)57   - ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB Per Channel)58   - ABP980 - Four Channel Bus-Master PCI (240 CDB Per Channel)59   - ABP980U - Four Channel Bus-Master PCI Ultra (240 CDB Per Channel)60   - ABP980UA/3980UA - Four Channel Bus-Master PCI Ultra (16 CDB Per Chan.)61   - ABP3950U2W - Bus-Master PCI LVD/Ultra2-Wide and Ultra-Wide (253 CDB)62   - ABP3950U3W - Bus-Master PCI Dual LVD2/Ultra3-Wide (253 CDB)63 64Driver Compile Time Options and Debugging65=========================================66 67The following constants can be defined in the source file.68 691. ADVANSYS_ASSERT - Enable driver assertions (Def: Enabled)70 71   Enabling this option adds assertion logic statements to the72   driver. If an assertion fails a message will be displayed to73   the console, but the system will continue to operate. Any74   assertions encountered should be reported to the person75   responsible for the driver. Assertion statements may proactively76   detect problems with the driver and facilitate fixing these77   problems. Enabling assertions will add a small overhead to the78   execution of the driver.79 802. ADVANSYS_DEBUG - Enable driver debugging (Def: Disabled)81 82   Enabling this option adds tracing functions to the driver and the83   ability to set a driver tracing level at boot time.  This option is84   very useful for debugging the driver, but it will add to the size85   of the driver execution image and add overhead to the execution of86   the driver.87 88   The amount of debugging output can be controlled with the global89   variable 'asc_dbglvl'. The higher the number the more output. By90   default the debug level is 0.91 92   If the driver is loaded at boot time and the LILO Driver Option93   is included in the system, the debug level can be changed by94   specifying a 5th (ASC_NUM_IOPORT_PROBE + 1) I/O Port. The95   first three hex digits of the pseudo I/O Port must be set to96   'deb' and the fourth hex digit specifies the debug level: 0 - F.97   The following command line will look for an adapter at 0x33098   and set the debug level to 2::99 100      linux advansys=0x330,0,0,0,0xdeb2101 102   If the driver is built as a loadable module this variable can be103   defined when the driver is loaded. The following insmod command104   will set the debug level to one::105 106      insmod advansys.o asc_dbglvl=1107 108   Debugging Message Levels:109 110 111      ==== ==================112      0    Errors Only113      1    High-Level Tracing114      2-N  Verbose Tracing115      ==== ==================116 117   To enable debug output to console, please make sure that:118 119   a. System and kernel logging is enabled (syslogd, klogd running).120   b. Kernel messages are routed to console output. Check121      /etc/syslog.conf for an entry similar to this::122 123           kern.*                  /dev/console124 125   c. klogd is started with the appropriate -c parameter126      (e.g. klogd -c 8)127 128   This will cause printk() messages to be displayed on the129   current console. Refer to the klogd(8) and syslogd(8) man pages130   for details.131 132   Alternatively you can enable printk() to console with this133   program. However, this is not the 'official' way to do this.134 135   Debug output is logged in /var/log/messages.136 137   ::138 139     main()140     {141             syscall(103, 7, 0, 0);142     }143 144   Increasing LOG_BUF_LEN in kernel/printk.c to something like145   40960 allows more debug messages to be buffered in the kernel146   and written to the console or log file.147 1483. ADVANSYS_STATS - Enable statistics (Def: Enabled)149 150   Enabling this option adds statistics collection and display151   through /proc to the driver. The information is useful for152   monitoring driver and device performance. It will add to the153   size of the driver execution image and add minor overhead to154   the execution of the driver.155 156   Statistics are maintained on a per adapter basis. Driver entry157   point call counts and transfer size counts are maintained.158   Statistics are only available for kernels greater than or equal159   to v1.3.0 with the CONFIG_PROC_FS (/proc) file system configured.160 161   AdvanSys SCSI adapter files have the following path name format::162 163      /proc/scsi/advansys/{0,1,2,3,...}164 165   This information can be displayed with cat. For example::166 167      cat /proc/scsi/advansys/0168 169   When ADVANSYS_STATS is not defined the AdvanSys /proc files only170   contain adapter and device configuration information.171 172Driver LILO Option173==================174 175If init/main.c is modified as described in the 'Directions for Adding176the AdvanSys Driver to Linux' section (B.4.) above, the driver will177recognize the 'advansys' LILO command line and /etc/lilo.conf option.178This option can be used to either disable I/O port scanning or to limit179scanning to 1 - 4 I/O ports. Regardless of the option setting EISA and180PCI boards will still be searched for and detected. This option only181affects searching for ISA and VL boards.182 183Examples:184  1. Eliminate I/O port scanning:185 186     boot::187 188	linux advansys=189 190     or::191 192	boot: linux advansys=0x0193 194  2. Limit I/O port scanning to one I/O port:195 196     boot::197 198	linux advansys=0x110199 200  3. Limit I/O port scanning to four I/O ports:201 202     boot::203 204	linux advansys=0x110,0x210,0x230,0x330205 206For a loadable module the same effect can be achieved by setting207the 'asc_iopflag' variable and 'asc_ioport' array when loading208the driver, e.g.::209 210      insmod advansys.o asc_iopflag=1 asc_ioport=0x110,0x330211 212If ADVANSYS_DEBUG is defined a 5th (ASC_NUM_IOPORT_PROBE + 1)213I/O Port may be added to specify the driver debug level. Refer to214the 'Driver Compile Time Options and Debugging' section above for215more information.216 217Credits (Chronological Order)218=============================219 220Bob Frey <bfrey@turbolinux.com.cn> wrote the AdvanSys SCSI driver221and maintained it up to 3.3F. He continues to answer questions222and help maintain the driver.223 224Nathan Hartwell <mage@cdc3.cdc.net> provided the directions and225basis for the Linux v1.3.X changes which were included in the2261.2 release.227 228Thomas E Zerucha <zerucha@shell.portal.com> pointed out a bug229in advansys_biosparam() which was fixed in the 1.3 release.230 231Erik Ratcliffe <erik@caldera.com> has done testing of the232AdvanSys driver in the Caldera releases.233 234Rik van Riel <H.H.vanRiel@fys.ruu.nl> provided a patch to235AscWaitTixISRDone() which he found necessary to make the236driver work with a SCSI-1 disk.237 238Mark Moran <mmoran@mmoran.com> has helped test Ultra-Wide239support in the 3.1A driver.240 241Doug Gilbert <dgilbert@interlog.com> has made changes and242suggestions to improve the driver and done a lot of testing.243 244Ken Mort <ken@mort.net> reported a DEBUG compile bug fixed245in 3.2K.246 247Tom Rini <trini@kernel.crashing.org> provided the CONFIG_ISA248patch and helped with PowerPC wide and narrow board support.249 250Philip Blundell <philb@gnu.org> provided an251advansys_interrupts_enabled patch.252 253Dave Jones <dave@denial.force9.co.uk> reported the compiler254warnings generated when CONFIG_PROC_FS was not defined in255the 3.2M driver.256 257Jerry Quinn <jlquinn@us.ibm.com> fixed PowerPC support (endian258problems) for wide cards.259 260Bryan Henderson <bryanh@giraffe-data.com> helped debug narrow261card error handling.262 263Manuel Veloso <veloso@pobox.com> worked hard on PowerPC narrow264board support and fixed a bug in AscGetEEPConfig().265 266Arnaldo Carvalho de Melo <acme@conectiva.com.br> made267save_flags/restore_flags changes.268 269Andy Kellner <AKellner@connectcom.net> continued the Advansys SCSI270driver development for ConnectCom (Version > 3.3F).271 272Ken Witherow for extensive testing during the development of version 3.4.273