Commit 79f51b7b authored by Linus Torvalds's avatar Linus Torvalds

Merge tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi

Pull SCSI updates from James Bottomley:
 "This series has a huge amount of churn because it pulls in Mauro's doc
  update changing all our txt files to rst ones.

  Excluding that, we have the usual driver updates (qla2xxx, ufs, lpfc,
  zfcp, ibmvfc, pm80xx, aacraid), a treewide update for scnprintf and
  some other minor updates.

  The major core change is Hannes moving functions out of the aacraid
  driver and into the core"

* tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (223 commits)
  scsi: aic7xxx: aic97xx: Remove FreeBSD-specific code
  scsi: ufs: Do not rely on prefetched data
  scsi: dc395x: remove dc395x_bios_param
  scsi: libiscsi: Fix error count for active session
  scsi: hpsa: correct race condition in offload enabled
  scsi: message: fusion: Replace zero-length array with flexible-array member
  scsi: qedi: Add PCI shutdown handler support
  scsi: qedi: Add MFW error recovery process
  scsi: ufs: Enable block layer runtime PM for well-known logical units
  scsi: ufs-qcom: Override devfreq parameters
  scsi: ufshcd: Let vendor override devfreq parameters
  scsi: ufshcd: Update the set frequency to devfreq
  scsi: ufs: Resume ufs host before accessing ufs device
  scsi: ufs-mediatek: customize the delay for enabling host
  scsi: ufs: make HCE polling more compact to improve initialization latency
  scsi: ufs: allow custom delay prior to host enabling
  scsi: ufs-mediatek: use common delay function
  scsi: ufs: introduce common and flexible delay function
  scsi: ufs: use an enum for host capabilities
  scsi: ufs: fix uninitialized tx_lanes in ufshcd_disable_tx_lcc()
  ...
parents e109f506 ff275db9
...@@ -401,7 +401,7 @@ Error handling ...@@ -401,7 +401,7 @@ Error handling
============== ==============
This chapter describes how errors are handled under libata. Readers are This chapter describes how errors are handled under libata. Readers are
advised to read SCSI EH (Documentation/scsi/scsi_eh.txt) and ATA advised to read SCSI EH (Documentation/scsi/scsi_eh.rst) and ATA
exceptions doc first. exceptions doc first.
Origins of commands Origins of commands
......
...@@ -131,6 +131,7 @@ needed). ...@@ -131,6 +131,7 @@ needed).
bpf/index bpf/index
usb/index usb/index
PCI/index PCI/index
scsi/index
misc-devices/index misc-devices/index
scheduler/index scheduler/index
......
.. SPDX-License-Identifier: GPL-2.0
=======================
The 53c700 Driver Notes
=======================
General Description General Description
=================== ===================
...@@ -16,9 +22,9 @@ fill in to get the driver working. ...@@ -16,9 +22,9 @@ fill in to get the driver working.
Compile Time Flags Compile Time Flags
================== ==================
A compile time flag is: A compile time flag is::
CONFIG_53C700_LE_ON_BE CONFIG_53C700_LE_ON_BE
define if the chipset must be supported in little endian mode on a big define if the chipset must be supported in little endian mode on a big
endian architecture (used for the 700 on parisc). endian architecture (used for the 700 on parisc).
...@@ -51,9 +57,11 @@ consistent with the best operation of the chip (although some choose ...@@ -51,9 +57,11 @@ consistent with the best operation of the chip (although some choose
to drive it off the CPU or bus clock rather than going to the expense to drive it off the CPU or bus clock rather than going to the expense
of an extra clock chip). The best operation clock speeds are: of an extra clock chip). The best operation clock speeds are:
53c700 - 25MHz ========= =====
53c700-66 - 50MHz 53c700 25MHz
53c710 - 40Mhz 53c700-66 50MHz
53c710 40Mhz
========= =====
Writing Your Glue Driver Writing Your Glue Driver
======================== ========================
...@@ -69,7 +77,7 @@ parameters that matter to you (see below), plumb the NCR_700_intr ...@@ -69,7 +77,7 @@ parameters that matter to you (see below), plumb the NCR_700_intr
routine into the interrupt line and call NCR_700_detect with the host routine into the interrupt line and call NCR_700_detect with the host
template and the new parameters as arguments. You should also call template and the new parameters as arguments. You should also call
the relevant request_*_region function and place the register base the relevant request_*_region function and place the register base
address into the `base' pointer of the host parameters. address into the 'base' pointer of the host parameters.
In the release routine, you must free the NCR_700_Host_Parameters that In the release routine, you must free the NCR_700_Host_Parameters that
you allocated, call the corresponding release_*_region and free the you allocated, call the corresponding release_*_region and free the
...@@ -78,7 +86,7 @@ interrupt. ...@@ -78,7 +86,7 @@ interrupt.
Handling Interrupts Handling Interrupts
------------------- -------------------
In general, you should just plumb the card's interrupt line in with In general, you should just plumb the card's interrupt line in with
request_irq(irq, NCR_700_intr, <irq flags>, <driver name>, host); request_irq(irq, NCR_700_intr, <irq flags>, <driver name>, host);
...@@ -95,41 +103,32 @@ Settable NCR_700_Host_Parameters ...@@ -95,41 +103,32 @@ Settable NCR_700_Host_Parameters
The following are a list of the user settable parameters: The following are a list of the user settable parameters:
clock: (MANDATORY) clock: (MANDATORY)
Set to the clock speed of the chip in MHz.
Set to the clock speed of the chip in MHz.
base: (MANDATORY) base: (MANDATORY)
Set to the base of the io or mem region for the register set. On 64
set to the base of the io or mem region for the register set. On 64 bit architectures this is only 32 bits wide, so the registers must be
bit architectures this is only 32 bits wide, so the registers must be mapped into the low 32 bits of memory.
mapped into the low 32 bits of memory.
pci_dev: (OPTIONAL) pci_dev: (OPTIONAL)
Set to the PCI board device. Leave NULL for a non-pci board. This is
set to the PCI board device. Leave NULL for a non-pci board. This is used for the pci_alloc_consistent() and pci_map_*() functions.
used for the pci_alloc_consistent() and pci_map_*() functions.
dmode_extra: (OPTIONAL, 53c710 only) dmode_extra: (OPTIONAL, 53c710 only)
Extra flags for the DMODE register. These are used to control bus
extra flags for the DMODE register. These are used to control bus output pins on the 710. The settings should be a combination of
output pins on the 710. The settings should be a combination of DMODE_FC1 and DMODE_FC2. What these pins actually do is entirely up
DMODE_FC1 and DMODE_FC2. What these pins actually do is entirely up to the board designer. Usually it is safe to ignore this setting.
to the board designer. Usually it is safe to ignore this setting.
differential: (OPTIONAL) differential: (OPTIONAL)
Set to 1 if the chip drives a differential bus.
set to 1 if the chip drives a differential bus.
force_le_on_be: (OPTIONAL, only if CONFIG_53C700_LE_ON_BE is set) force_le_on_be: (OPTIONAL, only if CONFIG_53C700_LE_ON_BE is set)
Set to 1 if the chip is operating in little endian mode on a big
set to 1 if the chip is operating in little endian mode on a big endian architecture.
endian architecture.
chip710: (OPTIONAL) chip710: (OPTIONAL)
Set to 1 if the chip is a 53c710.
set to 1 if the chip is a 53c710.
burst_disable: (OPTIONAL, 53c710 only) burst_disable: (OPTIONAL, 53c710 only)
Disable 8 byte bursting for DMA transfers.
disable 8 byte bursting for DMA transfers.
BusLogic MultiMaster and FlashPoint SCSI Driver for Linux .. SPDX-License-Identifier: GPL-2.0
=========================================================
BusLogic MultiMaster and FlashPoint SCSI Driver for Linux
=========================================================
Version 2.0.15 for Linux 2.0 Version 2.0.15 for Linux 2.0
Version 2.1.15 for Linux 2.1 Version 2.1.15 for Linux 2.1
PRODUCTION RELEASE PRODUCTION RELEASE
...@@ -8,13 +13,16 @@ ...@@ -8,13 +13,16 @@
17 August 1998 17 August 1998
Leonard N. Zubkoff Leonard N. Zubkoff
Dandelion Digital Dandelion Digital
lnz@dandelion.com lnz@dandelion.com
Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com> Copyright 1995-1998 by Leonard N. Zubkoff <lnz@dandelion.com>
INTRODUCTION Introduction
============
BusLogic, Inc. designed and manufactured a variety of high performance SCSI BusLogic, Inc. designed and manufactured a variety of high performance SCSI
host adapters which share a common programming interface across a diverse host adapters which share a common programming interface across a diverse
...@@ -86,9 +94,11 @@ Contact information for offices in Europe and Japan is available on the Web ...@@ -86,9 +94,11 @@ Contact information for offices in Europe and Japan is available on the Web
site. site.
DRIVER FEATURES Driver Features
===============
o Configuration Reporting and Testing Configuration Reporting and Testing
-----------------------------------
During system initialization, the driver reports extensively on the host During system initialization, the driver reports extensively on the host
adapter hardware configuration, including the synchronous transfer parameters adapter hardware configuration, including the synchronous transfer parameters
...@@ -130,7 +140,8 @@ o Configuration Reporting and Testing ...@@ -130,7 +140,8 @@ o Configuration Reporting and Testing
The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing The status of Wide Negotiation, Disconnect/Reconnect, and Tagged Queuing
are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters. are reported as "Enabled", Disabled", or a sequence of "Y" and "N" letters.
o Performance Features Performance Features
--------------------
BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so BusLogic SCSI Host Adapters directly implement SCSI-2 Tagged Queuing, and so
support has been included in the driver to utilize tagged queuing with any support has been included in the driver to utilize tagged queuing with any
...@@ -150,7 +161,8 @@ o Performance Features ...@@ -150,7 +161,8 @@ o Performance Features
queue depth of 1 is selected. Tagged queuing is also disabled for individual queue depth of 1 is selected. Tagged queuing is also disabled for individual
target devices if disconnect/reconnect is disabled for that device. target devices if disconnect/reconnect is disabled for that device.
o Robustness Features Robustness Features
-------------------
The driver implements extensive error recovery procedures. When the higher The driver implements extensive error recovery procedures. When the higher
level parts of the SCSI subsystem request that a timed out command be reset, level parts of the SCSI subsystem request that a timed out command be reset,
...@@ -174,7 +186,8 @@ o Robustness Features ...@@ -174,7 +186,8 @@ o Robustness Features
lock up or crash, and thereby allowing a clean shutdown and restart after the lock up or crash, and thereby allowing a clean shutdown and restart after the
offending component is removed. offending component is removed.
o PCI Configuration Support PCI Configuration Support
-------------------------
On PCI systems running kernels compiled with PCI BIOS support enabled, this On PCI systems running kernels compiled with PCI BIOS support enabled, this
driver will interrogate the PCI configuration space and use the I/O port driver will interrogate the PCI configuration space and use the I/O port
...@@ -184,19 +197,22 @@ o PCI Configuration Support ...@@ -184,19 +197,22 @@ o PCI Configuration Support
used to disable the ISA compatible I/O port entirely as it is not necessary. used to disable the ISA compatible I/O port entirely as it is not necessary.
The ISA compatible I/O port is disabled by default on the BT-948/958/958D. The ISA compatible I/O port is disabled by default on the BT-948/958/958D.
o /proc File System Support /proc File System Support
-------------------------
Copies of the host adapter configuration information together with updated Copies of the host adapter configuration information together with updated
data transfer and error recovery statistics are available through the data transfer and error recovery statistics are available through the
/proc/scsi/BusLogic/<N> interface. /proc/scsi/BusLogic/<N> interface.
o Shared Interrupts Support Shared Interrupts Support
-------------------------
On systems that support shared interrupts, any number of BusLogic Host On systems that support shared interrupts, any number of BusLogic Host
Adapters may share the same interrupt request channel. Adapters may share the same interrupt request channel.
SUPPORTED HOST ADAPTERS Supported Host Adapters
=======================
The following list comprises the supported BusLogic SCSI Host Adapters as of The following list comprises the supported BusLogic SCSI Host Adapters as of
the date of this document. It is recommended that anyone purchasing a BusLogic the date of this document. It is recommended that anyone purchasing a BusLogic
...@@ -205,6 +221,7 @@ that it is or will be supported. ...@@ -205,6 +221,7 @@ that it is or will be supported.
FlashPoint Series PCI Host Adapters: FlashPoint Series PCI Host Adapters:
======================= =============================================
FlashPoint LT (BT-930) Ultra SCSI-3 FlashPoint LT (BT-930) Ultra SCSI-3
FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus FlashPoint LT (BT-930R) Ultra SCSI-3 with RAIDPlus
FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS) FlashPoint LT (BT-920) Ultra SCSI-3 (BT-930 without BIOS)
...@@ -214,15 +231,19 @@ FlashPoint LW (BT-950) Wide Ultra SCSI-3 ...@@ -214,15 +231,19 @@ FlashPoint LW (BT-950) Wide Ultra SCSI-3
FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus FlashPoint LW (BT-950R) Wide Ultra SCSI-3 with RAIDPlus
FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3 FlashPoint DW (BT-952) Dual Channel Wide Ultra SCSI-3
FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus FlashPoint DW (BT-952R) Dual Channel Wide Ultra SCSI-3 with RAIDPlus
======================= =============================================
MultiMaster "W" Series Host Adapters: MultiMaster "W" Series Host Adapters:
======= === ==============================
BT-948 PCI Ultra SCSI-3 BT-948 PCI Ultra SCSI-3
BT-958 PCI Wide Ultra SCSI-3 BT-958 PCI Wide Ultra SCSI-3
BT-958D PCI Wide Differential Ultra SCSI-3 BT-958D PCI Wide Differential Ultra SCSI-3
======= === ==============================
MultiMaster "C" Series Host Adapters: MultiMaster "C" Series Host Adapters:
======== ==== ==============================
BT-946C PCI Fast SCSI-2 BT-946C PCI Fast SCSI-2
BT-956C PCI Wide Fast SCSI-2 BT-956C PCI Wide Fast SCSI-2
BT-956CD PCI Wide Differential Fast SCSI-2 BT-956CD PCI Wide Differential Fast SCSI-2
...@@ -232,9 +253,11 @@ BT-757C EISA Wide Fast SCSI-2 ...@@ -232,9 +253,11 @@ BT-757C EISA Wide Fast SCSI-2
BT-757CD EISA Wide Differential Fast SCSI-2 BT-757CD EISA Wide Differential Fast SCSI-2
BT-545C ISA Fast SCSI-2 BT-545C ISA Fast SCSI-2
BT-540CF ISA Fast SCSI-2 BT-540CF ISA Fast SCSI-2
======== ==== ==============================
MultiMaster "S" Series Host Adapters: MultiMaster "S" Series Host Adapters:
======= ==== ==============================
BT-445S VLB Fast SCSI-2 BT-445S VLB Fast SCSI-2
BT-747S EISA Fast SCSI-2 BT-747S EISA Fast SCSI-2
BT-747D EISA Differential Fast SCSI-2 BT-747D EISA Differential Fast SCSI-2
...@@ -244,11 +267,14 @@ BT-545S ISA Fast SCSI-2 ...@@ -244,11 +267,14 @@ BT-545S ISA Fast SCSI-2
BT-542D ISA Differential Fast SCSI-2 BT-542D ISA Differential Fast SCSI-2
BT-742A EISA SCSI-2 (742A revision H) BT-742A EISA SCSI-2 (742A revision H)
BT-542B ISA SCSI-2 (542B revision H) BT-542B ISA SCSI-2 (542B revision H)
======= ==== ==============================
MultiMaster "A" Series Host Adapters: MultiMaster "A" Series Host Adapters:
======= ==== ==============================
BT-742A EISA SCSI-2 (742A revisions A - G) BT-742A EISA SCSI-2 (742A revisions A - G)
BT-542B ISA SCSI-2 (542B revisions A - G) BT-542B ISA SCSI-2 (542B revisions A - G)
======= ==== ==============================
AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also AMI FastDisk Host Adapters that are true BusLogic MultiMaster clones are also
supported by this driver. supported by this driver.
...@@ -260,9 +286,11 @@ list. The retail kit includes the bare board and manual as well as cabling and ...@@ -260,9 +286,11 @@ list. The retail kit includes the bare board and manual as well as cabling and
driver media and documentation that are not provided with bare boards. driver media and documentation that are not provided with bare boards.
FLASHPOINT INSTALLATION NOTES FlashPoint Installation Notes
=============================
o RAIDPlus Support RAIDPlus Support
----------------
FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software FlashPoint Host Adapters now include RAIDPlus, Mylex's bootable software
RAID. RAIDPlus is not supported on Linux, and there are no plans to support RAID. RAIDPlus is not supported on Linux, and there are no plans to support
...@@ -273,7 +301,8 @@ o RAIDPlus Support ...@@ -273,7 +301,8 @@ o RAIDPlus Support
than RAIDPlus, so there is little impetus to include RAIDPlus support in the than RAIDPlus, so there is little impetus to include RAIDPlus support in the
BusLogic driver. BusLogic driver.
o Enabling UltraSCSI Transfers Enabling UltraSCSI Transfers
----------------------------
FlashPoint Host Adapters ship with their configuration set to "Factory FlashPoint Host Adapters ship with their configuration set to "Factory
Default" settings that are conservative and do not allow for UltraSCSI speed Default" settings that are conservative and do not allow for UltraSCSI speed
...@@ -287,12 +316,14 @@ o Enabling UltraSCSI Transfers ...@@ -287,12 +316,14 @@ o Enabling UltraSCSI Transfers
the "Optimum Performance" settings are loaded. the "Optimum Performance" settings are loaded.
BT-948/958/958D INSTALLATION NOTES BT-948/958/958D Installation Notes
==================================
The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may The BT-948/958/958D PCI Ultra SCSI Host Adapters have some features which may
require attention in some circumstances when installing Linux. require attention in some circumstances when installing Linux.
o PCI I/O Port Assignments PCI I/O Port Assignments
------------------------
When configured to factory default settings, the BT-948/958/958D will only When configured to factory default settings, the BT-948/958/958D will only
recognize the PCI I/O port assignments made by the motherboard's PCI BIOS. recognize the PCI I/O port assignments made by the motherboard's PCI BIOS.
...@@ -312,7 +343,8 @@ o PCI I/O Port Assignments ...@@ -312,7 +343,8 @@ o PCI I/O Port Assignments
possible future I/O port conflicts. The older BT-946C/956C/956CD also have possible future I/O port conflicts. The older BT-946C/956C/956CD also have
this configuration option, but the factory default setting is "Primary". this configuration option, but the factory default setting is "Primary".
o PCI Slot Scanning Order PCI Slot Scanning Order
-----------------------
In systems with multiple BusLogic PCI Host Adapters, the order in which the In systems with multiple BusLogic PCI Host Adapters, the order in which the
PCI slots are scanned may appear reversed with the BT-948/958/958D as PCI slots are scanned may appear reversed with the BT-948/958/958D as
...@@ -339,7 +371,8 @@ o PCI Slot Scanning Order ...@@ -339,7 +371,8 @@ o PCI Slot Scanning Order
so as to recognize the host adapters in the same order as they are enumerated so as to recognize the host adapters in the same order as they are enumerated
by the host adapter's BIOS. by the host adapter's BIOS.
o Enabling UltraSCSI Transfers Enabling UltraSCSI Transfers
----------------------------
The BT-948/958/958D ship with their configuration set to "Factory Default" The BT-948/958/958D ship with their configuration set to "Factory Default"
settings that are conservative and do not allow for UltraSCSI speed to be settings that are conservative and do not allow for UltraSCSI speed to be
...@@ -353,7 +386,8 @@ o Enabling UltraSCSI Transfers ...@@ -353,7 +386,8 @@ o Enabling UltraSCSI Transfers
"Optimum Performance" settings are loaded. "Optimum Performance" settings are loaded.
DRIVER OPTIONS Driver Options
==============
BusLogic Driver Options may be specified either via the Linux Kernel Command BusLogic Driver Options may be specified either via the Linux Kernel Command
Line or via the Loadable Kernel Module Installation Facility. Driver Options Line or via the Loadable Kernel Module Installation Facility. Driver Options
...@@ -520,30 +554,34 @@ The following examples demonstrate setting the Queue Depth for Target Devices ...@@ -520,30 +554,34 @@ The following examples demonstrate setting the Queue Depth for Target Devices
Devices on the second host adapter to 31, and the Bus Settle Time on the Devices on the second host adapter to 31, and the Bus Settle Time on the
second host adapter to 30 seconds. second host adapter to 30 seconds.
Linux Kernel Command Line: Linux Kernel Command Line::
linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30 linux BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30
LILO Linux Boot Loader (in /etc/lilo.conf): LILO Linux Boot Loader (in /etc/lilo.conf)::
append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30" append = "BusLogic=QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"
INSMOD Loadable Kernel Module Installation Facility: INSMOD Loadable Kernel Module Installation Facility::
insmod BusLogic.o \ insmod BusLogic.o \
'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"' 'BusLogic="QueueDepth:[,7,15];QueueDepth:31,BusSettleTime:30"'
NOTE: Module Utilities 2.1.71 or later is required for correct parsing
.. Note::
Module Utilities 2.1.71 or later is required for correct parsing
of driver options containing commas. of driver options containing commas.
DRIVER INSTALLATION Driver Installation
===================
This distribution was prepared for Linux kernel version 2.0.35, but should be This distribution was prepared for Linux kernel version 2.0.35, but should be
compatible with 2.0.4 or any later 2.0 series kernel. compatible with 2.0.4 or any later 2.0 series kernel.
To install the new BusLogic SCSI driver, you may use the following commands, To install the new BusLogic SCSI driver, you may use the following commands,
replacing "/usr/src" with wherever you keep your Linux kernel source tree: replacing "/usr/src" with wherever you keep your Linux kernel source tree::
cd /usr/src cd /usr/src
tar -xvzf BusLogic-2.0.15.tar.gz tar -xvzf BusLogic-2.0.15.tar.gz
...@@ -557,7 +595,8 @@ Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if ...@@ -557,7 +595,8 @@ Then install "arch/x86/boot/zImage" as your standard kernel, run lilo if
appropriate, and reboot. appropriate, and reboot.
BUSLOGIC ANNOUNCEMENTS MAILING LIST BusLogic Announcements Mailing List
===================================
The BusLogic Announcements Mailing List provides a forum for informing Linux The BusLogic Announcements Mailing List provides a forum for informing Linux
users of new driver releases and other announcements regarding Linux support users of new driver releases and other announcements regarding Linux support
......
.. SPDX-License-Identifier: GPL-2.0
===================================
The BusLogic FlashPoint SCSI Driver
===================================
The BusLogic FlashPoint SCSI Host Adapters are now fully supported on Linux.
The upgrade program described below has been officially terminated effective
31 March 1997 since it is no longer needed.
::
MYLEX INTRODUCES LINUX OPERATING SYSTEM SUPPORT FOR ITS
BUSLOGIC FLASHPOINT LINE OF SCSI HOST ADAPTERS
FREMONT, CA, -- October 8, 1996 -- Mylex Corporation has expanded Linux
operating system support to its BusLogic brand of FlashPoint Ultra SCSI
host adapters. All of BusLogic's other SCSI host adapters, including the
MultiMaster line, currently support the Linux operating system. Linux
drivers and information will be available on October 15th at
http://sourceforge.net/projects/dandelion/.
"Mylex is committed to supporting the Linux community," says Peter Shambora,
vice president of marketing for Mylex. "We have supported Linux driver
development and provided technical support for our host adapters for several
years, and are pleased to now make our FlashPoint products available to this
user base."
The Linux Operating System
==========================
Linux is a freely-distributed implementation of UNIX for Intel x86, Sun
SPARC, SGI MIPS, Motorola 68k, Digital Alpha AXP and Motorola PowerPC
machines. It supports a wide range of software, including the X Window
System, Emacs, and TCP/IP networking. Further information is available at
http://www.linux.org and http://www.ssc.com/.
FlashPoint Host Adapters
========================
The FlashPoint family of Ultra SCSI host adapters, designed for workstation
and file server environments, are available in narrow, wide, dual channel,
and dual channel wide versions. These adapters feature SeqEngine
automation technology, which minimizes SCSI command overhead and reduces
the number of interrupts generated to the CPU.
About Mylex
===========
Mylex Corporation (NASDAQ/NM SYMBOL: MYLX), founded in 1983, is a leading
producer of RAID technology and network management products. The company
produces high performance disk array (RAID) controllers, and complementary
computer products for network servers, mass storage systems, workstations
and system boards. Through its wide range of RAID controllers and its
BusLogic line of Ultra SCSI host adapter products, Mylex provides enabling
intelligent I/O technologies that increase network management control,
enhance CPU utilization, optimize I/O performance, and ensure data security
and availability. Products are sold globally through a network of OEMs,
major distributors, VARs, and system integrators. Mylex Corporation is
headquartered at 34551 Ardenwood Blvd., Fremont, CA.
Contact:
========
::
Peter Shambora
Vice President of Marketing
Mylex Corp.
510/796-6100
peters@mylex.com
::
ANNOUNCEMENT
BusLogic FlashPoint LT/BT-948 Upgrade Program
1 February 1996
ADDITIONAL ANNOUNCEMENT
BusLogic FlashPoint LW/BT-958 Upgrade Program
14 June 1996
Ever since its introduction last October, the BusLogic FlashPoint LT has
been problematic for members of the Linux community, in that no Linux
drivers have been available for this new Ultra SCSI product. Despite its
officially being positioned as a desktop workstation product, and not being
particularly well suited for a high performance multitasking operating
system like Linux, the FlashPoint LT has been touted by computer system
vendors as the latest thing, and has been sold even on many of their high
end systems, to the exclusion of the older MultiMaster products. This has
caused grief for many people who inadvertently purchased a system expecting
that all BusLogic SCSI Host Adapters were supported by Linux, only to
discover that the FlashPoint was not supported and would not be for quite
some time, if ever.
After this problem was identified, BusLogic contacted its major OEM
customers to make sure the BT-946C/956C MultiMaster cards would still be
made available, and that Linux users who mistakenly ordered systems with
the FlashPoint would be able to upgrade to the BT-946C. While this helped
many purchasers of new systems, it was only a partial solution to the
overall problem of FlashPoint support for Linux users. It did nothing to
assist the people who initially purchased a FlashPoint for a supported
operating system and then later decided to run Linux, or those who had
ended up with a FlashPoint LT, believing it was supported, and were unable
to return it.
In the middle of December, I asked to meet with BusLogic's senior
management to discuss the issues related to Linux and free software support
for the FlashPoint. Rumors of varying accuracy had been circulating
publicly about BusLogic's attitude toward the Linux community, and I felt
it was best that these issues be addressed directly. I sent an email
message after 11pm one evening, and the meeting took place the next
afternoon. Unfortunately, corporate wheels sometimes grind slowly,
especially when a company is being acquired, and so it's taken until now
before the details were completely determined and a public statement could
be made.
BusLogic is not prepared at this time to release the information necessary
for third parties to write drivers for the FlashPoint. The only existing
FlashPoint drivers have been written directly by BusLogic Engineering, and
there is no FlashPoint documentation sufficiently detailed to allow outside
developers to write a driver without substantial assistance. While there
are people at BusLogic who would rather not release the details of the
FlashPoint architecture at all, that debate has not yet been settled either
way. In any event, even if documentation were available today it would
take quite a while for a usable driver to be written, especially since I'm
not convinced that the effort required would be worthwhile.
However, BusLogic does remain committed to providing a high performance
SCSI solution for the Linux community, and does not want to see anyone left
unable to run Linux because they have a Flashpoint LT. Therefore, BusLogic
has put in place a direct upgrade program to allow any Linux user worldwide
to trade in their FlashPoint LT for the new BT-948 MultiMaster PCI Ultra
SCSI Host Adapter. The BT-948 is the Ultra SCSI successor to the BT-946C
and has all the best features of both the BT-946C and FlashPoint LT,
including smart termination and a flash PROM for easy firmware updates, and
is of course compatible with the present Linux driver. The price for this
upgrade has been set at US $45 plus shipping and handling, and the upgrade
program will be administered through BusLogic Technical Support, which can
be reached by electronic mail at techsup@buslogic.com, by Voice at +1 408
654-0760, or by FAX at +1 408 492-1542.
As of 14 June 1996, the original BusLogic FlashPoint LT to BT-948 upgrade
program has now been extended to encompass the FlashPoint LW Wide Ultra
SCSI Host Adapter. Any Linux user worldwide may trade in their FlashPoint
LW (BT-950) for a BT-958 MultiMaster PCI Ultra SCSI Host Adapter. The
price for this upgrade has been set at US $65 plus shipping and handling.
I was a beta test site for the BT-948/958, and versions 1.2.1 and 1.3.1 of
my BusLogic driver already included latent support for the BT-948/958.
Additional cosmetic support for the Ultra SCSI MultiMaster cards was added
subsequent releases. As a result of this cooperative testing process,
several firmware bugs were found and corrected. My heavily loaded Linux
test system provided an ideal environment for testing error recovery
processes that are much more rarely exercised in production systems, but
are crucial to overall system stability. It was especially convenient
being able to work directly with their firmware engineer in demonstrating
the problems under control of the firmware debugging environment; things
sure have come a long way since the last time I worked on firmware for an
embedded system. I am presently working on some performance testing and
expect to have some data to report in the not too distant future.
BusLogic asked me to send this announcement since a large percentage of the
questions regarding support for the FlashPoint have either been sent to me
directly via email, or have appeared in the Linux newsgroups in which I
participate. To summarize, BusLogic is offering Linux users an upgrade
from the unsupported FlashPoint LT (BT-930) to the supported BT-948 for US
$45 plus shipping and handling, or from the unsupported FlashPoint LW
(BT-950) to the supported BT-958 for $65 plus shipping and handling.
Contact BusLogic Technical Support at techsup@buslogic.com or +1 408
654-0760 to take advantage of their offer.
Leonard N. Zubkoff
lnz@dandelion.com
The BusLogic FlashPoint SCSI Host Adapters are now fully supported on Linux.
The upgrade program described below has been officially terminated effective
31 March 1997 since it is no longer needed.
MYLEX INTRODUCES LINUX OPERATING SYSTEM SUPPORT FOR ITS
BUSLOGIC FLASHPOINT LINE OF SCSI HOST ADAPTERS
FREMONT, CA, -- October 8, 1996 -- Mylex Corporation has expanded Linux
operating system support to its BusLogic brand of FlashPoint Ultra SCSI
host adapters. All of BusLogic's other SCSI host adapters, including the
MultiMaster line, currently support the Linux operating system. Linux
drivers and information will be available on October 15th at
http://sourceforge.net/projects/dandelion/.
"Mylex is committed to supporting the Linux community," says Peter Shambora,
vice president of marketing for Mylex. "We have supported Linux driver
development and provided technical support for our host adapters for several
years, and are pleased to now make our FlashPoint products available to this
user base."
The Linux Operating System
Linux is a freely-distributed implementation of UNIX for Intel x86, Sun
SPARC, SGI MIPS, Motorola 68k, Digital Alpha AXP and Motorola PowerPC
machines. It supports a wide range of software, including the X Window
System, Emacs, and TCP/IP networking. Further information is available at
http://www.linux.org and http://www.ssc.com/.
FlashPoint Host Adapters
The FlashPoint family of Ultra SCSI host adapters, designed for workstation
and file server environments, are available in narrow, wide, dual channel,
and dual channel wide versions. These adapters feature SeqEngine
automation technology, which minimizes SCSI command overhead and reduces
the number of interrupts generated to the CPU.
About Mylex
Mylex Corporation (NASDAQ/NM SYMBOL: MYLX), founded in 1983, is a leading
producer of RAID technology and network management products. The company
produces high performance disk array (RAID) controllers, and complementary
computer products for network servers, mass storage systems, workstations
and system boards. Through its wide range of RAID controllers and its
BusLogic line of Ultra SCSI host adapter products, Mylex provides enabling
intelligent I/O technologies that increase network management control,
enhance CPU utilization, optimize I/O performance, and ensure data security
and availability. Products are sold globally through a network of OEMs,
major distributors, VARs, and system integrators. Mylex Corporation is
headquartered at 34551 Ardenwood Blvd., Fremont, CA.
####
Contact:
Peter Shambora
Vice President of Marketing
Mylex Corp.
510/796-6100
peters@mylex.com
ANNOUNCEMENT
BusLogic FlashPoint LT/BT-948 Upgrade Program
1 February 1996
ADDITIONAL ANNOUNCEMENT
BusLogic FlashPoint LW/BT-958 Upgrade Program
14 June 1996
Ever since its introduction last October, the BusLogic FlashPoint LT has
been problematic for members of the Linux community, in that no Linux
drivers have been available for this new Ultra SCSI product. Despite its
officially being positioned as a desktop workstation product, and not being
particularly well suited for a high performance multitasking operating
system like Linux, the FlashPoint LT has been touted by computer system
vendors as the latest thing, and has been sold even on many of their high
end systems, to the exclusion of the older MultiMaster products. This has
caused grief for many people who inadvertently purchased a system expecting
that all BusLogic SCSI Host Adapters were supported by Linux, only to
discover that the FlashPoint was not supported and would not be for quite
some time, if ever.
After this problem was identified, BusLogic contacted its major OEM
customers to make sure the BT-946C/956C MultiMaster cards would still be
made available, and that Linux users who mistakenly ordered systems with
the FlashPoint would be able to upgrade to the BT-946C. While this helped
many purchasers of new systems, it was only a partial solution to the
overall problem of FlashPoint support for Linux users. It did nothing to
assist the people who initially purchased a FlashPoint for a supported
operating system and then later decided to run Linux, or those who had
ended up with a FlashPoint LT, believing it was supported, and were unable
to return it.
In the middle of December, I asked to meet with BusLogic's senior
management to discuss the issues related to Linux and free software support
for the FlashPoint. Rumors of varying accuracy had been circulating
publicly about BusLogic's attitude toward the Linux community, and I felt
it was best that these issues be addressed directly. I sent an email
message after 11pm one evening, and the meeting took place the next
afternoon. Unfortunately, corporate wheels sometimes grind slowly,
especially when a company is being acquired, and so it's taken until now
before the details were completely determined and a public statement could
be made.
BusLogic is not prepared at this time to release the information necessary
for third parties to write drivers for the FlashPoint. The only existing
FlashPoint drivers have been written directly by BusLogic Engineering, and
there is no FlashPoint documentation sufficiently detailed to allow outside
developers to write a driver without substantial assistance. While there
are people at BusLogic who would rather not release the details of the
FlashPoint architecture at all, that debate has not yet been settled either
way. In any event, even if documentation were available today it would
take quite a while for a usable driver to be written, especially since I'm
not convinced that the effort required would be worthwhile.
However, BusLogic does remain committed to providing a high performance
SCSI solution for the Linux community, and does not want to see anyone left
unable to run Linux because they have a Flashpoint LT. Therefore, BusLogic
has put in place a direct upgrade program to allow any Linux user worldwide
to trade in their FlashPoint LT for the new BT-948 MultiMaster PCI Ultra
SCSI Host Adapter. The BT-948 is the Ultra SCSI successor to the BT-946C
and has all the best features of both the BT-946C and FlashPoint LT,
including smart termination and a flash PROM for easy firmware updates, and
is of course compatible with the present Linux driver. The price for this
upgrade has been set at US $45 plus shipping and handling, and the upgrade
program will be administered through BusLogic Technical Support, which can
be reached by electronic mail at techsup@buslogic.com, by Voice at +1 408
654-0760, or by FAX at +1 408 492-1542.
As of 14 June 1996, the original BusLogic FlashPoint LT to BT-948 upgrade
program has now been extended to encompass the FlashPoint LW Wide Ultra
SCSI Host Adapter. Any Linux user worldwide may trade in their FlashPoint
LW (BT-950) for a BT-958 MultiMaster PCI Ultra SCSI Host Adapter. The
price for this upgrade has been set at US $65 plus shipping and handling.
I was a beta test site for the BT-948/958, and versions 1.2.1 and 1.3.1 of
my BusLogic driver already included latent support for the BT-948/958.
Additional cosmetic support for the Ultra SCSI MultiMaster cards was added
subsequent releases. As a result of this cooperative testing process,
several firmware bugs were found and corrected. My heavily loaded Linux
test system provided an ideal environment for testing error recovery
processes that are much more rarely exercised in production systems, but
are crucial to overall system stability. It was especially convenient
being able to work directly with their firmware engineer in demonstrating
the problems under control of the firmware debugging environment; things
sure have come a long way since the last time I worked on firmware for an
embedded system. I am presently working on some performance testing and
expect to have some data to report in the not too distant future.
BusLogic asked me to send this announcement since a large percentage of the
questions regarding support for the FlashPoint have either been sent to me
directly via email, or have appeared in the Linux newsgroups in which I
participate. To summarize, BusLogic is offering Linux users an upgrade
from the unsupported FlashPoint LT (BT-930) to the supported BT-948 for US
$45 plus shipping and handling, or from the unsupported FlashPoint LW
(BT-950) to the supported BT-958 for $65 plus shipping and handling.
Contact BusLogic Technical Support at techsup@buslogic.com or +1 408
654-0760 to take advantage of their offer.
Leonard N. Zubkoff
lnz@dandelion.com
.. SPDX-License-Identifier: GPL-2.0
=========================================
WorkBiT NinjaSCSI-3/32Bi driver for Linux
=========================================
1. Comment
==========
This is Workbit corp.'s(http://www.workbit.co.jp/) NinjaSCSI-3
for Linux.
2. My Linux environment
=======================
:Linux kernel: 2.4.7 / 2.2.19
:pcmcia-cs: 3.1.27
:gcc: gcc-2.95.4
:PC card: I-O data PCSC-F (NinjaSCSI-3),
I-O data CBSC-II in 16 bit mode (NinjaSCSI-32Bi)
:SCSI device: I-O data CDPS-PX24 (CD-ROM drive),
Media Intelligent MMO-640GT (Optical disk drive)
3. Install
==========
(a) Check your PC card is true "NinjaSCSI-3" card.
If you installed pcmcia-cs already, pcmcia reports your card as UNKNOWN
card, and write ["WBT", "NinjaSCSI-3", "R1.0"] or some other string to
your console or log file.
You can also use "cardctl" program (this program is in pcmcia-cs source
code) to get more info.
::
# cat /var/log/messages
...
Jan 2 03:45:06 lindberg cardmgr[78]: unsupported card in socket 1
Jan 2 03:45:06 lindberg cardmgr[78]: product info: "WBT", "NinjaSCSI-3", "R1.0"
...
# cardctl ident
Socket 0:
no product info available
Socket 1:
product info: "IO DATA", "CBSC16 ", "1"
(b) Get the Linux kernel source, and extract it to /usr/src.
Because the NinjaSCSI driver requires some SCSI header files in Linux
kernel source, I recommend rebuilding your kernel; this eliminates
some versioning problems.
::
$ cd /usr/src
$ tar -zxvf linux-x.x.x.tar.gz
$ cd linux
$ make config
...
(c) If you use this driver with Kernel 2.2, unpack pcmcia-cs in some directory
and make & install. This driver requires the pcmcia-cs header file.
::
$ cd /usr/src
$ tar zxvf cs-pcmcia-cs-3.x.x.tar.gz
...
(d) Extract this driver's archive somewhere, and edit Makefile, then do make::
$ tar -zxvf nsp_cs-x.x.tar.gz
$ cd nsp_cs-x.x
$ emacs Makefile
...
$ make
(e) Copy nsp_cs.ko to suitable place, like /lib/modules/<Kernel version>/pcmcia/ .
(f) Add these lines to /etc/pcmcia/config .
If you use pcmcia-cs-3.1.8 or later, we can use "nsp_cs.conf" file.
So, you don't need to edit file. Just copy to /etc/pcmcia/ .
::
device "nsp_cs"
class "scsi" module "nsp_cs"
card "WorkBit NinjaSCSI-3"
version "WBT", "NinjaSCSI-3", "R1.0"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit)"
version "WORKBIT", "UltraNinja-16", "1"
bind "nsp_cs"
# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / IO-DATA"
version "IO DATA", "CBSC16 ", "1"
bind "nsp_cs"
# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-1"
version "KME ", "SCSI-CARD-001", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-2"
version "KME ", "SCSI-CARD-002", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-3"
version "KME ", "SCSI-CARD-003", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-4"
version "KME ", "SCSI-CARD-004", "1"
bind "nsp_cs"
(f) Start (or restart) pcmcia-cs::
# /etc/rc.d/rc.pcmcia start (BSD style)
or::
# /etc/init.d/pcmcia start (SYSV style)
4. History
==========
See README.nin_cs .
5. Caution
==========
If you eject card when doing some operation for your SCSI device or suspend
your computer, you encount some *BAD* error like disk crash.
It works good when I using this driver right way. But I'm not guarantee
your data. Please backup your data when you use this driver.
6. Known Bugs
=============
In 2.4 kernel, you can't use 640MB Optical disk. This error comes from
high level SCSI driver.
7. Testing
==========
Please send me some reports(bug reports etc..) of this software.
When you send report, please tell me these or more.
- card name
- kernel version
- your SCSI device name(hard drive, CD-ROM, etc...)
8. Copyright
============
See GPL.
2001/08/08 yokota@netlab.is.tsukuba.ac.jp <YOKOTA Hiroshi>
WorkBiT NinjaSCSI-3/32Bi driver for Linux
1. Comment
This is Workbit corp.'s(http://www.workbit.co.jp/) NinjaSCSI-3
for Linux.
2. My Linux environment
Linux kernel: 2.4.7 / 2.2.19
pcmcia-cs: 3.1.27
gcc: gcc-2.95.4
PC card: I-O data PCSC-F (NinjaSCSI-3)
I-O data CBSC-II in 16 bit mode (NinjaSCSI-32Bi)
SCSI device: I-O data CDPS-PX24 (CD-ROM drive)
Media Intelligent MMO-640GT (Optical disk drive)
3. Install
[1] Check your PC card is true "NinjaSCSI-3" card.
If you installed pcmcia-cs already, pcmcia reports your card as UNKNOWN
card, and write ["WBT", "NinjaSCSI-3", "R1.0"] or some other string to
your console or log file.
You can also use "cardctl" program (this program is in pcmcia-cs source
code) to get more info.
# cat /var/log/messages
...
Jan 2 03:45:06 lindberg cardmgr[78]: unsupported card in socket 1
Jan 2 03:45:06 lindberg cardmgr[78]: product info: "WBT", "NinjaSCSI-3", "R1.0"
...
# cardctl ident
Socket 0:
no product info available
Socket 1:
product info: "IO DATA", "CBSC16 ", "1"
[2] Get the Linux kernel source, and extract it to /usr/src.
Because the NinjaSCSI driver requires some SCSI header files in Linux
kernel source, I recommend rebuilding your kernel; this eliminates
some versioning problems.
$ cd /usr/src
$ tar -zxvf linux-x.x.x.tar.gz
$ cd linux
$ make config
...
[3] If you use this driver with Kernel 2.2, unpack pcmcia-cs in some directory
and make & install. This driver requires the pcmcia-cs header file.
$ cd /usr/src
$ tar zxvf cs-pcmcia-cs-3.x.x.tar.gz
...
[4] Extract this driver's archive somewhere, and edit Makefile, then do make.
$ tar -zxvf nsp_cs-x.x.tar.gz
$ cd nsp_cs-x.x
$ emacs Makefile
...
$ make
[5] Copy nsp_cs.ko to suitable place, like /lib/modules/<Kernel version>/pcmcia/ .
[6] Add these lines to /etc/pcmcia/config .
If you use pcmcia-cs-3.1.8 or later, we can use "nsp_cs.conf" file.
So, you don't need to edit file. Just copy to /etc/pcmcia/ .
-------------------------------------
device "nsp_cs"
class "scsi" module "nsp_cs"
card "WorkBit NinjaSCSI-3"
version "WBT", "NinjaSCSI-3", "R1.0"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit)"
version "WORKBIT", "UltraNinja-16", "1"
bind "nsp_cs"
# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / IO-DATA"
version "IO DATA", "CBSC16 ", "1"
bind "nsp_cs"
# OEM
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-1"
version "KME ", "SCSI-CARD-001", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-2"
version "KME ", "SCSI-CARD-002", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-3"
version "KME ", "SCSI-CARD-003", "1"
bind "nsp_cs"
card "WorkBit NinjaSCSI-32Bi (16bit) / KME-4"
version "KME ", "SCSI-CARD-004", "1"
bind "nsp_cs"
-------------------------------------
[7] Start (or restart) pcmcia-cs.
# /etc/rc.d/rc.pcmcia start (BSD style)
or
# /etc/init.d/pcmcia start (SYSV style)
4. History
See README.nin_cs .
5. Caution
If you eject card when doing some operation for your SCSI device or suspend
your computer, you encount some *BAD* error like disk crash.
It works good when I using this driver right way. But I'm not guarantee
your data. Please backup your data when you use this driver.
6. Known Bugs
In 2.4 kernel, you can't use 640MB Optical disk. This error comes from
high level SCSI driver.
7. Testing
Please send me some reports(bug reports etc..) of this software.
When you send report, please tell me these or more.
card name
kernel version
your SCSI device name(hard drive, CD-ROM, etc...)
8. Copyright
See GPL.
2001/08/08 yokota@netlab.is.tsukuba.ac.jp <YOKOTA Hiroshi>
.. SPDX-License-Identifier: GPL-2.0
===================================
AACRAID Driver for Linux (take two) AACRAID Driver for Linux (take two)
===================================
Introduction Introduction
------------------------- ============
The aacraid driver adds support for Adaptec (http://www.adaptec.com) The aacraid driver adds support for Adaptec (http://www.adaptec.com)
RAID controllers. This is a major rewrite from the original RAID controllers. This is a major rewrite from the original
Adaptec supplied driver. It has significantly cleaned up both the code Adaptec supplied driver. It has significantly cleaned up both the code
...@@ -9,8 +13,11 @@ and the running binary size (the module is less than half the size of ...@@ -9,8 +13,11 @@ and the running binary size (the module is less than half the size of
the original). the original).
Supported Cards/Chipsets Supported Cards/Chipsets
------------------------- ========================
=================== ======= =======================================
PCI ID (pci.ids) OEM Product PCI ID (pci.ids) OEM Product
=================== ======= =======================================
9005:0285:9005:0285 Adaptec 2200S (Vulcan) 9005:0285:9005:0285 Adaptec 2200S (Vulcan)
9005:0285:9005:0286 Adaptec 2120S (Crusader) 9005:0285:9005:0286 Adaptec 2120S (Crusader)
9005:0285:9005:0287 Adaptec 2200S (Vulcan-2m) 9005:0285:9005:0287 Adaptec 2200S (Vulcan-2m)
...@@ -117,34 +124,54 @@ Supported Cards/Chipsets ...@@ -117,34 +124,54 @@ Supported Cards/Chipsets
9005:0285:108e:0286 SUN STK RAID INT (Cougar) 9005:0285:108e:0286 SUN STK RAID INT (Cougar)
9005:0285:108e:0287 SUN STK RAID EXT (Prometheus) 9005:0285:108e:0287 SUN STK RAID EXT (Prometheus)
9005:0285:108e:7aae SUN STK RAID EM (Narvi) 9005:0285:108e:7aae SUN STK RAID EM (Narvi)
=================== ======= =======================================
People People
------------------------- ======
Alan Cox <alan@lxorguk.ukuu.org.uk> Alan Cox <alan@lxorguk.ukuu.org.uk>
Christoph Hellwig <hch@infradead.org> (updates for new-style PCI probing and SCSI host registration,
small cleanups/fixes) Christoph Hellwig <hch@infradead.org>
Matt Domsch <matt_domsch@dell.com> (revision ioctl, adapter messages)
Deanna Bonds (non-DASD support, PAE fibs and 64 bit, added new adaptec controllers - updates for new-style PCI probing and SCSI host registration,
added new ioctls, changed scsi interface to use new error handler, small cleanups/fixes
increased the number of fibs and outstanding commands to a container)
Matt Domsch <matt_domsch@dell.com>
(fixed 64bit and 64G memory model, changed confusing naming convention
where fibs that go to the hardware are consistently called hw_fibs and - revision ioctl, adapter messages
not just fibs like the name of the driver tracking structure)
Mark Salyzyn <Mark_Salyzyn@adaptec.com> Fixed panic issues and added some new product ids for upcoming hbas. Performance tuning, card failover and bug mitigations. Deanna Bonds
- non-DASD support, PAE fibs and 64 bit, added new adaptec controllers
added new ioctls, changed scsi interface to use new error handler,
increased the number of fibs and outstanding commands to a container
- fixed 64bit and 64G memory model, changed confusing naming convention
where fibs that go to the hardware are consistently called hw_fibs and
not just fibs like the name of the driver tracking structure
Mark Salyzyn <Mark_Salyzyn@adaptec.com>
- Fixed panic issues and added some new product ids for upcoming hbas.
- Performance tuning, card failover and bug mitigations.
Achim Leubner <Achim_Leubner@adaptec.com> Achim Leubner <Achim_Leubner@adaptec.com>
Original Driver - Original Driver
------------------------- -------------------------
Adaptec Unix OEM Product Group Adaptec Unix OEM Product Group
Mailing List Mailing List
------------------------- ============
linux-scsi@vger.kernel.org (Interested parties troll here) linux-scsi@vger.kernel.org (Interested parties troll here)
Also note this is very different to Brian's original driver Also note this is very different to Brian's original driver
so don't expect him to support it. so don't expect him to support it.
Adaptec does support this driver. Contact Adaptec tech support or Adaptec does support this driver. Contact Adaptec tech support or
aacraid@adaptec.com aacraid@adaptec.com
Original by Brian Boerner February 2001 Original by Brian Boerner February 2001
Rewritten by Alan Cox, November 2001 Rewritten by Alan Cox, November 2001
.. SPDX-License-Identifier: GPL-2.0
=====================
AdvanSys Driver Notes
=====================
AdvanSys (Advanced System Products, Inc.) manufactures the following AdvanSys (Advanced System Products, Inc.) manufactures the following
RISC-based, Bus-Mastering, Fast (10 Mhz) and Ultra (20 Mhz) Narrow RISC-based, Bus-Mastering, Fast (10 Mhz) and Ultra (20 Mhz) Narrow
(8-bit transfer) SCSI Host Adapters for the ISA, EISA, VL, and PCI (8-bit transfer) SCSI Host Adapters for the ISA, EISA, VL, and PCI
...@@ -12,50 +18,51 @@ adapter detected. The number of CDBs used by the driver can be ...@@ -12,50 +18,51 @@ adapter detected. The number of CDBs used by the driver can be
lowered in the BIOS by changing the 'Host Queue Size' adapter setting. lowered in the BIOS by changing the 'Host Queue Size' adapter setting.
Laptop Products: Laptop Products:
ABP-480 - Bus-Master CardBus (16 CDB) - ABP-480 - Bus-Master CardBus (16 CDB)
Connectivity Products: Connectivity Products:
ABP510/5150 - Bus-Master ISA (240 CDB) - ABP510/5150 - Bus-Master ISA (240 CDB)
ABP5140 - Bus-Master ISA PnP (16 CDB) - ABP5140 - Bus-Master ISA PnP (16 CDB)
ABP5142 - Bus-Master ISA PnP with floppy (16 CDB) - ABP5142 - Bus-Master ISA PnP with floppy (16 CDB)
ABP902/3902 - Bus-Master PCI (16 CDB) - ABP902/3902 - Bus-Master PCI (16 CDB)
ABP3905 - Bus-Master PCI (16 CDB) - ABP3905 - Bus-Master PCI (16 CDB)
ABP915 - Bus-Master PCI (16 CDB) - ABP915 - Bus-Master PCI (16 CDB)
ABP920 - Bus-Master PCI (16 CDB) - ABP920 - Bus-Master PCI (16 CDB)
ABP3922 - Bus-Master PCI (16 CDB) - ABP3922 - Bus-Master PCI (16 CDB)
ABP3925 - Bus-Master PCI (16 CDB) - ABP3925 - Bus-Master PCI (16 CDB)
ABP930 - Bus-Master PCI (16 CDB) - ABP930 - Bus-Master PCI (16 CDB)
ABP930U - Bus-Master PCI Ultra (16 CDB) - ABP930U - Bus-Master PCI Ultra (16 CDB)
ABP930UA - Bus-Master PCI Ultra (16 CDB) - ABP930UA - Bus-Master PCI Ultra (16 CDB)
ABP960 - Bus-Master PCI MAC/PC (16 CDB) - ABP960 - Bus-Master PCI MAC/PC (16 CDB)
ABP960U - Bus-Master PCI MAC/PC Ultra (16 CDB) - ABP960U - Bus-Master PCI MAC/PC Ultra (16 CDB)
Single Channel Products: Single Channel Products:
ABP542 - Bus-Master ISA with floppy (240 CDB) - ABP542 - Bus-Master ISA with floppy (240 CDB)
ABP742 - Bus-Master EISA (240 CDB) - ABP742 - Bus-Master EISA (240 CDB)
ABP842 - Bus-Master VL (240 CDB) - ABP842 - Bus-Master VL (240 CDB)
ABP940 - Bus-Master PCI (240 CDB) - ABP940 - Bus-Master PCI (240 CDB)
ABP940U - Bus-Master PCI Ultra (240 CDB) - ABP940U - Bus-Master PCI Ultra (240 CDB)
ABP940UA/3940UA - Bus-Master PCI Ultra (240 CDB) - ABP940UA/3940UA - Bus-Master PCI Ultra (240 CDB)
ABP970 - Bus-Master PCI MAC/PC (240 CDB) - ABP970 - Bus-Master PCI MAC/PC (240 CDB)
ABP970U - Bus-Master PCI MAC/PC Ultra (240 CDB) - ABP970U - Bus-Master PCI MAC/PC Ultra (240 CDB)
ABP3960UA - Bus-Master PCI MAC/PC Ultra (240 CDB) - ABP3960UA - Bus-Master PCI MAC/PC Ultra (240 CDB)
ABP940UW/3940UW - Bus-Master PCI Ultra-Wide (253 CDB) - ABP940UW/3940UW - Bus-Master PCI Ultra-Wide (253 CDB)
ABP970UW - Bus-Master PCI MAC/PC Ultra-Wide (253 CDB) - ABP970UW - Bus-Master PCI MAC/PC Ultra-Wide (253 CDB)
ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB) - ABP3940U2W - Bus-Master PCI LVD/Ultra2-Wide (253 CDB)
Multi-Channel Products: Multi-Channel Products:
ABP752 - Dual Channel Bus-Master EISA (240 CDB Per Channel) - ABP752 - Dual Channel Bus-Master EISA (240 CDB Per Channel)
ABP852 - Dual Channel Bus-Master VL (240 CDB Per Channel) - ABP852 - Dual Channel Bus-Master VL (240 CDB Per Channel)
ABP950 - Dual Channel Bus-Master PCI (240 CDB Per Channel) - ABP950 - Dual Channel Bus-Master PCI (240 CDB Per Channel)
ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB Per Channel) - ABP950UW - Dual Channel Bus-Master PCI Ultra-Wide (253 CDB Per Channel)
ABP980 - Four Channel Bus-Master PCI (240 CDB Per Channel) - ABP980 - Four Channel Bus-Master PCI (240 CDB Per Channel)
ABP980U - Four Channel Bus-Master PCI Ultra (240 CDB Per Channel) - ABP980U - Four Channel Bus-Master PCI Ultra (240 CDB Per Channel)
ABP980UA/3980UA - Four Channel Bus-Master PCI Ultra (16 CDB Per Chan.) - ABP980UA/3980UA - Four Channel Bus-Master PCI Ultra (16 CDB Per Chan.)
ABP3950U2W - Bus-Master PCI LVD/Ultra2-Wide and Ultra-Wide (253 CDB) - ABP3950U2W - Bus-Master PCI LVD/Ultra2-Wide and Ultra-Wide (253 CDB)
ABP3950U3W - Bus-Master PCI Dual LVD2/Ultra3-Wide (253 CDB) - ABP3950U3W - Bus-Master PCI Dual LVD2/Ultra3-Wide (253 CDB)
Driver Compile Time Options and Debugging Driver Compile Time Options and Debugging
=========================================
The following constants can be defined in the source file. The following constants can be defined in the source file.
...@@ -88,26 +95,30 @@ The following constants can be defined in the source file. ...@@ -88,26 +95,30 @@ The following constants can be defined in the source file.
first three hex digits of the pseudo I/O Port must be set to first three hex digits of the pseudo I/O Port must be set to
'deb' and the fourth hex digit specifies the debug level: 0 - F. 'deb' and the fourth hex digit specifies the debug level: 0 - F.
The following command line will look for an adapter at 0x330 The following command line will look for an adapter at 0x330
and set the debug level to 2. and set the debug level to 2::
linux advansys=0x330,0,0,0,0xdeb2 linux advansys=0x330,0,0,0,0xdeb2
If the driver is built as a loadable module this variable can be If the driver is built as a loadable module this variable can be
defined when the driver is loaded. The following insmod command defined when the driver is loaded. The following insmod command
will set the debug level to one. will set the debug level to one::
insmod advansys.o asc_dbglvl=1 insmod advansys.o asc_dbglvl=1
Debugging Message Levels: Debugging Message Levels:
0: Errors Only
1: High-Level Tracing
2-N: Verbose Tracing ==== ==================
0 Errors Only
1 High-Level Tracing
2-N Verbose Tracing
==== ==================
To enable debug output to console, please make sure that: To enable debug output to console, please make sure that:
a. System and kernel logging is enabled (syslogd, klogd running). a. System and kernel logging is enabled (syslogd, klogd running).
b. Kernel messages are routed to console output. Check b. Kernel messages are routed to console output. Check
/etc/syslog.conf for an entry similar to this: /etc/syslog.conf for an entry similar to this::
kern.* /dev/console kern.* /dev/console
...@@ -120,8 +131,11 @@ The following constants can be defined in the source file. ...@@ -120,8 +131,11 @@ The following constants can be defined in the source file.
Alternatively you can enable printk() to console with this Alternatively you can enable printk() to console with this
program. However, this is not the 'official' way to do this. program. However, this is not the 'official' way to do this.
Debug output is logged in /var/log/messages. Debug output is logged in /var/log/messages.
::
main() main()
{ {
syscall(103, 7, 0, 0); syscall(103, 7, 0, 0);
...@@ -144,11 +158,11 @@ The following constants can be defined in the source file. ...@@ -144,11 +158,11 @@ The following constants can be defined in the source file.
Statistics are only available for kernels greater than or equal Statistics are only available for kernels greater than or equal
to v1.3.0 with the CONFIG_PROC_FS (/proc) file system configured. to v1.3.0 with the CONFIG_PROC_FS (/proc) file system configured.
AdvanSys SCSI adapter files have the following path name format: AdvanSys SCSI adapter files have the following path name format::
/proc/scsi/advansys/{0,1,2,3,...} /proc/scsi/advansys/{0,1,2,3,...}
This information can be displayed with cat. For example: This information can be displayed with cat. For example::
cat /proc/scsi/advansys/0 cat /proc/scsi/advansys/0
...@@ -156,6 +170,7 @@ The following constants can be defined in the source file. ...@@ -156,6 +170,7 @@ The following constants can be defined in the source file.
contain adapter and device configuration information. contain adapter and device configuration information.
Driver LILO Option Driver LILO Option
==================
If init/main.c is modified as described in the 'Directions for Adding If init/main.c is modified as described in the 'Directions for Adding
the AdvanSys Driver to Linux' section (B.4.) above, the driver will the AdvanSys Driver to Linux' section (B.4.) above, the driver will
...@@ -167,17 +182,30 @@ affects searching for ISA and VL boards. ...@@ -167,17 +182,30 @@ affects searching for ISA and VL boards.
Examples: Examples:
1. Eliminate I/O port scanning: 1. Eliminate I/O port scanning:
boot: linux advansys=
or boot::
boot: linux advansys=0x0
linux advansys=
or::
boot: linux advansys=0x0
2. Limit I/O port scanning to one I/O port: 2. Limit I/O port scanning to one I/O port:
boot: linux advansys=0x110
boot::
linux advansys=0x110
3. Limit I/O port scanning to four I/O ports: 3. Limit I/O port scanning to four I/O ports:
boot: linux advansys=0x110,0x210,0x230,0x330
boot::
linux advansys=0x110,0x210,0x230,0x330
For a loadable module the same effect can be achieved by setting For a loadable module the same effect can be achieved by setting
the 'asc_iopflag' variable and 'asc_ioport' array when loading the 'asc_iopflag' variable and 'asc_ioport' array when loading
the driver, e.g. the driver, e.g.::
insmod advansys.o asc_iopflag=1 asc_ioport=0x110,0x330 insmod advansys.o asc_iopflag=1 asc_ioport=0x110,0x330
...@@ -187,6 +215,7 @@ the 'Driver Compile Time Options and Debugging' section above for ...@@ -187,6 +215,7 @@ the 'Driver Compile Time Options and Debugging' section above for
more information. more information.
Credits (Chronological Order) Credits (Chronological Order)
=============================
Bob Frey <bfrey@turbolinux.com.cn> wrote the AdvanSys SCSI driver Bob Frey <bfrey@turbolinux.com.cn> wrote the AdvanSys SCSI driver
and maintained it up to 3.3F. He continues to answer questions and maintained it up to 3.3F. He continues to answer questions
......
$Id: README.aha152x,v 1.2 1999/12/25 15:32:30 fischer Exp fischer $ .. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
=====================================================
Adaptec AHA-1520/1522 SCSI driver for Linux (aha152x) Adaptec AHA-1520/1522 SCSI driver for Linux (aha152x)
=====================================================
Copyright |copy| 1993-1999 Jürgen Fischer <fischer@norbit.de>
Copyright 1993-1999 Jürgen Fischer <fischer@norbit.de>
TC1550 patches by Luuk van Dijk (ldz@xs4all.nl) TC1550 patches by Luuk van Dijk (ldz@xs4all.nl)
...@@ -14,8 +19,10 @@ less polling loops), has slightly higher throughput (at ...@@ -14,8 +19,10 @@ less polling loops), has slightly higher throughput (at
least on my ancient test box; a i486/33Mhz/20MB). least on my ancient test box; a i486/33Mhz/20MB).
CONFIGURATION ARGUMENTS: Configuration Arguments
=======================
============ ======================================== ======================
IOPORT base io address (0x340/0x140) IOPORT base io address (0x340/0x140)
IRQ interrupt level (9-12; default 11) IRQ interrupt level (9-12; default 11)
SCSI_ID scsi id of controller (0-7; default 7) SCSI_ID scsi id of controller (0-7; default 7)
...@@ -25,31 +32,38 @@ SYNCHRONOUS enable synchronous transfers (0/1; default 1 [on]) ...@@ -25,31 +32,38 @@ SYNCHRONOUS enable synchronous transfers (0/1; default 1 [on])
DELAY: bus reset delay (default 100) DELAY: bus reset delay (default 100)
EXT_TRANS: enable extended translation (0/1: default 0 [off]) EXT_TRANS: enable extended translation (0/1: default 0 [off])
(see NOTES) (see NOTES)
============ ======================================== ======================
Compile Time Configuration
==========================
(go into AHA152X in drivers/scsi/Makefile):
COMPILE TIME CONFIGURATION (go into AHA152X in drivers/scsi/Makefile): - DAUTOCONF
use configuration the controller reports (AHA-152x only)
-DAUTOCONF - DSKIP_BIOSTEST
use configuration the controller reports (AHA-152x only) Don't test for BIOS signature (AHA-1510 or disabled BIOS)
-DSKIP_BIOSTEST - DSETUP0="{ IOPORT, IRQ, SCSI_ID, RECONNECT, PARITY, SYNCHRONOUS, DELAY, EXT_TRANS }"
Don't test for BIOS signature (AHA-1510 or disabled BIOS) override for the first controller
-DSETUP0="{ IOPORT, IRQ, SCSI_ID, RECONNECT, PARITY, SYNCHRONOUS, DELAY, EXT_TRANS }" - DSETUP1="{ IOPORT, IRQ, SCSI_ID, RECONNECT, PARITY, SYNCHRONOUS, DELAY, EXT_TRANS }"
override for the first controller override for the second controller
-DSETUP1="{ IOPORT, IRQ, SCSI_ID, RECONNECT, PARITY, SYNCHRONOUS, DELAY, EXT_TRANS }" - DAHA152X_DEBUG
override for the second controller enable debugging output
-DAHA152X_DEBUG - DAHA152X_STAT
enable debugging output enable some statistics
-DAHA152X_STAT
enable some statistics
LILO Command Line Options
=========================
LILO COMMAND LINE OPTIONS: ::
aha152x=<IOPORT>[,<IRQ>[,<SCSI-ID>[,<RECONNECT>[,<PARITY>[,<SYNCHRONOUS>[,<DELAY> [,<EXT_TRANS]]]]]]] aha152x=<IOPORT>[,<IRQ>[,<SCSI-ID>[,<RECONNECT>[,<PARITY>[,<SYNCHRONOUS>[,<DELAY> [,<EXT_TRANS]]]]]]]
The normal configuration can be overridden by specifying a command line. The normal configuration can be overridden by specifying a command line.
When you do this, the BIOS test is skipped. Entered values have to be When you do this, the BIOS test is skipped. Entered values have to be
...@@ -58,17 +72,21 @@ aha152x=<IOPORT>[,<IRQ>[,<SCSI-ID>[,<RECONNECT>[,<PARITY>[,<SYNCHRONOUS>[,<DELAY ...@@ -58,17 +72,21 @@ aha152x=<IOPORT>[,<IRQ>[,<SCSI-ID>[,<RECONNECT>[,<PARITY>[,<SYNCHRONOUS>[,<DELAY
For two controllers use the aha152x statement twice. For two controllers use the aha152x statement twice.
SYMBOLS FOR MODULE CONFIGURATION: Symbols for Module Configuration
================================
Choose from 2 alternatives: Choose from 2 alternatives:
1. specify everything (old) 1. specify everything (old)::
aha152x=IOPORT,IRQ,SCSI_ID,RECONNECT,PARITY,SYNCHRONOUS,DELAY,EXT_TRANS
aha152x=IOPORT,IRQ,SCSI_ID,RECONNECT,PARITY,SYNCHRONOUS,DELAY,EXT_TRANS
configuration override for first controller configuration override for first controller
::
aha152x1=IOPORT,IRQ,SCSI_ID,RECONNECT,PARITY,SYNCHRONOUS,DELAY,EXT_TRANS
aha152x1=IOPORT,IRQ,SCSI_ID,RECONNECT,PARITY,SYNCHRONOUS,DELAY,EXT_TRANS
configuration override for second controller configuration override for second controller
2. specify only what you need to (irq or io is required; new) 2. specify only what you need to (irq or io is required; new)
...@@ -101,7 +119,8 @@ exttrans=EXTTRANS0[,EXTTRANS1] ...@@ -101,7 +119,8 @@ exttrans=EXTTRANS0[,EXTTRANS1]
If you use both alternatives the first will be taken. If you use both alternatives the first will be taken.
NOTES ON EXT_TRANS: Notes on EXT_TRANS
==================
SCSI uses block numbers to address blocks/sectors on a device. SCSI uses block numbers to address blocks/sectors on a device.
The BIOS uses a cylinder/head/sector addressing scheme (C/H/S) The BIOS uses a cylinder/head/sector addressing scheme (C/H/S)
...@@ -150,8 +169,9 @@ geometry right in most cases: ...@@ -150,8 +169,9 @@ geometry right in most cases:
- for disks<1GB: use default translation (C/32/64) - for disks<1GB: use default translation (C/32/64)
- for disks>1GB: - for disks>1GB:
- take current geometry from the partition table - take current geometry from the partition table
(using scsicam_bios_param and accept only `valid' geometries, (using scsicam_bios_param and accept only 'valid' geometries,
ie. either (C/32/64) or (C/63/255)). This can be extended translation ie. either (C/32/64) or (C/63/255)). This can be extended translation
even if it's not enabled in the driver. even if it's not enabled in the driver.
...@@ -161,7 +181,8 @@ geometry right in most cases: ...@@ -161,7 +181,8 @@ geometry right in most cases:
disks. disks.
REFERENCES USED: References Used
===============
"AIC-6260 SCSI Chip Specification", Adaptec Corporation. "AIC-6260 SCSI Chip Specification", Adaptec Corporation.
...@@ -177,7 +198,7 @@ REFERENCES USED: ...@@ -177,7 +198,7 @@ REFERENCES USED:
Drew Eckhardt (drew@cs.colorado.edu) Drew Eckhardt (drew@cs.colorado.edu)
Eric Youngdale (eric@andante.org) Eric Youngdale (eric@andante.org)
special thanks to Eric Youngdale for the free(!) supplying the special thanks to Eric Youngdale for the free(!) supplying the
documentation on the chip. documentation on the chip.
This diff is collapsed.
This diff is collapsed.
Linux driver for Brocade FC/FCOE adapters .. SPDX-License-Identifier: GPL-2.0
=========================================
Linux driver for Brocade FC/FCOE adapters
=========================================
Supported Hardware Supported Hardware
------------------ ------------------
...@@ -7,8 +10,9 @@ Supported Hardware ...@@ -7,8 +10,9 @@ Supported Hardware
bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of bfa 3.0.2.2 driver supports all Brocade FC/FCOE adapters. Below is a list of
adapter models with corresponding PCIIDs. adapter models with corresponding PCIIDs.
PCIID Model =================== ===========================================
PCIID Model
=================== ===========================================
1657:0013:1657:0014 425 4Gbps dual port FC HBA 1657:0013:1657:0014 425 4Gbps dual port FC HBA
1657:0013:1657:0014 825 8Gbps PCIe dual port FC HBA 1657:0013:1657:0014 825 8Gbps PCIe dual port FC HBA
1657:0013:103c:1742 HP 82B 8Gbps PCIedual port FC HBA 1657:0013:103c:1742 HP 82B 8Gbps PCIedual port FC HBA
...@@ -26,6 +30,7 @@ adapter models with corresponding PCIIDs. ...@@ -26,6 +30,7 @@ adapter models with corresponding PCIIDs.
1657:0022:1657:0024 1860 16Gbps FC HBA 1657:0022:1657:0024 1860 16Gbps FC HBA
1657:0022:1657:0022 1860 10Gbps CNA - FCOE 1657:0022:1657:0022 1860 10Gbps CNA - FCOE
=================== ===========================================
Firmware download Firmware download
...@@ -37,9 +42,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page ...@@ -37,9 +42,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
and then click following respective util package link: and then click following respective util package link:
Version Link ========= =======================================================
Version Link
========= =======================================================
v3.0.0.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 v3.0.0.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2
========= =======================================================
Configuration & Management utility download Configuration & Management utility download
...@@ -52,9 +59,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page ...@@ -52,9 +59,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
and then click following respective util package link and then click following respective util package link
Version Link ========= =======================================================
Version Link
========= =======================================================
v3.0.2.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2 v3.0.2.0 Linux Adapter Firmware package for RHEL 6.2, SLES 11SP2
========= =======================================================
Documentation Documentation
...@@ -69,10 +78,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page ...@@ -69,10 +78,11 @@ http://www.brocade.com/services-support/drivers-downloads/adapters/Linux.page
and use the following inbox and out-of-box driver version mapping to find and use the following inbox and out-of-box driver version mapping to find
the corresponding documentation: the corresponding documentation:
============= ==================
Inbox Version Out-of-box Version Inbox Version Out-of-box Version
============= ==================
v3.0.2.2 v3.0.0.0 v3.0.2.2 v3.0.0.0
============= ==================
Support Support
------- -------
......
.. SPDX-License-Identifier: GPL-2.0
===========================
Operating FCoE using bnx2fc Operating FCoE using bnx2fc
=========================== ===========================
Broadcom FCoE offload through bnx2fc is full stateful hardware offload that Broadcom FCoE offload through bnx2fc is full stateful hardware offload that
...@@ -24,6 +27,7 @@ Driver Usage Model: ...@@ -24,6 +27,7 @@ Driver Usage Model:
2. Configure the interfaces on which bnx2fc driver has to operate on. 2. Configure the interfaces on which bnx2fc driver has to operate on.
Here are the steps to configure: Here are the steps to configure:
a. cd /etc/fcoe a. cd /etc/fcoe
b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5. b. copy cfg-ethx to cfg-eth5 if FCoE has to be enabled on eth5.
c. Repeat this for all the interfaces where FCoE has to be enabled. c. Repeat this for all the interfaces where FCoE has to be enabled.
...@@ -39,8 +43,10 @@ discovery and log into the targets. ...@@ -39,8 +43,10 @@ discovery and log into the targets.
5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed 5. "Symbolic Name" in 'fcoeadm -i' output would display if bnx2fc has claimed
the interface. the interface.
Eg:
[root@bh2 ~]# fcoeadm -i Eg::
[root@bh2 ~]# fcoeadm -i
Description: NetXtreme II BCM57712 10 Gigabit Ethernet Description: NetXtreme II BCM57712 10 Gigabit Ethernet
Revision: 01 Revision: 01
Manufacturer: Broadcom Corporation Manufacturer: Broadcom Corporation
...@@ -60,16 +66,16 @@ Eg: ...@@ -60,16 +66,16 @@ Eg:
State: Online State: Online
6. Verify the vlan discovery is performed by running ifconfig and notice 6. Verify the vlan discovery is performed by running ifconfig and notice
<INTERFACE>.<VLAN>-fcoe interfaces are automatically created. <INTERFACE>.<VLAN>-fcoe interfaces are automatically created.
Refer to fcoeadm manpage for more information on fcoeadm operations to Refer to fcoeadm manpage for more information on fcoeadm operations to
create/destroy interfaces or to display lun/target information. create/destroy interfaces or to display lun/target information.
NOTE: NOTE
==== ====
** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one ** Broadcom FCoE capable devices implement a DCBX/LLDP client on-chip. Only one
LLDP client is allowed per interface. For proper operation all host software LLDP client is allowed per interface. For proper operation all host software
based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a based DCBX/LLDP clients (e.g. lldpad) must be disabled. To disable lldpad on a
given interface, run the following command: given interface, run the following command::
lldptool set-lldp -i <interface_name> adminStatus=disabled lldptool set-lldp -i <interface_name> adminStatus=disabled
.. SPDX-License-Identifier: GPL-2.0
=================================
Chelsio S3 iSCSI Driver for Linux Chelsio S3 iSCSI Driver for Linux
=================================
Introduction Introduction
============ ============
...@@ -49,7 +53,8 @@ The following steps need to be taken to accelerates the open-iscsi initiator: ...@@ -49,7 +53,8 @@ The following steps need to be taken to accelerates the open-iscsi initiator:
The cxgb3i module registers a new transport class "cxgb3i" with open-iscsi. The cxgb3i module registers a new transport class "cxgb3i" with open-iscsi.
* in the case of recompiling the kernel, the cxgb3i selection is located at * in the case of recompiling the kernel, the cxgb3i selection is located at::
Device Drivers Device Drivers
SCSI device support ---> SCSI device support --->
[*] SCSI low-level drivers ---> [*] SCSI low-level drivers --->
...@@ -58,25 +63,26 @@ The following steps need to be taken to accelerates the open-iscsi initiator: ...@@ -58,25 +63,26 @@ The following steps need to be taken to accelerates the open-iscsi initiator:
2. Create an interface file located under /etc/iscsi/ifaces/ for the new 2. Create an interface file located under /etc/iscsi/ifaces/ for the new
transport class "cxgb3i". transport class "cxgb3i".
The content of the file should be in the following format: The content of the file should be in the following format::
iface.transport_name = cxgb3i iface.transport_name = cxgb3i
iface.net_ifacename = <ethX> iface.net_ifacename = <ethX>
iface.ipaddress = <iscsi ip address> iface.ipaddress = <iscsi ip address>
* if iface.ipaddress is specified, <iscsi ip address> needs to be either the * if iface.ipaddress is specified, <iscsi ip address> needs to be either the
same as the ethX's ip address or an address on the same subnet. Make same as the ethX's ip address or an address on the same subnet. Make
sure the ip address is unique in the network. sure the ip address is unique in the network.
3. edit /etc/iscsi/iscsid.conf 3. edit /etc/iscsi/iscsid.conf
The default setting for MaxRecvDataSegmentLength (131072) is too big; The default setting for MaxRecvDataSegmentLength (131072) is too big;
replace with a value no bigger than 15360 (for example 8192): replace with a value no bigger than 15360 (for example 8192)::
node.conn[0].iscsi.MaxRecvDataSegmentLength = 8192 node.conn[0].iscsi.MaxRecvDataSegmentLength = 8192
* The login would fail for a normal session if MaxRecvDataSegmentLength is * The login would fail for a normal session if MaxRecvDataSegmentLength is
too big. A error message in the format of too big. A error message in the format of
"cxgb3i: ERR! MaxRecvSegmentLength <X> too big. Need to be <= <Y>." "cxgb3i: ERR! MaxRecvSegmentLength <X> too big. Need to be <= <Y>."
would be logged to dmesg. would be logged to dmesg.
4. To direct open-iscsi traffic to go through cxgb3i's accelerated path, 4. To direct open-iscsi traffic to go through cxgb3i's accelerated path,
"-I <iface file name>" option needs to be specified with most of the "-I <iface file name>" option needs to be specified with most of the
......
.. SPDX-License-Identifier: GPL-2.0
======================================
README file for the dc395x SCSI driver README file for the dc395x SCSI driver
========================================== ======================================
Status Status
------ ------
...@@ -18,14 +21,14 @@ http://lists.twibble.org/mailman/listinfo/dc395x/ ...@@ -18,14 +21,14 @@ http://lists.twibble.org/mailman/listinfo/dc395x/
Parameters Parameters
---------- ----------
The driver uses the settings from the EEPROM set in the SCSI BIOS The driver uses the settings from the EEPROM set in the SCSI BIOS
setup. If there is no EEPROM, the driver uses default values. setup. If there is no EEPROM, the driver uses default values.
Both can be overridden by command line parameters (module or kernel Both can be overridden by command line parameters (module or kernel
parameters). parameters).
The following parameters are available: The following parameters are available:
- safe safe
Default: 0, Acceptable values: 0 or 1 Default: 0, Acceptable values: 0 or 1
If safe is set to 1 then the adapter will use conservative If safe is set to 1 then the adapter will use conservative
...@@ -33,52 +36,63 @@ The following parameters are available: ...@@ -33,52 +36,63 @@ The following parameters are available:
shortcut for dc395x=7,4,9,15,2,10 shortcut for dc395x=7,4,9,15,2,10
- adapter_id adapter_id
Default: 7, Acceptable values: 0 to 15 Default: 7, Acceptable values: 0 to 15
Sets the host adapter SCSI ID. Sets the host adapter SCSI ID.
- max_speed max_speed
Default: 1, Acceptable value: 0 to 7 Default: 1, Acceptable value: 0 to 7
0 = 20 Mhz
1 = 12.2 Mhz == ========
2 = 10 Mhz 0 20 Mhz
3 = 8 Mhz 1 12.2 Mhz
4 = 6.7 Mhz 2 10 Mhz
5 = 5.8 Hhz 3 8 Mhz
6 = 5 Mhz 4 6.7 Mhz
7 = 4 Mhz 5 5.8 Hhz
6 5 Mhz
- dev_mode 7 4 Mhz
== ========
dev_mode
Bitmap for device configuration Bitmap for device configuration
DevMode bit definition: DevMode bit definition:
=== ======== ======== =========================================
Bit Val(hex) Val(dec) Meaning Bit Val(hex) Val(dec) Meaning
*0 0x01 1 Parity check === ======== ======== =========================================
*1 0x02 2 Synchronous Negotiation 0 0x01 1 Parity check
*2 0x04 4 Disconnection 1 0x02 2 Synchronous Negotiation
*3 0x08 8 Send Start command on startup. (Not used) 2 0x04 4 Disconnection
*4 0x10 16 Tagged Command Queueing 3 0x08 8 Send Start command on startup. (Not used)
*5 0x20 32 Wide Negotiation 4 0x10 16 Tagged Command Queueing
5 0x20 32 Wide Negotiation
- adapter_mode === ======== ======== =========================================
adapter_mode
Bitmap for adapter configuration Bitmap for adapter configuration
AdaptMode bit definition AdaptMode bit definition
===== ======== ======== ====================================================
Bit Val(hex) Val(dec) Meaning Bit Val(hex) Val(dec) Meaning
*0 0x01 1 Support more than two drives. (Not used) ===== ======== ======== ====================================================
*1 0x02 2 Use DOS compatible mapping for HDs greater than 1GB. 0 0x01 1 Support more than two drives. (Not used)
*2 0x04 4 Reset SCSI Bus on startup. 1 0x02 2 Use DOS compatible mapping for HDs greater than 1GB.
*3 0x08 8 Active Negation: Improves SCSI Bus noise immunity. 2 0x04 4 Reset SCSI Bus on startup.
3 0x08 8 Active Negation: Improves SCSI Bus noise immunity.
4 0x10 16 Immediate return on BIOS seek command. (Not used) 4 0x10 16 Immediate return on BIOS seek command. (Not used)
(*)5 0x20 32 Check for LUNs >= 1. (*)5 0x20 32 Check for LUNs >= 1.
===== ======== ======== ====================================================
- tags tags
Default: 3, Acceptable values: 0-5 Default: 3, Acceptable values: 0-5
The number of tags is 1<<x, if x has been specified The number of tags is 1<<x, if x has been specified
- reset_delay reset_delay
Default: 1, Acceptable values: 0-180 Default: 1, Acceptable values: 0-180
The seconds to not accept commands after a SCSI Reset The seconds to not accept commands after a SCSI Reset
...@@ -95,8 +109,9 @@ License (GPL). Please read it, before using this driver. It should be ...@@ -95,8 +109,9 @@ License (GPL). Please read it, before using this driver. It should be
included in your kernel sources and with your distribution. It carries the included in your kernel sources and with your distribution. It carries the
filename COPYING. If you don't have it, please ask me to send you one by filename COPYING. If you don't have it, please ask me to send you one by
email. email.
Note: The GNU GPL says also something about warranty and liability.
Note: The GNU GPL says also something about warranty and liability.
Please be aware the following: While we do my best to provide a working and Please be aware the following: While we do my best to provide a working and
reliable driver, there is a chance, that it will kill your valuable data. reliable driver, there is a chance, that it will kill your valuable data.
We refuse to take any responsibility for that. The driver is provided as-is We refuse to take any responsibility for that. The driver is provided as-is
and YOU USE IT AT YOUR OWN RESPONSIBILITY. and YOU USE IT AT YOUR OWN RESPONSIBILITY.
.. SPDX-License-Identifier: GPL-2.0
===================
Adaptec dpti driver
===================
Redistribution and use in source form, with or without modification, are
permitted provided that redistributions of source code must retain the
above copyright notice, this list of conditions and the following disclaimer.
This software is provided ``as is`` by Adaptec and
any express or implied warranties, including, but not limited to, the
implied warranties of merchantability and fitness for a particular purpose,
are disclaimed. In no event shall Adaptec be
liable for any direct, indirect, incidental, special, exemplary or
consequential damages (including, but not limited to, procurement of
substitute goods or services; loss of use, data, or profits; or business
interruptions) however caused and on any theory of liability, whether in
contract, strict liability, or tort (including negligence or otherwise)
arising in any way out of the use of this driver software, even if advised
of the possibility of such damage.
This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
Credits
=======
The original linux driver was ported to Linux by Karen White while at
Dell Computer. It was ported from Bob Pasteur's (of DPT) original
non-Linux driver. Mark Salyzyn and Bob Pasteur consulted on the original
driver.
2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
History
=======
The driver was originally ported to linux version 2.0.34
==== ==========================================================================
V2.0 Rewrite of driver. Re-architectured based on i2o subsystem.
This was the first full GPL version since the last version used
i2osig headers which were not GPL. Developer Testing version.
V2.1 Internal testing
V2.2 First released version
V2.3 Changes:
- Added Raptor Support
- Fixed bug causing system to hang under extreme load with
- management utilities running (removed GFP_DMA from kmalloc flags)
V2.4 First version ready to be submitted to be embedded in the kernel
Changes:
- Implemented suggestions from Alan Cox
- Added calculation of resid for sg layer
- Better error handling
- Added checking underflow conditions
- Added DATAPROTECT checking
- Changed error return codes
- Fixed pointer bug in bus reset routine
- Enabled hba reset from ioctls (allows a FW flash to reboot and use
the new FW without having to reboot)
- Changed proc output
==== ==========================================================================
TODO
====
- Add 64 bit Scatter Gather when compiled on 64 bit architectures
- Add sparse lun scanning
- Add code that checks if a device that had been taken offline is
now online (at the FW level) when test unit ready or inquiry
command from scsi-core
- Add proc read interface
- busrescan command
- rescan command
- Add code to rescan routine that notifies scsi-core about new devices
- Add support for C-PCI (hotplug stuff)
- Add ioctl passthru error recovery
Notes
=====
The DPT card optimizes the order of processing commands. Consequently,
a command may take up to 6 minutes to complete after it has been sent
to the board.
The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
interface files for Adaptec's management routines. These define the structures used
in the ioctls. They are written to be portable. They are hard to read, but I need
to use them 'as is' or I can miss changes in the interface.
/* TERMS AND CONDITIONS OF USE
*
* Redistribution and use in source form, with or without modification, are
* permitted provided that redistributions of source code must retain the
* above copyright notice, this list of conditions and the following disclaimer.
*
* This software is provided `as is' by Adaptec and
* any express or implied warranties, including, but not limited to, the
* implied warranties of merchantability and fitness for a particular purpose,
* are disclaimed. In no event shall Adaptec be
* liable for any direct, indirect, incidental, special, exemplary or
* consequential damages (including, but not limited to, procurement of
* substitute goods or services; loss of use, data, or profits; or business
* interruptions) however caused and on any theory of liability, whether in
* contract, strict liability, or tort (including negligence or otherwise)
* arising in any way out of the use of this driver software, even if advised
* of the possibility of such damage.
*
****************************************************************
* This driver supports the Adaptec I2O RAID and DPT SmartRAID V I2O boards.
*
* CREDITS:
* The original linux driver was ported to Linux by Karen White while at
* Dell Computer. It was ported from Bob Pasteur's (of DPT) original
* non-Linux driver. Mark Salyzyn and Bob Pasteur consulted on the original
* driver.
*
* 2.0 version of the driver by Deanna Bonds and Mark Salyzyn.
*
* HISTORY:
* The driver was originally ported to linux version 2.0.34
*
* V2.0 Rewrite of driver. Re-architectured based on i2o subsystem.
* This was the first full GPL version since the last version used
* i2osig headers which were not GPL. Developer Testing version.
* V2.1 Internal testing
* V2.2 First released version
*
* V2.3
* Changes:
* Added Raptor Support
* Fixed bug causing system to hang under extreme load with
* management utilities running (removed GFP_DMA from kmalloc flags)
*
*
* V2.4 First version ready to be submitted to be embedded in the kernel
* Changes:
* Implemented suggestions from Alan Cox
* Added calculation of resid for sg layer
* Better error handling
* Added checking underflow conditions
* Added DATAPROTECT checking
* Changed error return codes
* Fixed pointer bug in bus reset routine
* Enabled hba reset from ioctls (allows a FW flash to reboot and use the new
* FW without having to reboot)
* Changed proc output
*
* TODO:
* Add 64 bit Scatter Gather when compiled on 64 bit architectures
* Add sparse lun scanning
* Add code that checks if a device that had been taken offline is
* now online (at the FW level) when test unit ready or inquiry
* command from scsi-core
* Add proc read interface
* busrescan command
* rescan command
* Add code to rescan routine that notifies scsi-core about new devices
* Add support for C-PCI (hotplug stuff)
* Add ioctl passthru error recovery
*
* NOTES:
* The DPT card optimizes the order of processing commands. Consequently,
* a command may take up to 6 minutes to complete after it has been sent
* to the board.
*
* The files dpti_ioctl.h dptsig.h osd_defs.h osd_util.h sys_info.h are part of the
* interface files for Adaptec's management routines. These define the structures used
* in the ioctls. They are written to be portable. They are hard to read, but I need
* to use them 'as is' or I can miss changes in the interface.
*
*/
README file for the Linux g_NCR5380 driver. .. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
(c) 1993 Drew Eckhard ==========================================
NCR53c400 extensions (c) 1994,1995,1996 Kevin Lentin README file for the Linux g_NCR5380 driver
==========================================
Copyright |copy| 1993 Drew Eckhard
NCR53c400 extensions Copyright |copy| 1994,1995,1996 Kevin Lentin
This file documents the NCR53c400 extensions by Kevin Lentin and some This file documents the NCR53c400 extensions by Kevin Lentin and some
enhancements to the NCR5380 core. enhancements to the NCR5380 core.
...@@ -26,43 +32,62 @@ time. More info to come in the future. ...@@ -26,43 +32,62 @@ time. More info to come in the future.
This driver works as a module. This driver works as a module.
When included as a module, parameters can be passed on the insmod/modprobe When included as a module, parameters can be passed on the insmod/modprobe
command line: command line:
============= ===============================================================
irq=xx[,...] the interrupt(s) irq=xx[,...] the interrupt(s)
base=xx[,...] the port or base address(es) (for port or memory mapped, resp.) base=xx[,...] the port or base address(es) (for port or memory mapped, resp.)
card=xx[,...] card type(s): card=xx[,...] card type(s):
0 = NCR5380,
1 = NCR53C400, == ======================================
2 = NCR53C400A, 0 NCR5380,
3 = Domex Technology Corp 3181E (DTC3181E) 1 NCR53C400,
4 = Hewlett Packard C2502 2 NCR53C400A,
3 Domex Technology Corp 3181E (DTC3181E)
4 Hewlett Packard C2502
== ======================================
============= ===============================================================
These old-style parameters can support only one card: These old-style parameters can support only one card:
ncr_irq=xx the interrupt
ncr_addr=xx the port or base address (for port or memory ============= =================================================
mapped, resp.) ncr_irq=xx the interrupt
ncr_5380=1 to set up for a NCR5380 board ncr_addr=xx the port or base address (for port or memory
ncr_53c400=1 to set up for a NCR53C400 board mapped, resp.)
ncr_5380=1 to set up for a NCR5380 board
ncr_53c400=1 to set up for a NCR53C400 board
ncr_53c400a=1 to set up for a NCR53C400A board ncr_53c400a=1 to set up for a NCR53C400A board
dtc_3181e=1 to set up for a Domex Technology Corp 3181E board dtc_3181e=1 to set up for a Domex Technology Corp 3181E board
hp_c2502=1 to set up for a Hewlett Packard C2502 board hp_c2502=1 to set up for a Hewlett Packard C2502 board
============= =================================================
E.g. Trantor T130B in its default configuration::
modprobe g_NCR5380 irq=5 base=0x350 card=1
or alternatively, using the old syntax::
E.g. Trantor T130B in its default configuration: modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_53c400=1
modprobe g_NCR5380 irq=5 base=0x350 card=1
or alternatively, using the old syntax,
modprobe g_NCR5380 ncr_irq=5 ncr_addr=0x350 ncr_53c400=1
E.g. a port mapped NCR5380 board, driver to probe for IRQ: E.g. a port mapped NCR5380 board, driver to probe for IRQ::
modprobe g_NCR5380 base=0x350 card=0
or alternatively,
modprobe g_NCR5380 ncr_addr=0x350 ncr_5380=1
E.g. a memory mapped NCR53C400 board with no IRQ: modprobe g_NCR5380 base=0x350 card=0
modprobe g_NCR5380 irq=255 base=0xc8000 card=1
or alternatively, or alternatively::
modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
modprobe g_NCR5380 ncr_addr=0x350 ncr_5380=1
E.g. a memory mapped NCR53C400 board with no IRQ::
modprobe g_NCR5380 irq=255 base=0xc8000 card=1
or alternatively::
modprobe g_NCR5380 ncr_irq=255 ncr_addr=0xc8000 ncr_53c400=1
E.g. two cards, DTC3181 (in non-PnP mode) at 0x240 with no IRQ E.g. two cards, DTC3181 (in non-PnP mode) at 0x240 with no IRQ
and HP C2502 at 0x300 with IRQ 7: and HP C2502 at 0x300 with IRQ 7::
modprobe g_NCR5380 irq=0,7 base=0x240,0x300 card=3,4
modprobe g_NCR5380 irq=0,7 base=0x240,0x300 card=3,4
Kevin Lentin Kevin Lentin
K.Lentin@cs.monash.edu.au K.Lentin@cs.monash.edu.au
HIGHPOINT ROCKETRAID 3xxx/4xxx ADAPTER DRIVER (hptiop) .. SPDX-License-Identifier: GPL-2.0
.. include:: <isonum.txt>
======================================================
Highpoint RocketRAID 3xxx/4xxx Adapter Driver (hptiop)
======================================================
Controller Register Map Controller Register Map
------------------------- -----------------------
For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0 and BAR2: For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0 and BAR2
============== ==================================
BAR0 offset Register BAR0 offset Register
============== ==================================
0x11C5C Link Interface IRQ Set 0x11C5C Link Interface IRQ Set
0x11C60 Link Interface IRQ Clear 0x11C60 Link Interface IRQ Clear
============== ==================================
============== ==================================
BAR2 offset Register BAR2 offset Register
============== ==================================
0x10 Inbound Message Register 0 0x10 Inbound Message Register 0
0x14 Inbound Message Register 1 0x14 Inbound Message Register 1
0x18 Outbound Message Register 0 0x18 Outbound Message Register 0
...@@ -21,10 +31,13 @@ For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0 ...@@ -21,10 +31,13 @@ For RR44xx Intel IOP based adapters, the controller IOP is accessed via PCI BAR0
0x34 Outbound Interrupt Mask Register 0x34 Outbound Interrupt Mask Register
0x40 Inbound Queue Port 0x40 Inbound Queue Port
0x44 Outbound Queue Port 0x44 Outbound Queue Port
============== ==================================
For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0: For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0:
============== ==================================
BAR0 offset Register BAR0 offset Register
============== ==================================
0x10 Inbound Message Register 0 0x10 Inbound Message Register 0
0x14 Inbound Message Register 1 0x14 Inbound Message Register 1
0x18 Outbound Message Register 0 0x18 Outbound Message Register 0
...@@ -36,16 +49,22 @@ For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0: ...@@ -36,16 +49,22 @@ For Intel IOP based adapters, the controller IOP is accessed via PCI BAR0:
0x34 Outbound Interrupt Mask Register 0x34 Outbound Interrupt Mask Register
0x40 Inbound Queue Port 0x40 Inbound Queue Port
0x44 Outbound Queue Port 0x44 Outbound Queue Port
============== ==================================
For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1:
============== ==================================
BAR0 offset Register BAR0 offset Register
============== ==================================
0x20400 Inbound Doorbell Register 0x20400 Inbound Doorbell Register
0x20404 Inbound Interrupt Mask Register 0x20404 Inbound Interrupt Mask Register
0x20408 Outbound Doorbell Register 0x20408 Outbound Doorbell Register
0x2040C Outbound Interrupt Mask Register 0x2040C Outbound Interrupt Mask Register
============== ==================================
============== ==================================
BAR1 offset Register BAR1 offset Register
============== ==================================
0x0 Inbound Queue Head Pointer 0x0 Inbound Queue Head Pointer
0x4 Inbound Queue Tail Pointer 0x4 Inbound Queue Tail Pointer
0x8 Outbound Queue Head Pointer 0x8 Outbound Queue Head Pointer
...@@ -53,14 +72,20 @@ For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BA ...@@ -53,14 +72,20 @@ For Marvell not Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BA
0x10 Inbound Message Register 0x10 Inbound Message Register
0x14 Outbound Message Register 0x14 Outbound Message Register
0x40-0x1040 Inbound Queue 0x40-0x1040 Inbound Queue
0x1040-0x2040 Outbound Queue 0x1040-0x2040 Outbound Queue
============== ==================================
For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1:
============== ==================================
BAR0 offset Register BAR0 offset Register
============== ==================================
0x0 IOP configuration information. 0x0 IOP configuration information.
============== ==================================
============== ===================================================
BAR1 offset Register BAR1 offset Register
============== ===================================================
0x4000 Inbound List Base Address Low 0x4000 Inbound List Base Address Low
0x4004 Inbound List Base Address High 0x4004 Inbound List Base Address High
0x4018 Inbound List Write Pointer 0x4018 Inbound List Write Pointer
...@@ -76,10 +101,11 @@ For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1: ...@@ -76,10 +101,11 @@ For Marvell Frey IOP based adapters, the IOP is accessed via PCI BAR0 and BAR1:
0x10420 CPU to PCIe Function 0 Message A 0x10420 CPU to PCIe Function 0 Message A
0x10480 CPU to PCIe Function 0 Doorbell 0x10480 CPU to PCIe Function 0 Doorbell
0x10484 CPU to PCIe Function 0 Doorbell Enable 0x10484 CPU to PCIe Function 0 Doorbell Enable
============== ===================================================
I/O Request Workflow of Not Marvell Frey I/O Request Workflow of Not Marvell Frey
------------------------------------------ ----------------------------------------
All queued requests are handled via inbound/outbound queue port. All queued requests are handled via inbound/outbound queue port.
A request packet can be allocated in either IOP or host memory. A request packet can be allocated in either IOP or host memory.
...@@ -124,7 +150,7 @@ of an inbound message. ...@@ -124,7 +150,7 @@ of an inbound message.
I/O Request Workflow of Marvell Frey I/O Request Workflow of Marvell Frey
-------------------------------------- ------------------------------------
All queued requests are handled via inbound/outbound list. All queued requests are handled via inbound/outbound list.
...@@ -167,13 +193,17 @@ User-level Interface ...@@ -167,13 +193,17 @@ User-level Interface
The driver exposes following sysfs attributes: The driver exposes following sysfs attributes:
================== === ========================
NAME R/W Description NAME R/W Description
================== === ========================
driver-version R driver version string driver-version R driver version string
firmware-version R firmware version string firmware-version R firmware version string
================== === ========================
----------------------------------------------------------------------------- -----------------------------------------------------------------------------
Copyright (C) 2006-2012 HighPoint Technologies, Inc. All Rights Reserved.
Copyright |copy| 2006-2012 HighPoint Technologies, Inc. All Rights Reserved.
This file is distributed in the hope that it will be useful, This file is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of but WITHOUT ANY WARRANTY; without even the implied warranty of
...@@ -181,4 +211,5 @@ Copyright (C) 2006-2012 HighPoint Technologies, Inc. All Rights Reserved. ...@@ -181,4 +211,5 @@ Copyright (C) 2006-2012 HighPoint Technologies, Inc. All Rights Reserved.
GNU General Public License for more details. GNU General Public License for more details.
linux@highpoint-tech.com linux@highpoint-tech.com
http://www.highpoint-tech.com http://www.highpoint-tech.com
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment