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/