summaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_init.c
Commit message (Collapse)AuthorAgeFilesLines
* lpfc: Add support for using block multi-queueJames Smart2015-06-131-1/+3
| | | | | | | | | | | | | | | With blk-mq support in the mid-layer, lpfc can do IO steering based on the information in the request tag. This patch allows lpfc to use blk-mq if enabled. If not enabled, we fall back into the emulex-internal affinity mappings. This feature can be turned on via CONFIG_SCSI_MQ_DEFAULT or passing scsi_mod.use_blk_mq=Y as a parameter to the kernel. Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: James Smart <james.smart@avagotech.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix crash in vport_delete.James Smart2015-06-051-1/+7
| | | | | | | | | | We inadvertantly took the path to recreate the vport while in a driver teardown path Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: James Smart <james.smart@avagotech.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix to remove IRQF_SHARED flag for MSI/MSI-X vectors.James Smart2015-06-051-6/+6
| | | | | | | Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: James Smart <james.smart@avagotech.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Add support for ELS LCB.James Smart2015-06-051-0/+2
| | | | | | | | | Also has a little whitespace fixing. Signed-off-by: Dick Kennedy <dick.kennedy@avagotech.com> Signed-off-by: James Smart <james.smart@avagotech.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Update copyright to 2015James Smart2015-04-101-1/+1
| | | | | | | | | Update copyright to 2015 Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix premature release of rpi bit in bitmaskJames Smart2015-04-101-2/+22
| | | | | | | | | | | | | | | | Currently, the driver plays off the fact that older sli4 adapters have a different rpi access pattern that allowed for the rpi reference to be released earlier in the teardown sequence, allowing the driver to recycle the rpi value sooner. Newer sli4 adapters have a different access pattern that requires us to wait for a later mailbox completion. This changes the put call location on the newer sli4 adapters. Symptoms of the error are "0110 ELS" and the "0372 iotag" errors. Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Parse the new 20G, 25G and 40G link speeds in the lpfc driverJames Smart2015-04-101-12/+26
| | | | | | | Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix setting of EQ (interrupt) delay MultiplierJames Smart2015-04-101-0/+8
| | | | | | | Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix host reset escalation killing all IOs.James Smart2015-04-101-3/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Fix host reset escalation killing all IOs. SLI-3 adapters will use a new host template. The template differs from SLI-4 adapters in that it does not have an eh_host_reset_handler. Lpfc has traditionally never had a host_reset. The host reset handler was added when we ran into a stuck hardware condition on a SLI-4 adapter. The host_reset will reset and reinit the pci function, clearing the hardware condition. Unfortunately, the host reset handler uses attach/detach code paths, which makes scsi_add_host() and scsi_remove_host() calls. Meaning, a host_reset will completely remove the scsi_host from the system. As a new call to scsi_add_host() is made, the shost# changes, which results in completely new scsi_devices and device names. All the older scsi devices on the old shost# are now orphaned and unrecoverable. We realize we need to re-implement the host_reset_handler so the scsi_host stays registered across the host_reset, but that will be a rather lengthy effort. In the short term, we had an immediate need to restore the SLI-3 devices to their working behavior, with the easiest path being to remove their host_reset handler. Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Add Lancer Temperature Event support to the lpfc driverJames Smart2015-04-101-55/+124
| | | | | | | | | This will detect and send an async event if overtemp is detected Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: Fix the iteration count to match the 30 sec comment in the routine ↵James Smart2015-04-101-1/+1
| | | | | | | | | lpfc_pci_function_reset Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-by: Hannes Reinecke <hare@suse.de> Signed-off-by: James Bottomley <JBottomley@Odin.com>
* lpfc: fix low priority issues from fortify source code scanJames Smart2014-09-161-2/+0
| | | | | | | | Fixed Low priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: fix high priority issues from fortify source code scanJames Smart2014-09-161-13/+19
| | | | | | | | Fixed High priority issues from lpfc given by fortify source code scan. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: fix IP Reset processing - wait for RDY before proceedingJames Smart2014-09-161-62/+47
| | | | | | | | Fix IP Reset processing - wait for RDY before proceeding Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: fix discovery timeout during nameserver loginJames Smart2014-09-161-0/+15
| | | | | | | | Fix discovery timeout during nameserver login Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Use pci_enable_msix_range() instead of pci_enable_msix()Alexander Gordeev2014-09-161-22/+17
| | | | | | | | | | | | | As result of deprecation of MSI-X/MSI enablement functions pci_enable_msix() and pci_enable_msi_block() all drivers using these two interfaces need to be updated to use the new pci_enable_msi_range() or pci_enable_msi_exact() and pci_enable_msix_range() or pci_enable_msix_exact() interfaces. Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Reviewed-by: James Smart <james.smart@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: use dma_zalloc_coherentJoe Perches2014-09-161-15/+7
| | | | | | | | Use the zeroing function instead of dma_alloc_coherent & memset(,0,) Signed-off-by: Joe Perches <joe@perches.com> Reviewed-by: James Smart <james.smart@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: mark functions as static in lpfc/lpfc_init.cRashika Kheria2014-09-161-3/+3
| | | | | | | | | | | | | | | Mark functions as static in lpfc/lpfc_init.c because they are not used outside this file. This eliminates the following warning in lpfc/lpfc_init.c: drivers/scsi/lpfc/lpfc_init.c:652:1: warning: no previous prototype for ‘lpfc_hba_init_link’ [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:753:1: warning: no previous prototype for ‘lpfc_hba_down_link’ [-Wmissing-prototypes] drivers/scsi/lpfc/lpfc_init.c:3434:1: warning: no previous prototype for ‘lpfc_sli4_fcf_redisc_wait_tmo’ [-Wmissing-prototypes] Signed-off-by: Rashika Kheria <rashika.kheria@gmail.com> Reviewed-by: Josh Triplett <josh@joshtriplett.org> Reviewed-by: James Smart <james.smart@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Remove superfluous call to pci_disable_msix()Alexander Gordeev2014-07-291-3/+6
| | | | | | | | | There is no need to call pci_disable_msix() in case the previous call to pci_enable_msix() failed Signed-off-by: Alexander Gordeev <agordeev@redhat.com> Acked-by: James Smart <james.smart@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: mark old devices as obsoleteJames Smart2014-06-021-34/+49
| | | | | | Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Fix for cleaning up stale ring flag and sp_queue_event entriesJames Smart2014-06-021-0/+48
| | | | | | | | Fix for cleaning up stale ring flag and sp_queue_event entries. Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Update Copyright on changed filesJames Smart2014-06-021-1/+1
| | | | | | | | Update Copyright on changed files Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Convert runtime references to old xlane cfg param to fof cfg paramJames Smart2014-06-021-5/+4
| | | | | | | | Convert runtime references to old xlane cfg param to fof cfg param Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Fix SLI4 s abort loop to process all FCP rings and under ring_lockJames Smart2014-06-021-18/+5
| | | | | | | | Fix SLI4 s abort loop to process all FCP rings and under ring_lock Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Fixed kernel panic in lpfc_abort_handlerJames Smart2014-06-021-1/+4
| | | | | | | | Fixed kernel panic in lpfc_abort_handler Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Fix locking for postbufq when freeingJames Smart2014-06-021-3/+12
| | | | | | | | Fix locking for postbufq when freeing Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* lpfc: Fix locking for lpfc_hba_down_postJames Smart2014-06-021-19/+60
| | | | | | | | Fix locking for lpfc_hba_down_post Signed-off-by: James Smart <james.smart@emulex.com> Reviewed-By: Dick Kennedy <dick.kennedy@emulex.com> Signed-off-by: Christoph Hellwig <hch@lst.de>
* [SCSI] lpfc 8.3.45: Fixed crash during driver unload.James Smart2014-03-151-2/+7
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fixed driver error messages after firmware downloadJames Smart2014-03-151-8/+14
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Fix sysfs buffer overrun in read of lpfc_fcp_cpu_map for ↵James Smart2014-03-151-0/+2
| | | | | | | 128 CPUs. Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.45: Incorporated support of a low-latency io pathJames Smart2014-03-151-6/+235
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.44: Fix kernel panics from corrupted ndlp listJames Smart2014-03-151-0/+3
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* Merge branch 'for-linus' of ↵Linus Torvalds2013-11-151-3/+0
|\ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial Pull trivial tree updates from Jiri Kosina: "Usual earth-shaking, news-breaking, rocket science pile from trivial.git" * 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jikos/trivial: (23 commits) doc: usb: Fix typo in Documentation/usb/gadget_configs.txt doc: add missing files to timers/00-INDEX timekeeping: Fix some trivial typos in comments mm: Fix some trivial typos in comments irq: Fix some trivial typos in comments NUMA: fix typos in Kconfig help text mm: update 00-INDEX doc: Documentation/DMA-attributes.txt fix typo DRM: comment: `halve' -> `half' Docs: Kconfig: `devlopers' -> `developers' doc: typo on word accounting in kprobes.c in mutliple architectures treewide: fix "usefull" typo treewide: fix "distingush" typo mm/Kconfig: Grammar s/an/a/ kexec: Typo s/the/then/ Documentation/kvm: Update cpuid documentation for steal time and pv eoi treewide: Fix common typo in "identify" __page_to_pfn: Fix typo in comment Correct some typos for word frequency clk: fixed-factor: Fix a trivial typo ...
| * SCSI: remove unnecessary pci_set_drvdata()Jingoo Han2013-10-141-3/+0
| | | | | | | | | | | | | | | | | | | | | | | | Since commit 0998d0631001288a5974afc0b2a5f568bcdecb4d (device-core: Ensure drvdata = NULL when no driver is bound), the driver core clears the driver data to NULL after device_release or on probe failure. Thus, it is not needed to manually clear the device driver data to NULL. Signed-off-by: Jingoo Han <jg1.han@samsung.com> Cc: James Bottomley <JBottomley@parallels.com> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
* | [SCSI] lpfc: remove unnecessary read of PCI_CAP_ID_EXPJon Mason2013-10-251-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | The PCIE capability offset is saved during PCI bus walking. It will remove an unnecessary search in the PCI configuration space if this value is referenced instead of reacquiring it. Also, pci_is_pcie is a better way of determining if the device is PCIE or not (as it uses the same saved PCIE capability offset). Signed-off-by: Jon Mason <jdmason@kudzu.us> Acked-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* | [SCSI] lpfc 8.3.42: Fixed inconsistent spin lock usage.James Smart2013-09-101-4/+4
| | | | | | | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* | [SCSI] lpfc 8.3.42: Fix WARN_ON when driver unloadsJames Smart2013-09-101-2/+8
| | | | | | | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* | [SCSI] lpfc 8.3.42: Avoided making pci bar ioremap call during dual-chute ↵James Smart2013-09-101-22/+12
| | | | | | | | | | | | | | WQ/RQ pci bar selection Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* | [SCSI] lpfc 8.3.42: Fix crash on driver load due to cpu affinity logicJames Smart2013-09-101-5/+23
| | | | | | | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* | [SCSI] lpfc 8.3.42: Fixed not able to log informational messages at early ↵James Smart2013-09-101-9/+3
|/ | | | | | | stage of driver init time Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc: Removed obsolete fcp_eq_count and fcp_wq_count driver attributesJames Smart2013-08-261-7/+0
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.41: Fixed support for 128 byte WQEsJames Smart2013-08-231-0/+1
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.41: Fixed max value of lpfc_lun_queue_depthJames Smart2013-08-231-10/+24
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.40: Update Copyrights to 2013 for 8.3.38, 8.3.39, and 8.3.40 ↵James Smart2013-06-261-1/+1
| | | | | | | modifications Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.40: Fixed a race condition between SLI host and port failed ↵James Smart2013-06-261-62/+35
| | | | | | | FCF rediscovery Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* [SCSI] lpfc 8.3.40: Fix lpfc_used_cpu to be more dynamicJames Smart2013-06-261-7/+23
| | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
* Merge branch 'misc' into for-linusJames Bottomley2013-05-101-99/+508
|\ | | | | | | Signed-off-by: James Bottomley <JBottomley@Parallels.com>
| * [SCSI] lpfc 8.3.39: Fixed driver vector mapping to CPU affinityJames Smart2013-05-021-7/+315
| | | | | | | | | | Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
| * [SCSI] lpfc 8.3.39: Fixed system panic during EEH recovery due to midlayer ↵James Smart2013-05-021-6/+6
| | | | | | | | | | | | | | acting on outstanding I/O Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>
| * [SCSI] lpfc 8.3.39: Fixed not returning FAILED status when SCSI invoking ↵James Smart2013-05-021-1/+1
| | | | | | | | | | | | | | host reset handler failed Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <JBottomley@Parallels.com>