aacraid driver update for additional ROMB and SATA RAID cards .

[email protected] Thu, 15 May 2003 17:31:38 -0500
Newsgroups gmane.linux.drivers.aacraid.devel,gmane.spam.detected
Message-ID <[email protected]>
Mark Salyzyn has released an update to the aacraid driver for 2.4.x
kernels, including a patch against 2.4.21-rc2-ac2.


I've posted the whole driver and the patch to domsch.com/linux/aacraid.

http://domsch.com/linux/aacraid/aacraid-1.1.2.tgz
http://domsch.com/linux/aacraid/linux-2.4.21-rc2-ac2-aacraid-1.1.2.patch.bz2

Changelog appended.  Feedback to the list please.

Thanks,
Matt

-- 
Matt Domsch
Sr. Software Engineer, Lead Engineer, Architect
Dell Linux Solutions www.dell.com/linux
Linux on Dell mailing lists @ http://lists.us.dell.com

Differences between 2.4.21-rc2-ac2 kernel and our 1.1.2 versioned driver.

aachba.c:
	- If the state of a logical unit is hidden, then do not report. This
	  state is typically entered when a device is being cleared.
	- Added support for the Tallahassee project, where one channel is
	  dedicated to SCSI, and the other channel is dedicated to RAID.
	- Resolved some issues surrounding PAE support and IA64.
	- If the driver is a not a boot disk driver, then set the Removeable
	  bit on the inquiry strings returned by the logical units to ensure
	  that any changes in the arrays will be acquired when the device is
	  re-attached.
	- mask the SRB status with 0x3F to deal with misbehaving devices.
	- Do not report DISKs to inquiry requests on the SCSI bus except if
	  the channel is designated as a SCSI only bus.
	- Propogate check conditions to the scsi command result.
	- Add support for programmable timeouts to propogate down toe the
	  requests.
	- If we have pae mode enabled, right after we get the adapter
	  information and determine the pae mode capability, we enable the
	  system to issue 64 bit requests.
aacraid.h:
	- Had to drop from 512 commands to 100 commands because some
versions
	  of the firmware would starve commands causing a timeout reaction
	  which lead to lost commands.
	- Added a global control variable for nondasd and paemode support.
	- Dealt with some 64 bit / 32 bit issues in list_head structures and
	  helper Macros, replacing them with our own more sensitive
variants.
	- Differentiated virtual and physical references to the shared fib
	  allocations.
	- information structure not sycnhronized to firmware, needed to add
	  a clusterchannelmask.
	- Added definitions in support of the new configuration information
	  page bits in support of Tallahassee.
	- Changed to an allocated fib pool, rather than an array in the hba
	  structure as this affected the scsi memory pool.
	- Added some AIF definitions to permit us to sniff for container
	  changes to permit a rescan to pick up new information or targets.
commctrl.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- The list_head structure handlers have been replaced with our own,
	  absorb the name changes.
	- The fib address reported in an AIF is a physical (32 bit)
reference,
	  and not a virtual (possibly 64 bit) reference.
	- added the ioctl handling for sending a raw srb
(FSACTL_SEND_RAW_SRB).
comminit.c:
	- Deal with IA64 issues.
	- Change to using the physical address (32 bit) for the AIF
references.
	- The list_head structure handlers have been replaced with our own,
	  absorb the name changes.
	- Observed a memory leak, free up the queue resources should we fail
	  to initialize the adapter.
commsup.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- Instead of panicing the kernel when a fib allocation was
available,
	  sleep until it is available.
	- Submitted fib pointers are physical (32 bit) rather than virtual
	  (possibly 64 bit) values.
	- producer and consumer indexes should be converted over to local
	  cpu endian before comparison.
	- aac_handle_aif now sniffs AIF events and takes plug and play
action
	  for container changes.
	- The aif thread is set up to be a kernel thread, and not a user
	  thread. This permits us the ability to make plug and play calls
	  without prejudice.
	- Added instrumentation to the aif thread to confirm the plug and
	  play activity and as an aid to several other debug sessions.
	- Do not age an aif context based on the last received aif, but
rather
	  the last poll.
dpcsup.c:
	- The fib reference was changed to a physical and a virtual address,
	  absorb the name changes.
	- Submitted fib pointers are physical (32 bit) rather than virtual
	  (possibly 64 bit) values.
linit.c:
	- Added paemode control.
	- Added various upcoming board products, and documented better the
	  existing board product ids. This includes SATA RAID products.
	- needed to take the io_request_lock during portions of
intialization.
	- allocate the fib resource separately, rather than part of adapter
	  structure to aid in the precious scsi resources.
	- cleanup of none dasd support options.
	- Added more details about the build date of the driver to the proc
	  information.
	- dropped a change that permitted 64 bit DMA resources to be
generated
	  instead of through a 32 bit bounce buffer. (it was moved to
aachba.c
	  where it can be turned on after we determine the adapter's
	  capabilities).
	- max_id, max_lun and max_channel parameters are set after the
	  adapter information has been picked up (the number of channels is
	  based on the product id table now).
sa.c:
	- Context of timeout handling was incorrect, only noticed in IA64
	  bit machines (due to lack of BIOS initialization).

Differences that need further investigation and could be viewed as
regressions
rx.c:
	- Dropped detection of failure to generate kernel command thread.
sa.c:
	- Dropped detection of failure to generate kernel command thread.



_______________________________________________
Linux-aacraid-devel mailing list
[email protected]
http://lists.us.dell.com/mailman/listinfo/linux-aacraid-devel
Please read the FAQ at http://lists.us.dell.com/faq or search the list archives at http://lists.us.dell.com/htdig/