* [PATCH 8/9] lpfc 8.1.3 : Adding hbaapi event support using new fc transport events api
@ 2006-02-22 17:34 James Smart
0 siblings, 0 replies; 2+ messages in thread
From: James Smart @ 2006-02-22 17:34 UTC (permalink / raw)
To: linux-scsi
Adding hbaapi event support using new fc transport events api
Requires the following patch, which adds event support to the FC transport:
http://marc.theaimsgroup.com/?l=linux-scsi&m=114062467404472&w=2
Signed-off-by: James Smart <James.Smart@emulex.com>
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -320,6 +320,8 @@ lpfc_linkdown(struct lpfc_hba * phba)
spin_unlock_irq(phba->host->host_lock);
}
+ fc_host_event_post(phba->host, FCH_EVT_LINKDOWN, 0);
+
/* Clean up any firmware default rpi's */
if ((mb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL))) {
lpfc_unreg_did(phba, 0xffffffff, mb);
@@ -415,6 +417,7 @@ lpfc_linkup(struct lpfc_hba * phba)
phba->fc_ns_retry = 0;
spin_unlock_irq(phba->host->host_lock);
+ fc_host_event_post(phba->host, FCH_EVT_LINKUP, 0);
node_list[0] = &phba->fc_plogi_list;
node_list[1] = &phba->fc_adisc_list;
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -561,6 +561,7 @@ lpfc_handle_eratt(struct lpfc_hba * phba
lpfc_offline(phba);
phba->hba_state = LPFC_HBA_ERROR;
+ fc_host_event_post(phba->host, FCH_EVT_VENDOR_UNIQUE, 0);
lpfc_hba_down_post(phba);
}
}
@@ -1333,6 +1334,8 @@ lpfc_online(struct lpfc_hba * phba)
if (lpfc_sli_hba_setup(phba)) /* Initialize the HBA */
return 1;
+ fc_host_event_post(phba->host, FCH_EVT_PORT_ONLINE, 0);
+
spin_lock_irq(phba->host->host_lock);
phba->fc_flag &= ~FC_OFFLINE_MODE;
spin_unlock_irq(phba->host->host_lock);
@@ -1354,6 +1357,8 @@ lpfc_offline(struct lpfc_hba * phba)
if (phba->fc_flag & FC_OFFLINE_MODE)
return 0;
+ fc_host_event_post(phba->host, FCH_EVT_PORT_OFFLINE, 0);
+
psli = &phba->sli;
pring = &psli->ring[psli->fcp_ring];
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -2383,6 +2383,7 @@ lpfc_els_rcv_rscn(struct lpfc_hba * phba
uint32_t *lp;
IOCB_t *icmd;
uint32_t payload_len, cmd;
+ int i;
icmd = &cmdiocb->iocb;
pcmd = (struct lpfc_dmabuf *) cmdiocb->context2;
@@ -2401,6 +2402,9 @@ lpfc_els_rcv_rscn(struct lpfc_hba * phba
phba->brd_no,
phba->fc_flag, payload_len, *lp, phba->fc_rscn_id_cnt);
+ for (i = 0; i < payload_len/sizeof (uint32_t); i++)
+ fc_host_event_post(phba->host, FCH_EVT_RSCN, lp[i]);
+
/* If we are about to begin discovery, just ACC the RSCN.
* Discovery processing will satisfy it.
*/
^ permalink raw reply [flat|nested] 2+ messages in thread
* [PATCH 8/9] lpfc 8.1.3: Adding hbaapi event support using new fc transport events api
@ 2006-03-01 3:33 Jamie Wellnitz
0 siblings, 0 replies; 2+ messages in thread
From: Jamie Wellnitz @ 2006-03-01 3:33 UTC (permalink / raw)
To: linux-scsi
Adding hbaapi event support using new fc transport events api
Requires the following patch, which adds event support to the FC transport:
http://marc.theaimsgroup.com/?l=linux-scsi&m=114062467404472&w=2
Signed-off-by: Jamie Wellnitz <Jamie.Wellnitz@emulex.com>
--- a/drivers/scsi/lpfc/lpfc_hbadisc.c
+++ b/drivers/scsi/lpfc/lpfc_hbadisc.c
@@ -320,6 +320,8 @@ lpfc_linkdown(struct lpfc_hba * phba)
spin_unlock_irq(phba->host->host_lock);
}
+ fc_host_event_post(phba->host, FCH_EVT_LINKDOWN, 0);
+
/* Clean up any firmware default rpi's */
if ((mb = mempool_alloc(phba->mbox_mem_pool, GFP_KERNEL))) {
lpfc_unreg_did(phba, 0xffffffff, mb);
@@ -415,6 +417,7 @@ lpfc_linkup(struct lpfc_hba * phba)
phba->fc_ns_retry = 0;
spin_unlock_irq(phba->host->host_lock);
+ fc_host_event_post(phba->host, FCH_EVT_LINKUP, 0);
node_list[0] = &phba->fc_plogi_list;
node_list[1] = &phba->fc_adisc_list;
--- a/drivers/scsi/lpfc/lpfc_init.c
+++ b/drivers/scsi/lpfc/lpfc_init.c
@@ -561,6 +561,7 @@ lpfc_handle_eratt(struct lpfc_hba * phba
lpfc_offline(phba);
phba->hba_state = LPFC_HBA_ERROR;
+ fc_host_event_post(phba->host, FCH_EVT_VENDOR_UNIQUE, 0);
lpfc_hba_down_post(phba);
}
}
@@ -1333,6 +1334,8 @@ lpfc_online(struct lpfc_hba * phba)
if (lpfc_sli_hba_setup(phba)) /* Initialize the HBA */
return 1;
+ fc_host_event_post(phba->host, FCH_EVT_PORT_ONLINE, 0);
+
spin_lock_irq(phba->host->host_lock);
phba->fc_flag &= ~FC_OFFLINE_MODE;
spin_unlock_irq(phba->host->host_lock);
@@ -1354,6 +1357,8 @@ lpfc_offline(struct lpfc_hba * phba)
if (phba->fc_flag & FC_OFFLINE_MODE)
return 0;
+ fc_host_event_post(phba->host, FCH_EVT_PORT_OFFLINE, 0);
+
psli = &phba->sli;
pring = &psli->ring[psli->fcp_ring];
--- a/drivers/scsi/lpfc/lpfc_els.c
+++ b/drivers/scsi/lpfc/lpfc_els.c
@@ -2383,6 +2383,7 @@ lpfc_els_rcv_rscn(struct lpfc_hba * phba
uint32_t *lp;
IOCB_t *icmd;
uint32_t payload_len, cmd;
+ int i;
icmd = &cmdiocb->iocb;
pcmd = (struct lpfc_dmabuf *) cmdiocb->context2;
@@ -2401,6 +2402,9 @@ lpfc_els_rcv_rscn(struct lpfc_hba * phba
phba->brd_no,
phba->fc_flag, payload_len, *lp, phba->fc_rscn_id_cnt);
+ for (i = 0; i < payload_len/sizeof (uint32_t); i++)
+ fc_host_event_post(phba->host, FCH_EVT_RSCN, lp[i]);
+
/* If we are about to begin discovery, just ACC the RSCN.
* Discovery processing will satisfy it.
*/
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-03-01 3:33 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-02-22 17:34 [PATCH 8/9] lpfc 8.1.3 : Adding hbaapi event support using new fc transport events api James Smart
-- strict thread matches above, loose matches on Subject: below --
2006-03-01 3:33 [PATCH 8/9] lpfc 8.1.3: " Jamie Wellnitz
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).