diff options
author | John Soni Jose <sony.john-n@emulex.com> | 2012-04-03 23:41:52 -0500 |
---|---|---|
committer | James Bottomley <JBottomley@Parallels.com> | 2012-04-25 09:36:47 +0100 |
commit | c62eef0d1b592cfbe4793173e8af4098b13e4455 (patch) | |
tree | 6f311045ca00a77a59d6ba497665182cef6ab846 /drivers/scsi/be2iscsi/be_mgmt.c | |
parent | 0e43895ec1f405a25b5d57bc95c11fe17224ec43 (diff) | |
download | blackbird-op-linux-c62eef0d1b592cfbe4793173e8af4098b13e4455.tar.gz blackbird-op-linux-c62eef0d1b592cfbe4793173e8af4098b13e4455.zip |
[SCSI] be2iscsi: Get Port State and Speed of the Adapter
Implement ISCSI_HOST_PARAM_PORT_STATE and ISCSI_HOST_PARAM_PORT_SPEED
to get the Adapter port state and port name
Signed-off-by: John Soni Jose <sony.john-n@emulex.com>
Signed-off-by: Jayamohan Kallickal <jayamohan.kallickal@emulex.com>
Signed-off-by: Mike Christie <michaelc@cs.wisc.edu>
Signed-off-by: James Bottomley <JBottomley@Parallels.com>
Diffstat (limited to 'drivers/scsi/be2iscsi/be_mgmt.c')
-rw-r--r-- | drivers/scsi/be2iscsi/be_mgmt.c | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/drivers/scsi/be2iscsi/be_mgmt.c b/drivers/scsi/be2iscsi/be_mgmt.c index e6cb10d2e74e..01bb04cd9e75 100644 --- a/drivers/scsi/be2iscsi/be_mgmt.c +++ b/drivers/scsi/be2iscsi/be_mgmt.c @@ -898,3 +898,30 @@ unsigned int be_cmd_get_initname(struct beiscsi_hba *phba) spin_unlock(&ctrl->mbox_lock); return tag; } + +unsigned int be_cmd_get_port_speed(struct beiscsi_hba *phba) +{ + unsigned int tag = 0; + struct be_mcc_wrb *wrb; + struct be_cmd_ntwk_link_status_req *req; + struct be_ctrl_info *ctrl = &phba->ctrl; + + spin_lock(&ctrl->mbox_lock); + tag = alloc_mcc_tag(phba); + if (!tag) { + spin_unlock(&ctrl->mbox_lock); + return tag; + } + + wrb = wrb_from_mccq(phba); + req = embedded_payload(wrb); + wrb->tag0 |= tag; + be_wrb_hdr_prepare(wrb, sizeof(*req), true, 0); + be_cmd_hdr_prepare(&req->hdr, CMD_SUBSYSTEM_COMMON, + OPCODE_COMMON_NTWK_LINK_STATUS_QUERY, + sizeof(*req)); + + be_mcc_notify(phba); + spin_unlock(&ctrl->mbox_lock); + return tag; +} |