diff options
author | James Smart <James.Smart@Emulex.Com> | 2009-05-22 14:53:21 -0400 |
---|---|---|
committer | James Bottomley <James.Bottomley@HansenPartnership.com> | 2009-06-08 12:26:19 -0400 |
commit | 21e9a0a5fbd2b7cb3ae29f6d491a30bc0e688422 (patch) | |
tree | d5ae35da0cdec82a78b814d907d630d57b5cc7ae /drivers/scsi/lpfc/lpfc_mbox.c | |
parent | f4b4c68f74dcd5da03df851090cad28ad4e8d7cc (diff) |
[SCSI] lpfc 8.3.2 : Persistent Vport Support
Add support for persistent vport definitions at creation at boot time
Also includes a few misc fixes for:
- conversion to vpi name from vport slang name
- couple of small mailbox references
- some additional discovery mods
Signed-off-by: James Smart <james.smart@emulex.com>
Signed-off-by: James Bottomley <James.Bottomley@HansenPartnership.com>
Diffstat (limited to 'drivers/scsi/lpfc/lpfc_mbox.c')
-rw-r--r-- | drivers/scsi/lpfc/lpfc_mbox.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/drivers/scsi/lpfc/lpfc_mbox.c b/drivers/scsi/lpfc/lpfc_mbox.c index 29fe5c17f4e8..b9b451c09010 100644 --- a/drivers/scsi/lpfc/lpfc_mbox.c +++ b/drivers/scsi/lpfc/lpfc_mbox.c | |||
@@ -41,6 +41,44 @@ | |||
41 | #include "lpfc_compat.h" | 41 | #include "lpfc_compat.h" |
42 | 42 | ||
43 | /** | 43 | /** |
44 | * lpfc_dump_static_vport - Dump HBA's static vport information. | ||
45 | * @phba: pointer to lpfc hba data structure. | ||
46 | * @pmb: pointer to the driver internal queue element for mailbox command. | ||
47 | * @offset: offset for dumping vport info. | ||
48 | * | ||
49 | * The dump mailbox command provides a method for the device driver to obtain | ||
50 | * various types of information from the HBA device. | ||
51 | * | ||
52 | * This routine prepares the mailbox command for dumping list of static | ||
53 | * vports to be created. | ||
54 | **/ | ||
55 | void | ||
56 | lpfc_dump_static_vport(struct lpfc_hba *phba, LPFC_MBOXQ_t *pmb, | ||
57 | uint16_t offset) | ||
58 | { | ||
59 | MAILBOX_t *mb; | ||
60 | void *ctx; | ||
61 | |||
62 | mb = &pmb->u.mb; | ||
63 | ctx = pmb->context2; | ||
64 | |||
65 | /* Setup to dump vport info region */ | ||
66 | memset(pmb, 0, sizeof(LPFC_MBOXQ_t)); | ||
67 | mb->mbxCommand = MBX_DUMP_MEMORY; | ||
68 | mb->un.varDmp.cv = 1; | ||
69 | mb->un.varDmp.type = DMP_NV_PARAMS; | ||
70 | mb->un.varDmp.entry_index = offset; | ||
71 | mb->un.varDmp.region_id = DMP_REGION_VPORT; | ||
72 | mb->un.varDmp.word_cnt = DMP_RSP_SIZE/sizeof(uint32_t); | ||
73 | mb->un.varDmp.co = 0; | ||
74 | mb->un.varDmp.resp_offset = 0; | ||
75 | pmb->context2 = ctx; | ||
76 | mb->mbxOwner = OWN_HOST; | ||
77 | |||
78 | return; | ||
79 | } | ||
80 | |||
81 | /** | ||
44 | * lpfc_dump_mem - Prepare a mailbox command for retrieving HBA's VPD memory | 82 | * lpfc_dump_mem - Prepare a mailbox command for retrieving HBA's VPD memory |
45 | * @phba: pointer to lpfc hba data structure. | 83 | * @phba: pointer to lpfc hba data structure. |
46 | * @pmb: pointer to the driver internal queue element for mailbox command. | 84 | * @pmb: pointer to the driver internal queue element for mailbox command. |