[SCSI] lpfc 8.3.0 : Add active interrupt test for enabling MSI/MSI-X/INTx
authorJames Smart <James.Smart@Emulex.Com>
Fri, 5 Dec 2008 03:39:35 +0000 (22:39 -0500)
committerJames Bottomley <James.Bottomley@HansenPartnership.com>
Mon, 29 Dec 2008 17:24:27 +0000 (11:24 -0600)
commit5b75da2fa2c9570c3c3dbb2f63cae5b4183e0ca3
tree618f67c4fd9cda1d60aa24d04262e4fb3ee2911f
parenteaf15d5b5605e1a403f631489de30a49fd66905d
[SCSI] lpfc 8.3.0 : Add active interrupt test for enabling MSI/MSI-X/INTx

Per the recent discussions at the Linux Plumbers Conference, when
enabling MSI or MSI-X, generate a test interrupt to verify the
interrupt routing is working properly.  If the test interrupt fails,
fall back to MSI first, and if that fails as well, to INTx.  If the
interrupt test fails with INTx, log an error and fail the PCI probe.

Also changed the use of spin_(lock|unlock) to the _irq(save|restore)
variants in the interrupt handlers because with multi-message MSI-X,
both interrupt handlers can now run in parallel.

Signed-off-by: James Smart <James.Smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
drivers/scsi/lpfc/lpfc.h
drivers/scsi/lpfc/lpfc_init.c
drivers/scsi/lpfc/lpfc_mbox.c
drivers/scsi/lpfc/lpfc_sli.c