diff options
author | James Smart <james.smart@emulex.com> | 2010-12-15 17:57:33 -0500 |
---|---|---|
committer | James Bottomley <James.Bottomley@suse.de> | 2010-12-21 13:37:20 -0500 |
commit | 70f3c073362ef7b5e55c92b83eb2dd9a7fb4e9bf (patch) | |
tree | dae363921765b9e61c5304b36a76126f1e8335f9 /drivers/scsi/lpfc/lpfc_sli.c | |
parent | be858b65cf9701e75bc49ed38c56e5b51ff281cd (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.c | 18 |
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: |