summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/qla2xxx (follow)
Commit message (Collapse)AuthorAgeFilesLines
* [PATCH] mempool: use mempool_create_slab_pool()Matthew Dobson2006-03-261-2/+1
| | | | | | | | | | Modify well over a dozen mempool users to call mempool_create_slab_pool() rather than calling mempool_create() with extra arguments, saving about 30 lines of code and increasing readability. Signed-off-by: Matthew Dobson <colpatch@us.ibm.com> Signed-off-by: Andrew Morton <akpm@osdl.org> Signed-off-by: Linus Torvalds <torvalds@osdl.org>
* [SCSI] qla2xxx: Firmware updates.Andrew Vasquez2006-03-123-24719/+24866
| | | | | | | | Resync with latest 23xx firmware -- 3.03.20. Resync with latest 24xx firmware -- 4.00.18. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Remove legacy ISP6312 firmware loader.Andrew Vasquez2006-03-122-7179/+0
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct FCAL login retry logic for ISP24xx.andrew.vasquez@qlogic.com2006-03-124-8/+14
| | | | | | | | | ISP24XX FW does not support Mbx 0x74 ie Login Local Port. Added the equivalent code for ISP24XX ie to relogin in non fabric case for ISP24XX use login iocb. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Further restrict ZIO mode support.andrew.vasquez@qlogic.com2006-03-124-13/+16
| | | | | | | Only support ZIO mode 6 on specific ISP types. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add VPD sysfs attribute.andrew.vasquez@qlogic.com2006-03-124-2/+65
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct swing/emphasis settings on ISP24xx.andrew.vasquez@qlogic.com2006-03-121-3/+3
| | | | | | | Reserved-bit 15 must set when updating the swing/emphasis values. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: NVRAM id-list updates.andrew.vasquez@qlogic.com2006-03-122-145/+80
| | | | | | | Resync with latest NVRAM subsystem ID list. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Consolidate ISP63xx handling.andrew.vasquez@qlogic.com2006-03-126-29/+44
| | | | | | | As new 23xx firmware will accomidate ISP63xx types. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add ISP54xx support.andrew.vasquez@qlogic.com2006-03-1210-63/+92
| | | | | | | Chip is similar in form to our ISP24xx offering. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Convert IS_QLA*() defines to bit-operations.andrew.vasquez@qlogic.com2006-03-124-81/+89
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: use kthread_ APIChristoph Hellwig2006-03-036-74/+38
| | | | | | | | | | | Use the kthread_ API instead of opencoding lots of hairy code for kernel thread creation and teardown. Also switch from semaphore-based thread wakeup to wake_up_process. Signed-off-by: Christoph Hellwig <hch@lst.de> Acked-By: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] qla2xxx: Correct lun assignment during IOCB submission.andrew.vasquez@qlogic.com2006-02-071-0/+1
| | | | | | | | 4gb products require an IOCB's FCP-LUN to be formatted in wire-format prior to submission. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] qla2xxx: Pass input-buffer length to Get-ID-List mailbox command.andrew.vasquez@qlogic.com2006-02-071-1/+2
| | | | | | | | | | | Recent ISP24xx firmwares require that mailbox register 8 be set to the maximum number of bytes to transfer during DMA copying of the list. We safely set this value to zero (infinite), since the call is *only* made in FCAL topologies. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] qla2xxx: Remove bogus debug-code.andrew.vasquez@qlogic.com2006-02-071-3/+0
| | | | | | | | | | Commit 854165f4245c4a3b4a8cc363ba2050033151e196 inadvertently added some code meant only for testing -- the driver was ignoring the non-zero function numbers of a multi-port HBA. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [PATCH] qla2xxx: Close window on race between rport removal and fcport ↵andrew.vasquez@qlogic.com2006-02-071-0/+14
| | | | | | | | | | | | | transition. Fcport visibility is recognized during interrupt time, but, rport removal can only occur during a process (sleeping)-context. Return a DID_IMM_RETRY status for commands submitted within this window to insure I/Os do not prematurely run-out of retries. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add support to retrieve/update HBA option-rom.andrew.vasquez@qlogic.com2006-02-045-2/+845
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Return correct data-len during NVRAM retrieval.andrew.vasquez@qlogic.com2006-02-041-4/+3
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add beacon support via class-device attribute.andrew.vasquez@qlogic.com2006-02-045-3/+387
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add host-statistics FC transport attributes.andrew.vasquez@qlogic.com2006-02-046-7/+147
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add host port-type FC transport attribute.andrew.vasquez@qlogic.com2006-02-041-0/+25
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Add port-speed FC transport attribute.andrew.vasquez@qlogic.com2006-02-044-2/+29
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Drop legacy 'bypass lun scan for tape device' code.andrew.vasquez@qlogic.com2006-01-261-26/+0
| | | | | | | | | | Internal lun discovery has been removed since fc_transport integration. Short-circuiting for tape-devices in qla2x00_update_fcport() could inadvertently result in a blocked rport timing-out and its targets being reaped. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct issue where the rport's upcall was not being made ↵andrew.vasquez@qlogic.com2006-01-263-9/+4
| | | | | | | | | | | | | | | after relogin. A target can LOGO an initiator at any time (i.e. during I/O, due to a controller hicup, or as a simple authentication mechanism after an initial CDB command), when this occurs, the driver attempts to relogin (PLOGI) to the device via the DPC thread. Add code to make the appropriate upcall to the FC transport layer (fc_remote_port_add()) upon successful completion of the PLOGI. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct synchronization issues during rport addition/deletion.andrew.vasquez@qlogic.com2006-01-265-34/+91
| | | | | | | | | | | | | | | | | The driver can typically detect port-loss during an interrupt context (i.e. via interrogation of a status IOCB's completion status [CS_PORT_LOGGED_OUT]. Due to the calling requirements of the fc_rport APIs, the driver would defer removal of the device to the default workqueue. If the work-item was preceded by an event which caused the port to obtain visibility (relogin successful, target re-logged into the topology), deferred removal could inadvertently drop the rport. The code also no longer defers removal via the default workqueue, instead opting for use of the driver's own DPC thread. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Update version number to 8.01.04-k.andrew.vasquez@qlogic.com2006-01-141-2/+2
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Disable port-type RSCN handling via driver state-machine.andrew.vasquez@qlogic.com2006-01-144-2/+11
| | | | | | | | | | | | | | | Given the semantic changes in both the device-model and fc-transport APIs, the driver's handling of port-type RSCNs via a series of ADISCs and PLOGIs can cause series of badness ranging from unexpectedly device loss to devices not being discovered. In the interim, disable (via a module-parameter) this feature and allow RSCN management to continue to occur within the driver's DPC thread. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Kconfig update: Add URL to download firmware images.andrew.vasquez@qlogic.com2006-01-141-0/+4
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct setting of FDMI supported/current port speed.andrew.vasquez@qlogic.com2006-01-141-5/+2
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct execution-throttle setting for ISP24xx.andrew.vasquez@qlogic.com2006-01-141-0/+2
| | | | | | | | | Similarly to other ISPs, set execution throttle to maximum allowed value since 'throttling' is done on a per-lun basis via queue-depth. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Collapse load RISC RAM implementations.andrew.vasquez@qlogic.com2006-01-143-101/+15
| | | | | | | | Simplify essentially duplicate load RISC RAM implementation in qla2x00_load_ram_ext() and qla2x00_load_ram(). Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct swing/emphasis settings for ISP24XX.andrew.vasquez@qlogic.com2006-01-141-3/+5
| | | | | | | | | Swing/emphasis settings in NVRAM were not being honoured due to the driver not converting the serial-link options from LE to host-endian format. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct issue where portstate does not transition during ↵andrew.vasquez@qlogic.com2006-01-141-0/+3
| | | | | | | | | | | | loop-resync. If the Get Port Database call fails during local-loop update, then schedule the DPC routine to perform a rescan as the firmware would have updated the Get ID List port-entries of their new state. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Update firmware-dump procedure for ISP24xx.andrew.vasquez@qlogic.com2006-01-142-54/+55
| | | | | | | | Small changes to register retrieval and order as per latest firmware specification. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Re-enable flash-part write protection on ISP24xx boards.andrew.vasquez@qlogic.com2006-01-141-0/+3
| | | | | | | | Driver would not correctly re-enable the write-protection bits of the flash part after updates. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct excessive delay during LOAD-RISC-RAM mailbox command.andrew.vasquez@qlogic.com2006-01-141-1/+3
| | | | | | | | | | | | | | | | | | | | | | | | | | | | Problem report (against 2.4.x driver) from Jeff Layton <jlayton@redhat.com>: An OEM noticed that the U6 qla2200 driver would hang for around 2 minutes at boot time and then proceed normally. I found that the delay was occurring when loading the new firmware into the card, and was due to a schedule_timeout(10) added to the bottom of the polling loop. Some testing showed that the load ram operation on the card was very quick (on the order of a couple of jiffies), but the sleep in the polling loop was making each operation take around 25-30. The attached patch corrects this by making it skip sleeping during the load ram operation, since I believe we only do that when the module is plugged in. It also skips sleeping if the mbox_int flag got set during the current loop. This corrected the hang on my test setup, and OEM also confirmed that it corrected the problem for them. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Use msleep() as delay during ISP polling.andrew.vasquez@qlogic.com2006-01-141-1/+1
| | | | | | | | | | Mailbox commands are polled for completion during ISP initialization. During potentially 'long' mailbox commands (i.e. fabric login), we really don't want a busy-wait delay to potentially trigger a (benign) soft-lockup BUG(). Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Drop noisy 'UNDERRUN' status message.andrew.vasquez@qlogic.com2006-01-141-5/+6
| | | | | | | | | There's no point in displaying the message during a valid underrun case. Limit the message to potentially problematic cases. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct FC4 feature assignment during RFF_ID.andrew.vasquez@qlogic.com2006-01-141-0/+1
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Reference proper node/port names in fc_host class.andrew.vasquez@qlogic.com2006-01-141-2/+2
| | | | | | | | | | The initial-control-block references are not always correct as the use-node-name qualifier during NVRAM configuration will cause the firmware to use the portname as a base for the nodename. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Kconfig: two fixesAndrew Vasquez2006-01-122-9/+13
| | | | | | | | | Original From: Adrian Bunk Here's a composite patch with Adrian's original additions and help-text with the new Kconfig variable SCSI_QLA_FC. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* Merge by hand (conflicts in scsi_lib.c)James Bottomley2005-12-163-12/+19
|\ | | | | | | | | | | | | | | This merge is pretty extensive. The conflict is over the new req->retries parameter, so I had to change the prototype to scsi_setup_blk_pc_cmnd() and the usage in sd, sr and st. Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] qla2xxx: Correct short-WRITE status handling.Andrew Vasquez2005-12-071-0/+15
| | | | | | | | | | | | | | | | Properly check FC_RESID for any non-transfered bytes regardless of firmware completion status. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
| * [SCSI] qla2xxx: Correct mis-handling of AENs.Andrew Vasquez2005-12-072-12/+4
| | | | | | | | | | | | | | | | | | | | | | | | A regression in a recent change 33135aa2a568ec1a30e734f18e5315e10516e4f3 caused the driver to mistakenly drop handling of AENs. Due to the incorrect handling, ports would not reappear after RSCNs and LIPs. Drops unused/incorrect compound #define from qla_def.h. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [SCSI] qla2xxx: fix compile error caused by pci_dev.owner moveJames Bottomley2005-12-141-1/+3
| | | | | | | | Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [SCSI] qla2xxx: Resync with latest released ISP24xx firmware -- 4.00.16.Andrew Vasquez2005-12-141-0/+12376
| | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [SCSI] qla2xxx: Add support for embedded ISP24xx firmware.Andrew Vasquez2005-12-144-55/+202
| | | | | | | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* | [SCSI] qla2xxx: Add full firmware(-request) hotplug support for all ISPs.Andrew Vasquez2005-12-147-98/+348
|/ | | | | | | | | | | | | | | | | | | | Transition driver to exclusively use the request_firmware() interfaces to retrieve firmware-blobs from user-space. This will be the default behaviour going forward until the embedded firmware-binary images are removed from the upstream kernel. Upon request, the driver caches the firmware image until the driver is unloaded. NOTE: The option is present to allow the user to continue to use the firmware-loader modules, but, should be considered deprecated. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Rejections fixed up and Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Update version number to 8.01.03-k.Andrew Vasquez2005-11-091-2/+2
| | | | | Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>
* [SCSI] qla2xxx: Correct ISP24xx soft-reset handling.Andrew Vasquez2005-11-092-7/+8
| | | | | | | | | | | | | A driver must wait 100us before attempting an MMIO operation to the RISC after a soft-reset has been initiated. A similar delay was needed with earlier ISPs. Note: a PCI config-space read is used to flush the MMIO write to the ISP, since the ISP's state machines are unable to respond to any MMIO read during the reset process. Signed-off-by: Andrew Vasquez <andrew.vasquez@qlogic.com> Signed-off-by: James Bottomley <James.Bottomley@SteelEye.com>