X-Git-Url: http://git.onelab.eu/?a=blobdiff_plain;f=Documentation%2Fscsi%2FChangeLog.megaraid;h=431e3983e447db2727c491beebba605eb86a1dcd;hb=c7b5ebbddf7bcd3651947760f423e3783bbe6573;hp=03af4a4cd6839ed196d1a1925dad8e4643d5d791;hpb=a2c21200f1c81b08cb55e417b68150bba439b646;p=linux-2.6.git diff --git a/Documentation/scsi/ChangeLog.megaraid b/Documentation/scsi/ChangeLog.megaraid index 03af4a4cd..431e3983e 100644 --- a/Documentation/scsi/ChangeLog.megaraid +++ b/Documentation/scsi/ChangeLog.megaraid @@ -1,42 +1,223 @@ -### Version 2.00.3 -Wed Jan 29 09:13:44 EST 200 - Atul Mukker -i. Change the handshake in ISR while acknowledging interrupts. Write the - valid interrupt pattern 0x10001234 as soon as it is read from the - outdoor register. In existing driver and on certain platform, invalid - command ids were being returned. +Release Date : Mon Sep 27 22:15:07 EDT 2004 - Atul Mukker +Current Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module) +Older Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) - Also, do not wait on status be become 0xFF, since FW can return this - status in certain circumstances. +i. Fix data corruption. Because of a typo in the driver, the IO packets + were wrongly shared by the ioctl path. This causes a whole IO command + to be replaced by an incoming ioctl command. - Initialize the numstatus field of mailbox to 0xFF so that we can wait - on this wait in next interrupt. Firmware does not change its value - unless there are some status to be posted +Release Date : Tue Aug 24 09:43:35 EDT 2004 - Atul Mukker +Current Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) +Older Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) -ii. Specify the logical drive number while issuing the RESERVATION_STATUS +i. Function reordering so that inline functions are defined before they + are actually used. It is now mandatory for GCC 3.4.1 (current stable) -iii. Reduce the default mailbox busy wait time from 300us to 10us. This is - done to avaoid a possible deadlock in FW because of longer bust waits. + Declare some heavy-weight functions to be non-inlined, + megaraid_mbox_build_cmd, megaraid_mbox_runpendq, + megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru, + megaraid_busywait_mbox -iv. The max outstanding commands are reduced to 126 because that't the - safest value on all FW. + - Andrew Morton , 08.19.2004 + linux-scsi mailing list -v. Number of sectors per IO are reduced to 128 (64kb), becuase FW needs - resources in special circumstances like check consistency, rebuilds - etc. + "Something else to clean up after inclusion: every instance of an + inline function is actually rendered as a full function call, because + the function is always used before it is defined. Atul, please + re-arrange the code to eliminate the need for most (all) of the + function prototypes at the top of each file, and define (not just + declare with a prototype) each inline function before its first use" -vi. max_commands is no longer a module parameter because of iv. + - Matt Domsch , 07.27.2004 + linux-scsi mailing list -### Version: 2.00.2 -i. Intermediate release with kernel specific code +ii. Display elapsed time (countdown) while waiting for FW to boot. -### Version: 2.00.1i -Wed Dec 4 14:34:51 EST 2002 - Atul Mukker -i. Making the older IO based controllers to work with this driver +iii. Module compilation reorder in Makefile so that unresolved symbols do + not occur when driver is compiled non-modular. + Patrick J. LoPresti , 8.22.2004 + linux-scsi mailing list -### Version 2.00.1 -Fri Nov 15 10:59:44 EST 2002 - Atul Mukker -i. Release host lock before issuing internal command to reset - reservations in megaraid_reset() and reacquire after internal command - is completed. + +Release Date : Thu Aug 19 09:58:33 EDT 2004 - Atul Mukker +Current Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) +Older Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) + +i. When copying the mailbox packets, copy only first 14 bytes (for 32-bit + mailboxes) and only first 22 bytes (for 64-bit mailboxes). This is to + avoid getting the stale values for busy bit. We want to set the busy + bit just before issuing command to the FW. + +ii. In the reset handling, if the reseted command is not owned by the + driver, do not (wrongly) print information for the "attached" driver + packet. + +iii. Have extended wait when issuing command in synchronous mode. This is + required for the cases where the option ROM is disabled and there is + no BIOS to start the controller. The FW starts to boot after receiving + the first command from the driver. The current driver has 1 second + timeout for the synchronous commands, which is far less than what is + actually required. We now wait up to MBOX_RESET_TIME (180 seconds) for + FW boot process. + +iv. In megaraid_mbox_product_info, clear the mailbox contents completely + before preparing the command for inquiry3. This is to ensure that the + FW does not get junk values in the command. + +v. Do away with the redundant LSI_CONFIG_COMPAT redefinition for + CONFIG_COMPAT. Replace with + + - James Bottomley , 08.17.2004 + linux-scsi mailing list + +vi. Add support for 64-bit applications. Current drivers assume only + 32-bit applications, even on 64-bit platforms. Use the "data" and + "buffer" fields of the mimd_t structure, instead of embedded 32-bit + addresses in application mailbox and passthru structures. + +vii. Move the function declarations for the management module from + megaraid_mm.h to megaraid_mm.c + + - Andrew Morton , 08.19.2004 + linux-scsi mailing list + +viii. Change default values for MEGARAID_NEWGEN, MEGARAID_MM, and + MEGARAID_MAILBOX to 'n' in Kconfig.megaraid + + - Andrew Morton , 08.19.2004 + linux-scsi mailing list + +ix. replace udelay with msleep + +x. Typos corrected in comments and whitespace adjustments, explicit + grouping of expressions. + + +Release Date : Fri Jul 23 15:22:07 EDT 2004 - Atul Mukker +Current Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) +Older Version : 2.20.1.0 (scsi module), 2.20.0.0 (cmm module) + +i. Add PCI ids for Acer ROMB 2E solution + +ii. Add PCI ids for I4 + +iii. Typo corrected for subsys id for megaraid sata 300-4x + +iv. Remove yield() while mailbox handshake in synchronous commands + + + "My other main gripe is things like this: + + + // wait for maximum 1 second for status to post + + for (i = 0; i < 40000; i++) { + + if (mbox->numstatus != 0xFF) break; + + udelay(25); yield(); + + } + + which litter the driver. Use of yield() in drivers is deprecated." + + - James Bottomley , 07.14.2004 + linux-scsi mailing list + +v. Remove redundant __megaraid_busywait_mbox routine + +vi. Fix bug in the managment module, which causes a system lockup when the + IO module is loaded and then unloaded, followed by executing any + management utility. The current version of management module does not + handle the adapter unregister properly. + + Specifically, it still keeps a reference to the unregistered + controllers. To avoid this, the static array adapters has been + replaced by a dynamic list, which gets updated every time an adapter + is added or removed. + + Also, during unregistration of the IO module, the resources are + now released in the exact reverse order of the allocation time + sequence. + + +Release Date : Fri Jun 25 18:58:43 EDT 2004 - Atul Mukker +Current Version : 2.20.1.0 +Older Version : megaraid 2.20.0.1 + +i. Stale list pointer in adapter causes kernel panic when module + megaraid_mbox is unloaded + + +Release Date : Thu Jun 24 20:37:11 EDT 2004 - Atul Mukker +Current Version : 2.20.0.1 +Older Version : megaraid 2.20.0.00 + +i. Modules are not 'y' by default, but depend on current definition of + SCSI & PCI. + +ii. Redundant structure mraid_driver_t removed. + +iii. Miscellaneous indentation and goto/label fixes. + - Christoph Hellwig , 06.24.2004 linux-scsi + +iv. scsi_host_put(), do just before completing HBA shutdown. + + + +Release Date : Mon Jun 21 19:53:54 EDT 2004 - Atul Mukker +Current Version : 2.20.0.0 +Older Version : megaraid 2.20.0.rc2 and 2.00.3 + +i. Independent module to interact with userland applications and + multiplex command to low level RAID module(s). + + "Shared code in a third module, a "library module", is an acceptable + solution. modprobe automatically loads dependent modules, so users + running "modprobe driver1" or "modprobe driver2" would automatically + load the shared library module." + + - Jeff Garzik 02.25.2004 LKML + + "As Jeff hinted, if your userspace<->driver API is consistent between + your new MPT-based RAID controllers and your existing megaraid driver, + then perhaps you need a single small helper module (lsiioctl or some + better name), loaded by both mptraid and megaraid automatically, which + handles registering the /dev/megaraid node dynamically. In this case, + both mptraid and megaraid would register with lsiioctl for each + adapter discovered, and lsiioctl would essentially be a switch, + redirecting userspace tool ioctls to the appropriate driver." + + - Matt Domsch 02.25.2004 LKML + +ii. Remove C99 initializations from pci_device id. + + "pci_id_table_g would be much more readable when not using C99 + initializers. + PCI table doesn't change, there's lots of users that prefer the more + readable variant. And it's really far less and much easier to grok + lines without C99 initializers." + + - Christoph Hellwig , 05.28.2004 linux-scsi + +iii. Many fixes as suggested by Christoph Hellwig on + linux-scsi, 05.28.2004 + +iv. We now support up to 32 parallel ioctl commands instead of current 1. + There is a conscious effort to let memory allocation not fail for ioctl + commands. + +v. Do away with internal memory management. Use pci_pool_(create|alloc) + instead. + +vi. Kill tasklet when unloading the driver. + +vii. Do not use "host_lock', driver has fine-grain locks now to protect all + data structures. + +viii. Optimize the build scatter-gather list routine. The callers already + know the data transfer address and length. + +ix. Better implementation of error handling and recovery. Driver now + performs extended errors recovery for instances like scsi cable pull. + +x. Disassociate the management commands with an overlaid scsi command. + Driver now treats the management packets as special packets and has a + dedicated callback routine.