]>
Commit | Line | Data |
---|---|---|
1da177e4 LT |
1 | Release Date : Thu Feb 03 12:27:22 EST 2005 - Seokmann Ju <sju@lsil.com> |
2 | Current Version : 2.20.4.5 (scsi module), 2.20.2.5 (cmm module) | |
3 | Older Version : 2.20.4.4 (scsi module), 2.20.2.4 (cmm module) | |
4 | ||
5 | 1. Modified name of two attributes in scsi_host_template. | |
6 | On Wed, 2005-02-02 at 10:56 -0500, Ju, Seokmann wrote: | |
7 | > + .sdev_attrs = megaraid_device_attrs, | |
8 | > + .shost_attrs = megaraid_class_device_attrs, | |
9 | ||
10 | These are, perhaps, slightly confusing names. | |
11 | The terms device and class_device have well defined meanings in the | |
12 | generic device model, neither of which is what you mean here. | |
13 | Why not simply megaraid_sdev_attrs and megaraid_shost_attrs? | |
14 | ||
15 | Other than this, it looks fine to me too. | |
16 | ||
17 | Release Date : Thu Jan 27 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com> | |
18 | Current Version : 2.20.4.4 (scsi module), 2.20.2.5 (cmm module) | |
19 | Older Version : 2.20.4.3 (scsi module), 2.20.2.4 (cmm module) | |
20 | ||
21 | 1. Bump up the version of scsi module due to its conflict. | |
22 | ||
23 | Release Date : Thu Jan 21 00:01:03 EST 2005 - Atul Mukker <atulm@lsil.com> | |
24 | Current Version : 2.20.4.3 (scsi module), 2.20.2.5 (cmm module) | |
25 | Older Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module) | |
26 | ||
27 | 1. Remove driver ioctl for logical drive to scsi address translation and | |
28 | replace with the sysfs attribute. To remove drives and change | |
29 | capacity, application shall now use the device attribute to get the | |
30 | logical drive number for a scsi device. For adding newly created | |
31 | logical drives, class device attribute would be required to uniquely | |
32 | identify each controller. | |
33 | - Atul Mukker <atulm@lsil.com> | |
34 | ||
35 | "James, I've been thinking about this a little more, and you may be on | |
36 | to something here. Let each driver add files as such:" | |
37 | ||
38 | - Matt Domsch <Matt_Domsch@dell.com>, 12.15.2004 | |
39 | linux-scsi mailing list | |
40 | ||
41 | ||
42 | "Then, if you simply publish your LD number as an extra parameter of | |
43 | the device, you can look through /sys to find it." | |
44 | ||
45 | - James Bottomley <James.Bottomley@SteelEye.com>, 01.03.2005 | |
46 | linux-scsi mailing list | |
47 | ||
48 | ||
49 | "I don't see why not ... it's your driver, you can publish whatever | |
50 | extra information you need as scsi_device attributes; that was one of | |
51 | the designs of the extensible attribute system." | |
52 | ||
53 | - James Bottomley <James.Bottomley@SteelEye.com>, 01.06.2005 | |
54 | linux-scsi mailing list | |
55 | ||
56 | 2. Add AMI megaraid support - Brian King <brking@charter.net> | |
57 | PCI_VENDOR_ID_AMI, PCI_DEVICE_ID_AMI_MEGARAID3, | |
58 | PCI_VENDOR_ID_AMI, PCI_SUBSYS_ID_PERC3_DC, | |
59 | ||
60 | 3. Make some code static - Adrian Bunk <bunk@stusta.de> | |
61 | Date: Mon, 15 Nov 2004 03:14:57 +0100 | |
62 | ||
63 | The patch below makes some needlessly global code static. | |
64 | -wait_queue_head_t wait_q; | |
65 | +static wait_queue_head_t wait_q; | |
66 | ||
67 | Signed-off-by: Adrian Bunk <bunk@stusta.de> | |
68 | ||
69 | 4. Added NEC ROMB support - NEC MegaRAID PCI Express ROMB controller | |
70 | PCI_VENDOR_ID_LSI_LOGIC, PCI_DEVICE_ID_MEGARAID_NEC_ROMB_2E, | |
71 | PCI_SUBSYS_ID_NEC, PCI_SUBSYS_ID_MEGARAID_NEC_ROMB_2E, | |
72 | ||
73 | 5. Fixed Tape drive issue : For any Direct CDB command to physical device | |
74 | including tape, timeout value set by driver was 10 minutes. With this | |
75 | value, most of command will return within timeout. However, for those | |
76 | command like ERASE or FORMAT, it takes more than an hour depends on | |
77 | capacity of the device and the command could be terminated before it | |
78 | completes. | |
79 | To address this issue, the 'timeout' field in the DCDB command will | |
80 | have NO TIMEOUT (i.e., 4) value as its timeout on DCDB command. | |
81 | ||
82 | ||
83 | ||
84 | Release Date : Thu Dec 9 19:10:23 EST 2004 | |
85 | - Sreenivas Bagalkote <sreenib@lsil.com> | |
86 | ||
87 | Current Version : 2.20.4.2 (scsi module), 2.20.2.4 (cmm module) | |
88 | Older Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module) | |
89 | ||
90 | i. Introduced driver ioctl that returns scsi address for a given ld. | |
91 | ||
92 | "Why can't the existing sysfs interfaces be used to do this?" | |
93 | - Brian King (brking@us.ibm.com) | |
94 | ||
95 | "I've looked into solving this another way, but I cannot see how | |
96 | to get this driver-private mapping of logical drive number-> HCTL | |
97 | without putting code something like this into the driver." | |
98 | ||
99 | "...and by providing a mapping a function to userspace, the driver | |
100 | is free to change its mapping algorithm in the future if necessary .." | |
101 | - Matt Domsch (Matt_Domsch@dell.com) | |
102 | ||
103 | Release Date : Thu Dec 9 19:02:14 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com> | |
104 | ||
105 | Current Version : 2.20.4.1 (scsi module), 2.20.2.3 (cmm module) | |
106 | Older Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module) | |
107 | ||
108 | i. Fix a bug in kioc's dma buffer deallocation | |
109 | ||
110 | Release Date : Thu Nov 4 18:24:56 EST 2004 - Sreenivas Bagalkote <sreenib@lsil.com> | |
111 | ||
112 | Current Version : 2.20.4.1 (scsi module), 2.20.2.2 (cmm module) | |
113 | Older Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module) | |
114 | ||
115 | i. Handle IOCTL cmd timeouts more properly. | |
116 | ||
117 | ii. pci_dma_sync_{sg,single}_for_cpu was introduced into megaraid_mbox | |
118 | incorrectly (instead of _for_device). Changed to appropriate | |
119 | pci_dma_sync_{sg,single}_for_device. | |
120 | ||
121 | Release Date : Wed Oct 06 11:15:29 EDT 2004 - Sreenivas Bagalkote <sreenib@lsil.com> | |
122 | Current Version : 2.20.4.0 (scsi module), 2.20.2.1 (cmm module) | |
123 | Older Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module) | |
124 | ||
125 | i. Remove CONFIG_COMPAT around register_ioctl32_conversion | |
126 | ||
127 | Release Date : Mon Sep 27 22:15:07 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
128 | Current Version : 2.20.4.0 (scsi module), 2.20.2.0 (cmm module) | |
129 | Older Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) | |
130 | ||
131 | i. Fix data corruption. Because of a typo in the driver, the IO packets | |
132 | were wrongly shared by the ioctl path. This causes a whole IO command | |
133 | to be replaced by an incoming ioctl command. | |
134 | ||
135 | Release Date : Tue Aug 24 09:43:35 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
136 | Current Version : 2.20.3.1 (scsi module), 2.20.2.0 (cmm module) | |
137 | Older Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) | |
138 | ||
139 | i. Function reordering so that inline functions are defined before they | |
140 | are actually used. It is now mandatory for GCC 3.4.1 (current stable) | |
141 | ||
142 | Declare some heavy-weight functions to be non-inlined, | |
143 | megaraid_mbox_build_cmd, megaraid_mbox_runpendq, | |
144 | megaraid_mbox_prepare_pthru, megaraid_mbox_prepare_epthru, | |
145 | megaraid_busywait_mbox | |
146 | ||
147 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 | |
148 | linux-scsi mailing list | |
149 | ||
150 | "Something else to clean up after inclusion: every instance of an | |
151 | inline function is actually rendered as a full function call, because | |
152 | the function is always used before it is defined. Atul, please | |
153 | re-arrange the code to eliminate the need for most (all) of the | |
154 | function prototypes at the top of each file, and define (not just | |
155 | declare with a prototype) each inline function before its first use" | |
156 | ||
157 | - Matt Domsch <Matt_Domsch@dell.com>, 07.27.2004 | |
158 | linux-scsi mailing list | |
159 | ||
160 | ||
161 | ii. Display elapsed time (countdown) while waiting for FW to boot. | |
162 | ||
163 | iii. Module compilation reorder in Makefile so that unresolved symbols do | |
164 | not occur when driver is compiled non-modular. | |
165 | ||
166 | Patrick J. LoPresti <patl@users.sourceforge.net>, 8.22.2004 | |
167 | linux-scsi mailing list | |
168 | ||
169 | ||
170 | Release Date : Thu Aug 19 09:58:33 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
171 | Current Version : 2.20.3.0 (scsi module), 2.20.2.0 (cmm module) | |
172 | Older Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) | |
173 | ||
174 | i. When copying the mailbox packets, copy only first 14 bytes (for 32-bit | |
175 | mailboxes) and only first 22 bytes (for 64-bit mailboxes). This is to | |
176 | avoid getting the stale values for busy bit. We want to set the busy | |
177 | bit just before issuing command to the FW. | |
178 | ||
179 | ii. In the reset handling, if the reseted command is not owned by the | |
180 | driver, do not (wrongly) print information for the "attached" driver | |
181 | packet. | |
182 | ||
183 | iii. Have extended wait when issuing command in synchronous mode. This is | |
184 | required for the cases where the option ROM is disabled and there is | |
185 | no BIOS to start the controller. The FW starts to boot after receiving | |
186 | the first command from the driver. The current driver has 1 second | |
187 | timeout for the synchronous commands, which is far less than what is | |
188 | actually required. We now wait up to MBOX_RESET_TIME (180 seconds) for | |
189 | FW boot process. | |
190 | ||
191 | iv. In megaraid_mbox_product_info, clear the mailbox contents completely | |
192 | before preparing the command for inquiry3. This is to ensure that the | |
193 | FW does not get junk values in the command. | |
194 | ||
195 | v. Do away with the redundant LSI_CONFIG_COMPAT redefinition for | |
196 | CONFIG_COMPAT. Replace <asm/ioctl32.h> with <linux/ioctl32.h> | |
197 | ||
198 | - James Bottomley <James.Bottomley@SteelEye.com>, 08.17.2004 | |
199 | linux-scsi mailing list | |
200 | ||
201 | vi. Add support for 64-bit applications. Current drivers assume only | |
202 | 32-bit applications, even on 64-bit platforms. Use the "data" and | |
203 | "buffer" fields of the mimd_t structure, instead of embedded 32-bit | |
204 | addresses in application mailbox and passthru structures. | |
205 | ||
206 | vii. Move the function declarations for the management module from | |
207 | megaraid_mm.h to megaraid_mm.c | |
208 | ||
209 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 | |
210 | linux-scsi mailing list | |
211 | ||
212 | viii. Change default values for MEGARAID_NEWGEN, MEGARAID_MM, and | |
213 | MEGARAID_MAILBOX to 'n' in Kconfig.megaraid | |
214 | ||
215 | - Andrew Morton <akpm@osdl.org>, 08.19.2004 | |
216 | linux-scsi mailing list | |
217 | ||
218 | ix. replace udelay with msleep | |
219 | ||
220 | x. Typos corrected in comments and whitespace adjustments, explicit | |
221 | grouping of expressions. | |
222 | ||
223 | ||
224 | Release Date : Fri Jul 23 15:22:07 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
225 | Current Version : 2.20.2.0 (scsi module), 2.20.1.0 (cmm module) | |
226 | Older Version : 2.20.1.0 (scsi module), 2.20.0.0 (cmm module) | |
227 | ||
228 | i. Add PCI ids for Acer ROMB 2E solution | |
229 | ||
230 | ii. Add PCI ids for I4 | |
231 | ||
232 | iii. Typo corrected for subsys id for megaraid sata 300-4x | |
233 | ||
234 | iv. Remove yield() while mailbox handshake in synchronous commands | |
235 | ||
236 | ||
237 | "My other main gripe is things like this: | |
238 | ||
239 | + // wait for maximum 1 second for status to post | |
240 | + for (i = 0; i < 40000; i++) { | |
241 | + if (mbox->numstatus != 0xFF) break; | |
242 | + udelay(25); yield(); | |
243 | + } | |
244 | ||
245 | which litter the driver. Use of yield() in drivers is deprecated." | |
246 | ||
247 | - James Bottomley <James.Bottomley@SteelEye.com>, 07.14.2004 | |
248 | linux-scsi mailing list | |
249 | ||
250 | v. Remove redundant __megaraid_busywait_mbox routine | |
251 | ||
252 | vi. Fix bug in the managment module, which causes a system lockup when the | |
253 | IO module is loaded and then unloaded, followed by executing any | |
254 | management utility. The current version of management module does not | |
255 | handle the adapter unregister properly. | |
256 | ||
257 | Specifically, it still keeps a reference to the unregistered | |
258 | controllers. To avoid this, the static array adapters has been | |
259 | replaced by a dynamic list, which gets updated every time an adapter | |
260 | is added or removed. | |
261 | ||
262 | Also, during unregistration of the IO module, the resources are | |
263 | now released in the exact reverse order of the allocation time | |
264 | sequence. | |
265 | ||
266 | ||
267 | Release Date : Fri Jun 25 18:58:43 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
268 | Current Version : 2.20.1.0 | |
269 | Older Version : megaraid 2.20.0.1 | |
270 | ||
271 | i. Stale list pointer in adapter causes kernel panic when module | |
272 | megaraid_mbox is unloaded | |
273 | ||
274 | ||
275 | Release Date : Thu Jun 24 20:37:11 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
276 | Current Version : 2.20.0.1 | |
277 | Older Version : megaraid 2.20.0.00 | |
278 | ||
279 | i. Modules are not 'y' by default, but depend on current definition of | |
280 | SCSI & PCI. | |
281 | ||
282 | ii. Redundant structure mraid_driver_t removed. | |
283 | ||
284 | iii. Miscellaneous indentation and goto/label fixes. | |
285 | - Christoph Hellwig <hch@infradead.org>, 06.24.2004 linux-scsi | |
286 | ||
287 | iv. scsi_host_put(), do just before completing HBA shutdown. | |
288 | ||
289 | ||
290 | ||
291 | Release Date : Mon Jun 21 19:53:54 EDT 2004 - Atul Mukker <atulm@lsil.com> | |
292 | Current Version : 2.20.0.0 | |
293 | Older Version : megaraid 2.20.0.rc2 and 2.00.3 | |
294 | ||
295 | i. Independent module to interact with userland applications and | |
296 | multiplex command to low level RAID module(s). | |
297 | ||
298 | "Shared code in a third module, a "library module", is an acceptable | |
299 | solution. modprobe automatically loads dependent modules, so users | |
300 | running "modprobe driver1" or "modprobe driver2" would automatically | |
301 | load the shared library module." | |
302 | ||
303 | - Jeff Garzik <jgarzik@pobox.com> 02.25.2004 LKML | |
304 | ||
305 | "As Jeff hinted, if your userspace<->driver API is consistent between | |
306 | your new MPT-based RAID controllers and your existing megaraid driver, | |
307 | then perhaps you need a single small helper module (lsiioctl or some | |
308 | better name), loaded by both mptraid and megaraid automatically, which | |
309 | handles registering the /dev/megaraid node dynamically. In this case, | |
310 | both mptraid and megaraid would register with lsiioctl for each | |
311 | adapter discovered, and lsiioctl would essentially be a switch, | |
312 | redirecting userspace tool ioctls to the appropriate driver." | |
313 | ||
314 | - Matt Domsch <Matt_Domsch@dell.com> 02.25.2004 LKML | |
315 | ||
316 | ii. Remove C99 initializations from pci_device id. | |
317 | ||
318 | "pci_id_table_g would be much more readable when not using C99 | |
319 | initializers. | |
320 | PCI table doesn't change, there's lots of users that prefer the more | |
321 | readable variant. And it's really far less and much easier to grok | |
322 | lines without C99 initializers." | |
323 | ||
324 | - Christoph Hellwig <hch@infradead.org>, 05.28.2004 linux-scsi | |
325 | ||
326 | iii. Many fixes as suggested by Christoph Hellwig <hch@infradead.org> on | |
327 | linux-scsi, 05.28.2004 | |
328 | ||
329 | iv. We now support up to 32 parallel ioctl commands instead of current 1. | |
330 | There is a conscious effort to let memory allocation not fail for ioctl | |
331 | commands. | |
332 | ||
333 | v. Do away with internal memory management. Use pci_pool_(create|alloc) | |
334 | instead. | |
335 | ||
336 | vi. Kill tasklet when unloading the driver. | |
337 | ||
338 | vii. Do not use "host_lock', driver has fine-grain locks now to protect all | |
339 | data structures. | |
340 | ||
341 | viii. Optimize the build scatter-gather list routine. The callers already | |
342 | know the data transfer address and length. | |
343 | ||
344 | ix. Better implementation of error handling and recovery. Driver now | |
345 | performs extended errors recovery for instances like scsi cable pull. | |
346 | ||
347 | x. Disassociate the management commands with an overlaid scsi command. | |
348 | Driver now treats the management packets as special packets and has a | |
349 | dedicated callback routine. |