aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/scsi/lpfc/lpfc_sli.c
diff options
context:
space:
mode:
authorJames Smart <james.smart@emulex.com>2010-12-15 17:57:33 -0500
committerJames Bottomley <James.Bottomley@suse.de>2010-12-21 13:37:20 -0500
commit70f3c073362ef7b5e55c92b83eb2dd9a7fb4e9bf (patch)
treedae363921765b9e61c5304b36a76126f1e8335f9 /drivers/scsi/lpfc/lpfc_sli.c
parentbe858b65cf9701e75bc49ed38c56e5b51ff281cd (diff)
[SCSI] lpfc 8.3.20: Implement the FC and SLI async event handlers
Implement the FC and SLI async event handlers: - Updated MQ_CREATE_EXT mailbox structure to include fc and SLI async events. - Added the SLI trailer code. - Split physical field into type and number to reflect latest SLI spec. - Changed lpfc_acqe_fcoe to lpfc_acqe_fip to reflect latest Spec changes. - Added lpfc_acqe_fc_la structure for FC link attention async events. - Added lpfc_acqe_sli structure for sli async events. - Added lpfc_sli4_async_fc_evt routine to handle fc la async events. - Added lpfc_sli4_async_sli routine to handle sli async events. - Moved LPFC_TRAILER_CODE_FC to be handled by its own handler function. Signed-off-by: Alex Iannicelli <alex.iannicelli@emulex.com> Signed-off-by: James Smart <james.smart@emulex.com> Signed-off-by: James Bottomley <James.Bottomley@suse.de>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_sli.c')
-rw-r--r--drivers/scsi/lpfc/lpfc_sli.c18
1 files changed, 11 insertions, 7 deletions
diff --git a/drivers/scsi/lpfc/lpfc_sli.c b/drivers/scsi/lpfc/lpfc_sli.c
index 7509de2f4566..8df959ea9669 100644
--- a/drivers/scsi/lpfc/lpfc_sli.c
+++ b/drivers/scsi/lpfc/lpfc_sli.c
@@ -10561,16 +10561,20 @@ lpfc_mq_create(struct lpfc_hba *phba, struct lpfc_queue *mq,
10561 length, LPFC_SLI4_MBX_EMBED); 10561 length, LPFC_SLI4_MBX_EMBED);
10562 10562
10563 mq_create_ext = &mbox->u.mqe.un.mq_create_ext; 10563 mq_create_ext = &mbox->u.mqe.un.mq_create_ext;
10564 bf_set(lpfc_mbx_mq_create_ext_num_pages, &mq_create_ext->u.request, 10564 bf_set(lpfc_mbx_mq_create_ext_num_pages,
10565 mq->page_count); 10565 &mq_create_ext->u.request, mq->page_count);
10566 bf_set(lpfc_mbx_mq_create_ext_async_evt_link, &mq_create_ext->u.request, 10566 bf_set(lpfc_mbx_mq_create_ext_async_evt_link,
10567 1); 10567 &mq_create_ext->u.request, 1);
10568 bf_set(lpfc_mbx_mq_create_ext_async_evt_fcfste, 10568 bf_set(lpfc_mbx_mq_create_ext_async_evt_fip,
10569 &mq_create_ext->u.request, 1); 10569 &mq_create_ext->u.request, 1);
10570 bf_set(lpfc_mbx_mq_create_ext_async_evt_group5, 10570 bf_set(lpfc_mbx_mq_create_ext_async_evt_group5,
10571 &mq_create_ext->u.request, 1); 10571 &mq_create_ext->u.request, 1);
10572 bf_set(lpfc_mq_context_cq_id, &mq_create_ext->u.request.context, 10572 bf_set(lpfc_mbx_mq_create_ext_async_evt_fc,
10573 cq->queue_id); 10573 &mq_create_ext->u.request, 1);
10574 bf_set(lpfc_mbx_mq_create_ext_async_evt_sli,
10575 &mq_create_ext->u.request, 1);
10576 bf_set(lpfc_mq_context_cq_id,
10577 &mq_create_ext->u.request.context, cq->queue_id);
10574 bf_set(lpfc_mq_context_valid, &mq_create_ext->u.request.context, 1); 10578 bf_set(lpfc_mq_context_valid, &mq_create_ext->u.request.context, 1);
10575 switch (mq->entry_count) { 10579 switch (mq->entry_count) {
10576 default: 10580 default: