aboutsummaryrefslogtreecommitdiffstats
path: root/Documentation/scsi/qla2xxx.revision.notes
blob: 290cdaf84f8fc0661186e82edf063f1fb1997409 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
/*
 * QLogic ISP2200 and ISP2300 Linux Driver Revision List File.
 *
 ********************************************************************
 *
 * Revision History
 *
 *  Rev  8.00.00b8	December 5, 2003	AV
 *	- Instruct mid-layer to perform initial scan.
 *
 *  Rev  8.00.00b7	December 5, 2003	AV
 *	- Resync with Linux Kernel 2.6.0-test11.
 *	- Add basic NVRAM parser (extras/qla_nvr).
 *
 *  Rev  8.00.00b7-pre11 December 3, 2003	AV
 *	- Sanitize the scsi_qla_host structure:
 *	  - Purge unused elements.
 *	  - Reorganize high-priority members (cache coherency).
 *	- Add support for NVRAM access via a sysfs binary attribute:
 *	  - Consolidate semaphore locking access.
 *	- Fix more PCI posting issues.
 *	- Add extras directory for dump/NVRAM tools.
 *	- Remove unused qla_vendor.c file.
 *
 *  Rev  8.00.00b7-pre11 November 26, 2003	DG/AV
 *	- Merge several patches from Christoph Hellwig [hch@lst.de]:
 *	  - in Linux 2.6 both pci and the scsi layer use the generic
 *	    dma direction bits, use them directly instead of the scsi
 *	    and pci variants and the (noop) conversion routines.
 *	- Fix _IOXX_BAD() usage for external IOCTL interface.
 *	- Use atomic construct for HA loop_state member.
 *	- Add generic model description text for HBA types.
 *
 *  Rev  8.00.00b7-pre5	November 17, 2003	AV
 *	- Merge several patches from Christoph Hellwig [hch@lst.de]:
 *	  - patch to split the driver into a common qla2xxx.ko and a
 *	    qla2?00.ko for each HBA type - the latter modules are
 *	    only very small wrappers, mostly for the firmware
 *	    images, all the meat is in the common qla2xxx.ko.
 *	  - make the failover code optional.
 *	  - kill useless lock_kernel in dpc thread startup.
 *	  - no need for modversions hacks in 2.6 (or 2.4).
 *	  - kill qla2x00_register_with_Linux.
 *	  - simplify EH code, cmd or it's hostdata can't be NULL, no
 *	    need to search whether the host it's ours, the midlayer
 *	    makes sure it won't call into a driver for some else
 *	    host.
 *	- Merge several patches from Jes Sorensen
 *	  [jes@wildopensource.com]:
 *	  - Call qla2x00_config_dma_addressing() before performing
 *	    any consistent allocations. This is required since the
 *	    dma mask settings will affect the memory
 *	    pci_alloc_consistent() will return.
 *	  - Call pci_set_consistent_dma_mask() to allow for 64 bit
 *	    consistent allocations, required on some platforms such
 *	    as the SN2.
 *	  - Wait 20 usecs (not sure how long is really necessary,
 *	    but this seems safe) after setting CSR_ISP_SOFT_RESET in
 *	    the ctrl_status register as the card doesn't respond to
 *	    PCI reads while in reset state. This causes a machine
 *	    check on some architectures.
 *	  - Flush PCI writes before calling udelay() to ensure the
 *	    write is not sitting idle in-flight for a while before
 *	    hitting the hardware.
 *	  - Include linux/vmalloc.h in qla_os.c since it uses
 *	    vmalloc().
 *	  - Use auto-negotiate link speed when using default
 *	    parameters rather than NVRAM settings. Disable NVRAM
 *	    reading on SN2 since it's not possible to execute the
 *	    HBA's BIOS on an SN2. I suggest doing something similar
 *	    for all architectures that do not provide x86 BIOS
 *	    emulation.
 *	- Clean-up slab-cache allocations:
 *	  - locking.
 *	  - mempool allocations in case of low-memory situations.
 *	- Fallback to GA_NXT scan if GID_PT call returns more than
 *	  MAX_FIBRE_DEVICES.
 *	- Preserve iterating port ID across GA_NXT calls in
 *	  qla2x00_find_all_fabric_devs().
 *	- Pre-calculate ASCII firmware dump length as to not incur the
 *	  cost-to-calculate at each invocation of a read().
 *
 *  Rev  8.00.00b6	November 4, 2003	AV
 *	- Add new 2300 TPX firmware (3.02.18).
 *
 *  Rev  8.00.00b6-pre25 October 20, 2003	RA/AV
 *	- Resync with Linux Kernel 2.6.0-test9.
 *	- Rework firmware dump process:
 *	  - Use binary attribute within sysfs tree.
 *	  - Add user-space tool (gdump.sh) to retrieve formatted
 *	    buffer.
 *	  - Add ISP2100 support.
 *	- Use a slab cache for SRB allocations to reduce memory
 *	  pressure.
 *	- Initial conversion of driver logging methods to a new
 *	  qla_printk() function which uses dev_printk (Daniel
 *	  Stekloff, IBM).
 *	- Further reduce stack usage in qla2x00_configure_local_loop()
 *	  and qla2x00_find_all_fabric_devs().
 *	- Separate port state used for routing of I/O's from port
 *	  mgmt-login retry etc.
 *
 *  Rev  8.00.00b6-pre19 October 13, 2003	AV
 *	- Resync with Linux Kernel 2.6.0-test7-bk5.
 *	- Add intelligent RSCN event handling:
 *	  - reduce scan time during 'port' RSCN events by only
 *	    querying specified port ids.
 *	  - Available on ISP23xx cards only.
 *	- Increase maximum number of recognizable targets from 256
 *	  to 512.
 *	  - Backend changes were previously added to support TPX
 *	    (2K logins) firmware.  Mid-layer can now scan for targets
 *	    (H, B, T, L) where 512 < T >= 0.
 *	- Remove IP support from driver.
 *	  - Switch firmware types from IP->TP for ISP22xx and
 *	    IPX->TPX for ISP23xx cards.
 *	  - Remove files qla_ip.[ch].
 *	- Remove type designations from firmware filenames.
 *
 *  Rev  8.00.00b6-pre11 September 15, 2003	DG/AV
 *	- Resync with 6.06.00.
 *	- Resync with Linux Kernel 2.6.0-test5-bk3.
 *	- Add new 2300 IPX firmware (3.02.15).
 *
 *  Rev  8.00.00b5	July 31, 2003		AV
 *	- Always create an fc_lun_t entry for lun 0 - as the mid-
 *	  layer requires access to this lun for discovery to occur.
 *	- General sanitizing:
 *	  - Add generic firmware option definitions.
 *	  - Generalize retrieval/update of firmware options.
 *	  - Fix compile errors which occur with extended debug.
 *	  - Handle failure cases for scsi_add_host() and
 *	    down_interruptible().
 *	- Host template updates:
 *	  - Use standard bios_param callback function.
 *	  - Disable clustering.
 *	  - Remove unchecked_is_dma entry.
 *
 *  Rev  8.00.00b5-pre5	July 29, 2003		DG/AV
 *	- Resync with 6.06.00b13.
 *	- Resync with Linux Kernel 2.6.0-test2.
 *	- Pass the complete loop_id, not the masked (0xff) value
 *	  while issuing mailbox commands (qla_mbx.c/qla_fo.c/
 *	  qla_iocb.c/qla_init.c).
 *	- Properly handle zero-length return status for an RLC CDB.
 *	- Create an fclun_t structure for 'disconnected' luns,
 *	  peripheral-qualifier of 001b.
 *	- Remove unused LIP-sequence register access during AE 8010.
 *	- Generalize qla2x00_mark_device_lost() to handle forced 
 *	  login request -- modify all direct/indirect invocations 
 *	  with proper flag.
 *	- Save RSCN notification (AE 8015h) data in a proper and 
 *	  consistent format (domain, area, al_pa).
 *	- General sanitizing:
 *	  - scsi_qla_host structure member reordering for cache-line
 *	    coherency.
 *	  - Remove unused SCSI opcodes, endian-swap definitions.
 *	  - Remove CMD_* pre-processor defines.
 *	  - Remove unused SCSIFCHOTSWAP/GAMAP/MULTIHOST codes.
 *	- Backout patch which added a per-scsi_qla_host scsi host
 *	  spinlock, since mid-layer already defines one.
 *	- Add new 2300 IPX firmware (3.02.15).
 *
 *  Rev  8.00.00b4	July 14, 2003		RA/DG/AV
 *	- Resync with 6.06.00b12.
 *	- Resync with Linux Kernel 2.6.0-test1.
 *	- Remove IOCB throttling code -- originally #if'd.
 *	- Remove apidev_*() routines since proc_mknod() has been
 *	  removed -- need alternate IOCTL interface.
 *	- Merge several performance/fix patches from Arjan van de
 *	  Ven:
 *	  - Undefined operation >> 32.
 *	  - No need to acquire mid-layer lock during command
 *	    callback. 
 *	  - Use a per-HBA mid-layer lock.
 *	  - Use a non-locked cycle for setting the count of the
 *	    newly allocated sp (qla2x00_get_new_sp()).
 *	  - Modify semantic behavior of qla2x00_queuecommand():
 *	    - Reduce cacheline bouncing by having I/Os submitted
 *	      by the IRQ handler.
 *	    - Remove extraneous calls to qla2x00_next() during I/O
 *	      queuing.
 *	  - Use list_splice_init() during qla2x00_done() handling
 *	    of commands to reduce list_lock contention.
 *	  - RIO mode support for ISP2200:
 *	    - Implementation differs slightly from original patch.
 *	  - Do not use bottom-half handler (tasklet/work queue)
 *	    for qla2x00_done() processing.
 *
 *  Rev  8.00.00b4-pre22 July 12, 2003		AV
 *	- Check for 'Process Response Queue' requests early during
 *	  the Host Status check.
 *	- General sanitizing:
 *	  - srb_t structure rewrite, removal of unused members.
 *	  - Remove unused fcdev array, fabricid, and PORT_*
 *	    definitions.
 *	  - Remove unused config_reg_t PCI definitions.
 *	- Add new 2200 IP firmware (2.02.06).
 *	- Add new 2300 IPX firmware (3.02.14).
 *
 *  Rev  8.00.00b4-pre19 June 30, 2003		AV
 *	- Resync with Linux Kernel 2.5.73-bk8.
 *	- Rework IOCB command queuing methods:
 *	  - Upper-layer driver *MUST* properly set the direction
 *	    bit of SCSI commands.
 *	  - Generalize 32bit/64bit queuing path functions.
 *	  - Remove costly page-boundary cross check when using
 *	    64bit address capable IOCBs.
 *
 *  Rev  8.00.00b4-pre15 June 19, 2003		AV
 *	- Resync with 6.06.00b11.
 *	- Continue fcport list consolidation work:
 *	  - Updated IOCTL implementations to use new fcports 
 *	    list.
 *	- Modified product ID check to not verify ISP chip
 *	  revision -- ISP2312 v3 (qla2x00_chip_diag()).
 *	- Add new 2300 IPX firmware (3.02.13):
 *
 *  Rev  8.00.00b4-pre13 June 19, 2003		AV
 *	- Fix build process for qla2100 driver -- no support
 *	  for IP.
 *	- SCSI host template modifications:
 *	  - Set sg_tablesize based on the derived DMA mask.
 *	  - Increase max_sectors since only limit within RISC
 *	    is transfer of (((2^32) - 1) >> 9) sectors.
 *
 *  Rev  8.00.00b4-pre12 June 18, 2003		RA, DG, RL, AV
 *	- Resync with 6.06.00b10.
 *	- Resync with Linux Kernel 2.5.72.
 *	- Initial fcport list consolidation work:
 *	  - fcports/fcinitiators/fcdev/fc_ip --> ha->fcports
 *	    list.
 *
 *  Rev  8.00.00b4-pre7	 June 05, 2003		AV
 *	- Properly release PCI resouces in init-failure case.
 *	- Reconcile disparite function return code definitions.
 *
 *  Rev  8.00.00b4-pre4	 June 03, 2003		AV
 *	- Resync with Linux Kernel 2.5.70-bk8:
 *	  - SHT proc_info() changes.
 *	- Restructure SNS Generic Services routines:
 *	  - Add qla_gs.c file to driver distribution.
 *	- Configure PCI latency timer for ISP23xx.
 *
 *  Rev  8.00.00b4-pre3	 June 02, 2003		RA, DG, RL, AV
 *	- Resync with 6.06.00b5.
 *	- Rework (again) PCI I/O space configuration
 *	  (Anton Blanchard):
 *	  - Use pci_set_mwi() routine;
 *	    - Remove uneeded qla2x00_set_cache_line() function.
 *	  - Remove extraneous modification of PCI_COMMAND word.
 *
 *  Rev  8.00.00b3 	 May 29, 2003		AV
 *	- Resync with Linux Kernel 2.5.70.
 *	- Move RISC paused check from ISR fast-path.
 *
 *  Rev  8.00.00b3-pre8 May 26, 2003		AV
 *	- Add new 2300 IPX firmware (3.02.12):
 *	- Rework PCI I/O space configuration.
 *
 *  Rev  8.00.00b3-pre6	May 22, 2003		RA, DG, RL, AV
 *	- Resync with 6.06.00b3.
 *
 *  Rev  8.00.00b3-pre4	May 21 2003		AV
 *	- Add new 2300 IPX firmware (3.02.11):
 *	  - Remove 2300 TPX firmware from distribution.
 *
 *  Rev  8.00.00b3-pre3	May 21 2003		AV
 *	- Properly setup PCI configuation space during
 *	  initialization:
 *	  - Properly configure Memory-Mapped I/O during early
 *	    configuration stage.
 *	- Rework IP functionality to support 2k logins.
 *	- Add new 2300 IPX firmware (3.02.11):
 *	  - Remove 2300 TPX firmware from distribution.
 *
 *  Rev  8.00.00b3-pre2	May ??, 2003		RA, DG, RL, AV
 *	- Resync with 6.06.00b1.
 *
 *  Rev  8.00.00b3-pre1	May ??, 2003		RA, DG, RL, AV
 *	- Resync with 6.05.00.
 *
 *  Rev  8.00.00b2	May 19, 2003		AV
 *	- Simplify dma_addr_t handling during command queuing given
 *	  new block-layer defined restrictions:
 *	  - Physical addresses not spanning 4GB boundaries.
 *	- Firmware versions: 2100 TP (1.19.24), 2200 IP (2.02.05),
 *	  2300 TPX (3.02.10).
 *
 *  Rev  8.00.00b2-pre1	May 13, 2003		AV
 *	- Add support for new 'Hotplug initialization' model. 
 *	- Simplify host template by removing unused callbacks.
 *	- Use scsicam facilities to determine geometry.
 *	- Fix compilation issues for non-ISP23xx builds:
 *	  - Correct register references in qla_dbg.c.
 *	  - Correct Makefile build process.
 *
 *  Rev  8.00.00b1	May 05, 2003		AV
 *	- Resync with Linux Kernel 2.5.69.
 *	- Firmware versions: 2100 TP (1.19.24), 2200 TP (2.02.05),
 *	  2300 TPX (3.02.10).
 *
 *  Rev  8.00.00b1-pre45 April ??, 2003		AV
 *	- Resync with Linux Kernel 2.5.68-bk11:
 *	- Fix improper return-code assignment during fabric
 *	  discovery.
 *	- Remove additional extraneous #defines from
 *	  qla_settings.h.
 *	  - USE_PORTNAME -- FO will always use portname.
 *	- Default queue depth size set to 64.
 *
 *  Rev  8.00.00b1-pre42 April ??, 2003		AV
 *	- Convert bottom-half tasklet to a work_queue.
 *	- Initial basic coding of dynamic queue depth handling
 *	  during QUEUE FULL statuses.
 *	- Fix mailbox interface problem with
 *	  qla2x00_get_retry_cnt().
 *
 *  Rev  8.00.00b1-pre41 April ??, 2003		AV
 *	- Convert build defines qla2[1|2|3]00 macros to
 *	  qla2[1|2|3]xx due to module name stringification clashes.
 *	- Add additional ISP2322 checks during board configuration.
 *
 *  Rev  8.00.00b1-pre40 April ??, 2003		AV
 *	- Resync with Linux Kernel 2.5.68-bk8:
 *	  - Updated IRQ handler interface.
 *	- Add ISP dump code (stub) in case of SYSTEM_ERROR on
 *	  ISP2100.
 *	- Add new 2200 IP firmware (2.02.05).
 *
 *  Rev  8.00.00b1-pre39 April ??, 2003		AV
 *	- Resync with Linux Kernel 2.5.68.
 *	- Add simple build.sh script to aid in external compilation.
 *	- Clean-break with Kernel 2.4 compatibility.
 *	  - Rework DPC routine -- completion routines for signaling.
 *	- Re-add HBAAPI character device node for IOCTL support.
 *	- Remove residual QLA2X_PERFORMANCE defines.
 *	- Allocate SP pool via __get_free_pages() rather than
 *	  individual kmalloc()'s.
 *	- Inform SCSI mid-layer of 16-byte CDB support
 *	  (host->max_cmd_len):
 *	  - Remove unecessary 'more_cdb' handling code from
 *	    qla_iocb.c and qla_xioct.c.
 *	- Reduce duplicate code in fabric scanning logic (MS IOCB
 *	  preparation).
 *	- Add ISP dump code in case of SYSTEM_ERROR.
 *	- Remove 2300 VIX firmware from distribution:
 *	  - Add initial code for IPX support.
 *	- Add new 2300 TPX firmware (3.02.10).
 *
 *  Rev  8.00.00b1-pre34 April ??, 2003		AV
 *	- Resync with Linux Kernel 2.5.67.
 *	- Use domain/area/al_pa fields when displaying PortID 
 *	  values -- addresses endianess issues.
 *	- Rework large case statement to check 'common' CDB commands
 *	  early in qla2x00_get_cmd_direction().
 *
 *  Rev  8.00.00b1-pre31 April ??, 2003		AV
 *	- Update makefile to support PPC64 build.
 *	- Retool NVRAM configuration routine and structures:
 *	  - Consoldate ISP21xx/ISP22xx/ISP23xx configuration
 *	    (struct nvram_t).
 *	  - Remove big/little endian support structures in favor of
 *	    simplified bit-operations within byte fields.
 *	- Fix long-standing 'static' buffer sharing problem in 
 *	  qla2x00_configure_fabric().
 *
 *  Rev  8.00.00b1-pre30 April ??, 2003		AV
 *	- Complete implementation of GID_PT scan.
 *	- Use consistent MS IOCB invocation method to query SNS:
 *	  - Add RNN_ID and RSNN_NN registrations in a fabric.
 *	- Remove unused Mailbox Command 6Eh (Send SNS) support
 *	  structures.
 *	- Use 64bit safe IOCBs while issuing INQUIRY and RLC during
 *	  topology scan.
 *	- Until reimplementation of fcdev_t/fcport list
 *	  consolidation, valid loop_id ranges are still limited from
 *	  0x00 through 0xFF -- enforce this within the code.
 *
 *  Rev  8.00.00b1-pre27 March ??, 2003		AV
 *	- Resync with 6.05.00b9.
 *	- Retool HBA PCI configuration -- qla2x00_pci_config().
 *	- Remove inconsistent use of delay routines (UDELAY/SYS*).
 *	- Continue to teardown/clean/add comments and debug
 *	  routines.
 *	- Properly swap bytes of the device's nodename in
 *	  qla2x00_configure_local_loop().
 *
 *  Rev  8.00.00b1-pre25 March ??, 2003		AV
 *	- Resync with 6.05.00b8.
 *
 *  Rev  8.00.00b1-pre23 March ??, 2003		AV
 *	- Remove (#define) IOCB usage throttling.
 *	- Abstract interrupt polling with qla2x00_poll().
 *	- Modify lun scanning logic:
 *	  - If the device does not support the SCSI Report Luns
 *	    command, the driver will now only scan from 0 to the
 *	    max#-luns as defined in the NVRAM (BIOS), rather than
 *	    blindly scanning from 0 to 255 -- which could result in
 *	    an increase in startup time when running against slow
 *	    (JBOD) devices.
 *	- Rework reset logic in qla2x00_reset_chip() (spec).
 *
 *  Rev  8.00.00b1-pre22 March ??, 2003		AV
 *	- Resync with 6.05.00b7.
 *	- Cleanup (rewrite) ISR handler.
 *	- Rename kmem_zalloc --> qla2x00_kmem_zalloc():
 *	  - This function will eventually be removed.
 *	- Add new 2300 VIX firmware (3.02.09):
 *	  - Support for Tape, Fabric, 2K logins, IP, and VI.
 *
 *  Rev  8.00.00b1-pre18 March ??, 2003		AV
 *	- Support 232x type ISPs.
 *	- Support single firmware for each ISP type:
 *	  - Restructure brd_info/fw_info methods.
 *	  - Streamline firmware load process.
 *	  - Properly query firmware for version information.
 *	- Remove extraneous scsi_qla_host members:
 *	  - device_id ==> pdev->device
 *	- Fix fc4 features (RFF_ID) registration.
 *	- Convert kmem_zalloc --> qla2x00_kmem_zalloc().
 *	- Remove unused/extraneous #defines (USE_PORTNAME).
 *
 *  Rev  8.00.00b1-pre14 March ??, 2003		AV
 *	- Resync with 6.05.00b6.
 *	- Initial source-code restructuring effort.
 *	  - Build procedure.
 *	  - Source file layout -- intuitive component layout.
 *	  - Remove unused #defines (*PERFORMANCE, WORD_FW_LOAD, etc).
 *	- Add support for 2K logins (TPX -- firmware).
 *	- Add module parameter ql2xsuspendcount.
 *	- Add new 2200 IP/TP firmware (2.02.04).
 *
 *  Rev  8.00.00b1-pre9	March ??, 2003	RL/DG/RA/AV
 *	- Use kernel struct list_head for fcport and fclun lists.
 *	- Remove extraneous (L|M)S_64BITS() and QL21_64*() defines.
 *
 *  Rev  8.00.00b1-pre8	February 28, 2003	RL/DG/RA/AV
 *	- Resync with 6.05.00b3.
 *
 *  Rev  8.00.00b1-pre7	February 23, 2003	RL/DG/RA/AV
 *	- Add alternate fabric scanning logic (GID_PT/GNN_ID/GPN_ID).
 *	- Remove use of deprecated function check_region().
 *	- Add new 2300 IP/TP firmware (3.02.08).
 *
 *  Rev  8.00.00b1-pre5	January 28, 2003	RL/DG/RA/AV
 *	- Resync with 6.05.00b3.
 *	- Consolidate device_reg structure definitions for ISP types.
 *	- Add support for new queue-depth selection.
 *	- Add new 2300 IP/TP firmware (3.02.07).
 *
 *  Rev  8.00.00b1-pre1	January 17, 2003	AV
 *	- Initial branch from 6.04.00b8 driver.
 *	- Remove VMWARE specific code.
 *	- Add support for pci_driver interface.
 *
 ********************************************************************/