From: Viswas G <Viswas.G@microsemi.com>
To: linux-scsi@vger.kernel.org
Cc: Vasanthalakshmi.Tharmarajan@microsemi.com,
Viswas.G@microsemi.com, deepak.ukey@microsemi.com,
Raj.Dinesh@microsemi.com, jinpu.wang@profitbricks.com,
martin.petersen@oracle.com
Subject: [PATCH V2 4/9] pm80xx : tag allocation for phy control request.
Date: Wed, 18 Feb 2015 05:06:45 +0530 [thread overview]
Message-ID: <20150217233650.9091-5-Viswas.G@microsemi.com> (raw)
In-Reply-To: <20150217233650.9091-1-Viswas.G@microsemi.com>
tag is taken from the tag pool instead of using the hardcoded
tag value(1).
Signed-off-by: Deepak Ukey <deepak.ukey@microsemi.com>
Signed-off-by: Viswas G <Viswas.G@microsemi.com>
---
drivers/scsi/pm8001/pm8001_hwi.c | 3 +++
drivers/scsi/pm8001/pm80xx_hwi.c | 10 +++++++---
2 files changed, 10 insertions(+), 3 deletions(-)
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c
index 10546faac58c..bc4a6f649ec9 100644
--- a/drivers/scsi/pm8001/pm8001_hwi.c
+++ b/drivers/scsi/pm8001/pm8001_hwi.c
@@ -3198,11 +3198,13 @@ pm8001_mpi_get_nvmd_resp(struct pm8001_hba_info *pm8001_ha, void *piomb)
int pm8001_mpi_local_phy_ctl(struct pm8001_hba_info *pm8001_ha, void *piomb)
{
+ u32 tag;
struct local_phy_ctl_resp *pPayload =
(struct local_phy_ctl_resp *)(piomb + 4);
u32 status = le32_to_cpu(pPayload->status);
u32 phy_id = le32_to_cpu(pPayload->phyop_phyid) & ID_BITS;
u32 phy_op = le32_to_cpu(pPayload->phyop_phyid) & OP_BITS;
+ tag = le32_to_cpu(pPayload->tag);
if (status != 0) {
PM8001_MSG_DBG(pm8001_ha,
pm8001_printk("%x phy execute %x phy op failed!\n",
@@ -3211,6 +3213,7 @@ int pm8001_mpi_local_phy_ctl(struct pm8001_hba_info *pm8001_ha, void *piomb)
PM8001_MSG_DBG(pm8001_ha,
pm8001_printk("%x phy execute %x phy op success!\n",
phy_id, phy_op));
+ pm8001_tag_free(pm8001_ha, tag);
return 0;
}
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
index 2b26445d1b97..baab8a19c78e 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.c
+++ b/drivers/scsi/pm8001/pm80xx_hwi.c
@@ -4500,17 +4500,21 @@ static int pm80xx_chip_reg_dev_req(struct pm8001_hba_info *pm8001_ha,
static int pm80xx_chip_phy_ctl_req(struct pm8001_hba_info *pm8001_ha,
u32 phyId, u32 phy_op)
{
+ u32 tag;
+ int rc;
struct local_phy_ctl_req payload;
struct inbound_queue_table *circularQ;
int ret;
u32 opc = OPC_INB_LOCAL_PHY_CONTROL;
memset(&payload, 0, sizeof(payload));
+ rc = pm8001_tag_alloc(pm8001_ha, &tag);
+ if (rc)
+ return rc;
circularQ = &pm8001_ha->inbnd_q_tbl[0];
- payload.tag = cpu_to_le32(1);
+ payload.tag = cpu_to_le32(tag);
payload.phyop_phyid =
cpu_to_le32(((phy_op & 0xFF) << 8) | (phyId & 0xFF));
- ret = pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload, 0);
- return ret;
+ return pm8001_mpi_build_cmd(pm8001_ha, circularQ, opc, &payload, 0);
}
static u32 pm80xx_chip_is_our_interupt(struct pm8001_hba_info *pm8001_ha)
--
2.12.3
next prev parent reply other threads:[~2017-09-13 10:42 UTC|newest]
Thread overview: 19+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-02-17 23:36 [PATCH V2 0/9] pm80xx updates Viswas G
2015-02-17 23:36 ` [PATCH V2 1/9] pm80xx : redefine sas_identify_frame structure Viswas G
2017-09-13 11:09 ` Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 2/9] pm80xx : ILA and inactive firmware version through sysfs Viswas G
2015-02-17 23:36 ` [PATCH V2 3/9] pm80xx : Different SAS addresses for phys Viswas G
2015-02-17 23:36 ` Viswas G [this message]
2017-09-13 11:10 ` [PATCH V2 4/9] pm80xx : tag allocation for phy control request Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 5/9] pm80xx : cleanup in pm8001_abort_task function Viswas G
2017-09-13 13:12 ` Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 6/9] pm80xx : modified port reset timer value for PM8006 card Viswas G
2017-09-13 11:10 ` Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 7/9] pm80xx : corrected SATA abort handling sequence Viswas G
2017-09-13 11:12 ` Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 8/9] pm80xx : panic on ncq error cleaning up the read log Viswas G
2017-09-13 11:13 ` Jinpu Wang
2015-02-17 23:36 ` [PATCH V2 9/9] pm80xx : corrected linkrate value Viswas G
2017-09-15 19:35 ` [PATCH V2 0/9] pm80xx updates Martin K. Petersen
2017-09-16 5:22 ` Viswas G
2017-09-25 23:20 ` Martin K. Petersen
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20150217233650.9091-5-Viswas.G@microsemi.com \
--to=viswas.g@microsemi.com \
--cc=Raj.Dinesh@microsemi.com \
--cc=Vasanthalakshmi.Tharmarajan@microsemi.com \
--cc=deepak.ukey@microsemi.com \
--cc=jinpu.wang@profitbricks.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.