update atp870u driver to 0.78 from D-Link source
[linux-2.4.git] / drivers / scsi / changelog.megaraid2
1 ### Version 2.10.1
2 Wed Dec  3 15:34:42 EST 2003 - Atul Mukker <atulm@lsil.com>
3 1.      pci_dma_sync_sg(), 2nd argument is pointer to scatter-gather list. All
4         previous drivers have a pointer which is incremented beyond the end of
5         the scatter-gather list
6 2.      Remove 'ipdev', pci device pointer, to allocate memory for internal
7         commands. pci_alloc_consistent() guaranteed to allocate memory below
8         4GB, which is a requirement for these commands -
9                 Tom Coughlan <coughlan@redhat.com>
10 3.      Added support for LSI SATA PCI-X controllers
11 4.      Advanced Server 3.0 version of the driver is the reference driver now.
12         For all other kernels, we create patches.
13 5.      Removed superfluous white spaces.
14 6.      Corrected some comments
15
16 ### Version 2.10.0
17 Tue Nov  4 14:33:43 EST 2003 - Atul Mukker <atulm@lsil.com>
18 1.      Added vendor ids and device ids for PCI-Express controllers,
19         PERC4E/Si, PERC4E/Di, PERC4E/DC, PERC4E/SC
20 2.      Backport some minor changes from 2.6 kernel version of the driver.
21
22 ### Version 2.00.9a
23 Fri Oct  3 18:04:29 EDT 2003 - Atul Mukker <atulm@lsil.com>
24 1.      Minor changes which are brough in when sync'ing with kernel 2.9-test6.
25 2.      Use sizeof(mbox_t) in synchronous routines instead of hard-coded value
26         of 16 bytes.
27 3.      De-couple adapter->host->pci_dev. Replace with adapter->pdev
28
29 ### Version 2.00.9
30 Thu Sep  4 17:49:42 EDT 2003 - Atul Mukker <atulm@lsil.com>
31 i.      For extended passthru commands, 64-bit scatter-gather list and 64-bit
32         mailbox address must only be used if the controller supports extended
33         CDBs and 64-bit addressing and the kernel is configured to support
34         memory beyond 4GB.
35         With 2.00.8 and previous drivers, if the controllers supports extended
36         CDBs but the kernel does not support high memory - the driver prepares
37         a 32-bit sg list but the mailbox address is chosen to be 64-bit. This
38         causes FW to incorrectly read 32-bit (8 bytes) sg list as 64-bit
39         (12 bytes) sglist. This would cause IO from non-disk devices to fail
40
41 ### Version 2.00.8
42 Wed Aug 27 16:40:05 EDT 2003 - Atul Mukker <atulm@lsil.com>
43 i.      Make sure the value of number of statuses, completed command id array,
44         and the mailbox status fields are updated in host memory before we
45         read and interpret them. For this to happen - mailbox numstatus and
46         command id array's first element are invalidated. The ISR busy waits
47         till valid values are obtained in these two fields. Now since the
48         status field is between these two fields it is assumed that status
49         values is sane when write to numstatus and completed id array is
50         complete
51 ii.     while returning from the ioctl handler for the SCSI passthru commands
52         a direct access was made to the user address. Now the user structure
53         is copied in before the required field is accessed.
54 iii.    Remove redundant volatile casts from pending command counter pend_cmds.
55
56 ### Version 2.00.7
57 Fri Aug  1 11:01:11 EDT 2003 - Atul Mukker <atulm@lsil.com>
58 i.      Adapter lock re-definition so that patch for kernels w/o per host lock
59         is less intrusive - Jens Axboe <axboe@suse.de>
60
61 ii.     While in abort and reset handling, check for non-empty pending list is
62         invalid. The intent is to wait for pending commands in FW to complete,
63         not the pending commands with the driver - Atul Mukker <atulm@lsil.com>
64
65 ### Version 2.00.6
66 Wed Jul 30 11:35:31 EDT 2003 - Sreenivas Bagalkote <sreenib@lsil.com>
67 i.      Declare the function prototypes used for "/proc" within the compiler
68         directives #ifdef CONFIG_PROC_FS. Similary, move global/local variable
69         declarations and code fragments related to /proc within the directives.
70         - Mark Haverkamp <markh@osdl.org>
71
72 ii.     Initialize host->lock with adapter->lock.
73
74 iii.    Wait for mailbox status to become valid
75         - Haruo Tomita <haruo.tomita@toshiba.co.jp>
76
77 iv.     Right structure is passed to FW for 4-span read configuration command.
78         - Sreenivas Bagalkote <sreenivas.bagalkote@lsil.com>
79
80 ### Version 2.00.5
81 Thu Apr 24 14:06:55 EDT 2003 - Atul Mukker <atulm@lsil.com>
82 i.      Do not use repeated allocations for "pci_dev" for internal
83         allocations. Allocate the handle at load time and set the DMA mask for
84         allocations below 4GB.
85
86 ii.     Remove superfluous definitions, mid-layer /proc entry and synchronous
87         commands
88
89 iii.    Logical drive numbers were incremented in passthru structure after
90         random-deletion operation! Also, the logical drive deletion command is
91         issued in polled mode because of the racy nature of interrupt based
92         operation.
93
94 iv.     Add support for Intel's subsystem vendor id
95
96 ### Version 2.00.4
97 Thu Apr 17 15:58:58 EDT 2003
98 i.      Do not put the completed SCSI commands in a list. Complete them to
99         mid-layer as soon as we have completed them and reclaimed our
100         associated resources
101
102 ii.     Break ISR functionality in two portions. The lower half serves as
103         interrupt acknowledgment sequence for the firmware. This half can also
104         be called from other places in the driver, e.g., the abort and reset
105         handlers.
106
107 iii.    New abort and reset handling. In these situations, driver allows more
108         time for the firmware to complete outstanding requests instead of
109         failing handlers right-away.
110
111 ### Version 2.00.3
112 Wed Jan 29 09:13:44 EST 200 - Atul Mukker <atulm@lsil.com>
113 i.      Change the handshake in ISR while acknowledging interrupts. Write the
114         valid interrupt pattern 0x10001234 as soon as it is read from the
115         outdoor register. In existing driver and on certain platform, invalid
116         command ids were being returned.
117
118         Also, do not wait on status be become 0xFF, since FW can return this
119         status in certain circumstances.
120
121         Initialize the numstatus field of mailbox to 0xFF so that we can wait
122         on this wait in next interrupt. Firmware does not change its value
123         unless there are some status to be posted
124
125 ii.     Specify the logical drive number while issuing the RESERVATION_STATUS
126
127 iii.    Reduce the default mailbox busy wait time from 300us to 10us. This is
128         done to avoid a possible deadlock in FW because of longer bust waits.
129
130 iv.     The max outstanding commands are reduced to 126 because that's the
131         safest value on all FW.
132
133 v.      Number of sectors per IO are reduced to 128 (64kb), because FW needs
134         resources in special circumstances like check consistency, rebuilds
135         etc.
136
137 vi.     max_commands is no longer a module parameter because of iv.
138
139 ### Version: 2.00.2
140 i.      Intermediate release with kernel specific code
141
142
143 ### Version: 2.00.1i
144 Wed Dec  4 14:34:51 EST 2002 - Atul Mukker <atulm@lsil.com>
145 i.      Making the older IO based controllers to work with this driver
146
147
148 ### Version 2.00.1
149 Fri Nov 15 10:59:44 EST 2002 - Atul Mukker <atulm@lsil.com>
150 i.      Release host lock before issuing internal command to reset
151         reservations in megaraid_reset() and reacquire after internal command
152         is completed.