Skip to contentSkip to conversation

lpfc 8.2.5 : Add MSI-X single message support

PATCH New James Smart 1 participant 1 message Feb 8, 2008

Subsystems (2)
lore
Share & tools
lore
#0 lore raw

PATCH 3/6 lpfc 8.2.5 : Add MSI-X single message support

Add MSI-X single message support

---

 lpfc.h      |   10 +++++-
 lpfc_attr.c |    6 ++-
 lpfc_init.c |   97 ++++++++++++++++++++++++++++++++++++++++++++++++------------
 3 files changed, 91 insertions(+), 22 deletions(-)
drivers/scsi/lpfc/lpfc_attr.c +4 -2
diff -upNr a/drivers/scsi/lpfc/lpfc_attr.c b/drivers/scsi/lpfc/lpfc_attr.c
@@ -1592,9 +1592,11 @@ LPFC_ATTR_RW(poll_tmo, 10, 1, 255,
 #		support this feature
 #       0  = MSI disabled (default)
 #       1  = MSI enabled
-# Value range is [0,1]. Default value is 0.
+#	2  = MSI-X enabled
+# Value range is [0,2]. Default value is 0.
 */
-LPFC_ATTR_R(use_msi, 0, 0, 1, "Use Message Signaled Interrupts, if possible");
+LPFC_ATTR_R(use_msi, 0, 0, 2, "Use Message Signaled Interrupts (1) or "
+	    "MSI-X (2), if possible");
 
 /*
 # lpfc_enable_hba_reset: Allow or prevent HBA resets to the hardware.
drivers/scsi/lpfc/lpfc.h +9 -1
diff -upNr a/drivers/scsi/lpfc/lpfc.h b/drivers/scsi/lpfc/lpfc.h
@@ -392,6 +392,13 @@ enum hba_temp_state {
 	HBA_OVER_TEMP
 };
 
+enum intr_type_t {
+	NONE = 0,
+	INTx,
+	MSI,
+	MSIX,
+};
+
 struct lpfc_hba {
 	struct lpfc_sli sli;
 	uint32_t sli_rev;		/* SLI2 or SLI3 */
@@ -555,7 +562,8 @@ struct lpfc_hba {
 	mempool_t *nlp_mem_pool;
 
 	struct fc_host_statistics link_stats;
-	uint8_t using_msi;
+	enum intr_type_t intr_type;
+	struct msix_entry msix_entries[1];
 
 	struct list_head port_list;
 	struct lpfc_vport *pport;	/* physical lpfc_vport pointer */
drivers/scsi/lpfc/lpfc_init.c +78 -19

137 lines not on this page · raw message