linux/drivers/scsi/lpfc
George Kadianakis 8605c46c17 [SCSI] lpfc: restore MSI-X/MSI support
A Gentoo bug report [1] showed that as of 2.6.31 lpfc only uses INTx interrupts.
This patch restores lpfc's ability to support MSI-X/MSI interrupts that the
"Addition of SLI4 Interface - Base Support" patch [2] broke.
It reestablishes MSI-X as the default interrupt method and in case MSI-X is not
supported lpfc_sli{4,}_enable_intr fallbacks to MSI and then to INTx.

[1]: http://bugs.gentoo.org/show_bug.cgi?id=296319
[2]: commit da0436e915

[James Smart:
Background:
Nothing Broke. This was intended.

We had originally enabled MSI-X by default, but in qualification within the
last 12 months, we encountered a major catch-22:

There were at least 4 platforms, from 2 major OEMs, that :
- Say they support MSI-X - platform routines work and act as if they do.
- We enable it, generate a test interrupt to check they really do deliver it,
and it works.
- But shortly after attachment, the system hangs or loses interrupts,
resulting in a bad system behavior.

Given the distro's picking up the 2.6.32 kernel, we had to stick with a
default of MSI-X off, with user-enabled MSI-X as these platforms couldn't get
fixed.

However, we're also now encountering platforms that require MSI-X and never
INTx, so we must change. It's desired also for also for performance reasons.

So - now (2.6.33) is the right time to re-enable MSI-X by default.
]
[jejb: fix up comment on default values]

Signed-off-by:  George Kadianakis <desnacked@gmail.com>
Acked-by: James Smart  <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@suse.de>
2010-01-18 16:51:59 -06:00
..
lpfc_attr.c [SCSI] lpfc: restore MSI-X/MSI support 2010-01-18 16:51:59 -06:00
lpfc_bsg.c [SCSI] lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging 2009-12-04 12:01:41 -06:00
lpfc_compat.h [PATCH] turn many #if $undefined_string into #ifdef $undefined_string 2005-07-27 16:26:08 -07:00
lpfc_crtn.h [SCSI] lpfc 8.3.5: fix fcp command polling, add FIP mode, performance optimisations and devloss timout fixes 2009-12-04 12:01:42 -06:00
lpfc_ct.c [SCSI] lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging 2009-12-04 12:01:41 -06:00
lpfc_debugfs.c [SCSI] lpfc 8.3.5: fix sysfs parameters, vport creation and other bugs and update logging 2009-12-04 12:01:41 -06:00
lpfc_debugfs.h [SCSI] lpfc 8.3.0 : Hook lpfc's debugfs into Kconfig 2008-12-29 11:24:28 -06:00
lpfc_disc.h [SCSI] lpfc 8.3.6 : FC Protocol Fixes 2009-12-04 12:01:51 -06:00
lpfc_els.c [SCSI] lpfc 8.3.7: Fix discovery failures. 2010-01-04 11:39:46 -06:00
lpfc_hbadisc.c [SCSI] lpfc: fix file permissions 2010-01-17 12:14:03 -06:00
lpfc_hw4.h [SCSI] lpfc: fix file permissions 2010-01-17 12:14:03 -06:00
lpfc_hw.h [SCSI] lpfc 8.3.6 : Hardware related fixes and changes 2009-12-04 12:01:52 -06:00
lpfc_init.c [SCSI] lpfc 8.3.7: Fix discovery failures. 2010-01-04 11:39:46 -06:00
lpfc_logmsg.h [SCSI] lpfc 8.3.2 : Miscellaneous Changes 2009-06-08 11:26:01 -05:00
lpfc_mbox.c [SCSI] lpfc 8.3.6 : FCoE Protocol Fixes 2009-12-04 12:01:50 -06:00
lpfc_mem.c [SCSI] lpfc 8.3.4: Various SLI3 fixes 2009-08-22 17:51:57 -05:00
lpfc_nl.h [SCSI] lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support 2009-08-22 17:51:59 -05:00
lpfc_nportdisc.c [SCSI] lpfc 8.3.6 : FC Protocol Fixes 2009-12-04 12:01:51 -06:00
lpfc_scsi.c [SCSI] lpfc 8.3.6 : Fix critical errors 2009-12-04 12:01:52 -06:00
lpfc_scsi.h [SCSI] lpfc 8.3.2 : Addition of SLI4 Interface - Base Support 2009-06-08 11:21:29 -05:00
lpfc_sli4.h [SCSI] lpfc 8.3.7: Fix hardware/SLI relates issues 2010-01-04 11:39:44 -06:00
lpfc_sli.c [SCSI] lpfc 8.3.7: Fix hardware/SLI relates issues 2010-01-04 11:39:44 -06:00
lpfc_sli.h [SCSI] lpfc 8.3.6 : FC Protocol Fixes 2009-12-04 12:01:51 -06:00
lpfc_version.h [SCSI] lpfc 8.3.7: Update Driver version to 8.3.7 2010-01-04 11:39:47 -06:00
lpfc_vport.c [SCSI] lpfc 8.3.7: Fix discovery failures. 2010-01-04 11:39:46 -06:00
lpfc_vport.h [SCSI] lpfc 8.2.8 v2 : Add statistical reporting control and additional fc vendor events 2008-10-13 09:28:57 -04:00
lpfc.h [SCSI] lpfc 8.3.6 : FC Protocol Fixes 2009-12-04 12:01:51 -06:00
Makefile [SCSI] lpfc 8.3.4: Add bsg (SGIOv4) support for ELS/CT support 2009-08-22 17:51:59 -05:00