All of lore.kernel.org
 help / color / mirror / Atom feed
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 V3 4/9] pm80xx : tag allocation for phy control request.
Date: Tue, 19 Sep 2017 22:39:59 +0530	[thread overview]
Message-ID: <20170919171004.10331-5-Viswas.G@microsemi.com> (raw)
In-Reply-To: <20170919171004.10331-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>

Acked-by: Jack Wang <jinpu.wang@profitbricks.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

  parent reply	other threads:[~2017-09-19 17:10 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-09-19 17:09 [PATCH V3 0/9] pm80xx updates Viswas G
2017-09-19 17:09 ` [PATCH V3 1/9] pm80xx : redefine sas_identify_frame structure Viswas G
2017-09-19 17:09 ` [PATCH V3 2/9] pm80xx : ILA and inactive firmware version through sysfs Viswas G
2017-09-19 17:09 ` [PATCH V3 3/9] pm80xx : Different SAS addresses for phys Viswas G
2017-09-19 17:09 ` Viswas G [this message]
2017-09-20 15:18   ` [PATCH V3 4/9] pm80xx : tag allocation for phy control request kbuild test robot
2017-09-21  8:09     ` Jinpu Wang
2017-09-19 17:10 ` [PATCH V3 5/9] pm80xx : cleanup in pm8001_abort_task function Viswas G
2017-09-20 15:57   ` kbuild test robot
2017-09-19 17:10 ` [PATCH V3 6/9] pm80xx : modified port reset timer value for PM8006 card Viswas G
2017-09-19 17:10 ` [PATCH V3 7/9] pm80xx : corrected SATA abort handling sequence Viswas G
2017-09-19 17:10 ` [PATCH V3 8/9] pm80xx : panic on ncq error cleaning up the read log Viswas G
2017-09-19 17:10 ` [PATCH V3 9/9] pm80xx : corrected linkrate value Viswas G

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=20170919171004.10331-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.