From: Bart Van Assche <bvanassche@acm.org>
To: "Martin K . Petersen" <martin.petersen@oracle.com>
Cc: linux-scsi@vger.kernel.org, Bart Van Assche <bvanassche@acm.org>,
Daejun Park <daejun7.park@samsung.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>,
Can Guo <cang@codeaurora.org>, Bean Huo <beanhuo@micron.com>,
Stanley Chu <stanley.chu@mediatek.com>,
Avri Altman <avri.altman@wdc.com>,
Jaegeuk Kim <jaegeuk@kernel.org>,
Asutosh Das <asutoshd@codeaurora.org>,
Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Subject: [PATCH v5 47/52] ufs: Use scsi_cmd_to_rq() instead of scsi_cmnd.request
Date: Mon, 9 Aug 2021 16:03:50 -0700 [thread overview]
Message-ID: <20210809230355.8186-48-bvanassche@acm.org> (raw)
In-Reply-To: <20210809230355.8186-1-bvanassche@acm.org>
Prepare for removal of the request pointer by using scsi_cmd_to_rq()
instead. This patch does not change any functionality.
Reviewed-by: Daejun Park <daejun7.park@samsung.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/scsi/ufs/ufshcd.c | 11 ++++++-----
drivers/scsi/ufs/ufshpb.c | 19 ++++++++++---------
2 files changed, 16 insertions(+), 14 deletions(-)
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 6c263e94144b..72348153adb0 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -365,6 +365,7 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag,
u32 intr, doorbell;
struct ufshcd_lrb *lrbp = &hba->lrb[tag];
struct scsi_cmnd *cmd = lrbp->cmd;
+ struct request *rq = scsi_cmd_to_rq(cmd);
int transfer_len = -1;
if (!cmd)
@@ -390,7 +391,7 @@ static void ufshcd_add_command_trace(struct ufs_hba *hba, unsigned int tag,
/*
* The number of Bytes to be unmapped beginning with the lba.
*/
- transfer_len = blk_rq_bytes(cmd->request);
+ transfer_len = blk_rq_bytes(rq);
}
intr = ufshcd_readl(hba, REG_INTERRUPT_STATUS);
@@ -2054,7 +2055,7 @@ static void ufshcd_update_monitor(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
spin_lock_irqsave(hba->host->host_lock, flags);
if (dir >= 0 && hba->monitor.nr_queued[dir] > 0) {
- struct request *req = lrbp->cmd->request;
+ struct request *req = scsi_cmd_to_rq(lrbp->cmd);
struct ufs_hba_monitor *m = &hba->monitor;
ktime_t now, inc, lat;
@@ -2675,7 +2676,7 @@ static void ufshcd_init_lrb(struct ufs_hba *hba, struct ufshcd_lrb *lrb, int i)
static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
{
struct ufs_hba *hba = shost_priv(host);
- int tag = cmd->request->tag;
+ int tag = scsi_cmd_to_rq(cmd)->tag;
struct ufshcd_lrb *lrbp;
int err = 0;
@@ -2734,7 +2735,7 @@ static int ufshcd_queuecommand(struct Scsi_Host *host, struct scsi_cmnd *cmd)
lrbp->lun = ufshcd_scsi_to_upiu_lun(cmd->device->lun);
lrbp->intr_cmd = !ufshcd_is_intr_aggr_allowed(hba) ? true : false;
- ufshcd_prepare_lrbp_crypto(cmd->request, lrbp);
+ ufshcd_prepare_lrbp_crypto(scsi_cmd_to_rq(cmd), lrbp);
lrbp->req_abort_skip = false;
@@ -6974,7 +6975,7 @@ static int ufshcd_abort(struct scsi_cmnd *cmd)
{
struct Scsi_Host *host = cmd->device->host;
struct ufs_hba *hba = shost_priv(host);
- unsigned int tag = cmd->request->tag;
+ unsigned int tag = scsi_cmd_to_rq(cmd)->tag;
struct ufshcd_lrb *lrbp = &hba->lrb[tag];
unsigned long flags;
int err = FAILED;
diff --git a/drivers/scsi/ufs/ufshpb.c b/drivers/scsi/ufs/ufshpb.c
index d0eb14be47a3..908130596610 100644
--- a/drivers/scsi/ufs/ufshpb.c
+++ b/drivers/scsi/ufs/ufshpb.c
@@ -70,13 +70,14 @@ static int ufshpb_is_valid_srgn(struct ufshpb_region *rgn,
static bool ufshpb_is_read_cmd(struct scsi_cmnd *cmd)
{
- return req_op(cmd->request) == REQ_OP_READ;
+ return req_op(scsi_cmd_to_rq(cmd)) == REQ_OP_READ;
}
static bool ufshpb_is_write_or_discard(struct scsi_cmnd *cmd)
{
- return op_is_write(req_op(cmd->request)) ||
- op_is_discard(req_op(cmd->request));
+ enum req_opf op = req_op(scsi_cmd_to_rq(cmd));
+
+ return op_is_write(op) || op_is_discard(op);
}
static bool ufshpb_is_supported_chunk(struct ufshpb_lu *hpb, int transfer_len)
@@ -516,9 +517,9 @@ static int ufshpb_execute_pre_req(struct ufshpb_lu *hpb, struct scsi_cmnd *cmd,
pre_req->hpb = hpb;
pre_req->wb.lpn = sectors_to_logical(cmd->device,
- blk_rq_pos(cmd->request));
+ blk_rq_pos(scsi_cmd_to_rq(cmd)));
pre_req->wb.len = sectors_to_logical(cmd->device,
- blk_rq_sectors(cmd->request));
+ blk_rq_sectors(scsi_cmd_to_rq(cmd)));
if (ufshpb_pre_req_add_bio_page(hpb, q, pre_req))
return -ENOMEM;
@@ -596,6 +597,7 @@ int ufshpb_prep(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
struct ufshpb_region *rgn;
struct ufshpb_subregion *srgn;
struct scsi_cmnd *cmd = lrbp->cmd;
+ struct request *rq = scsi_cmd_to_rq(cmd);
u32 lpn;
__be64 ppn;
unsigned long flags;
@@ -616,17 +618,16 @@ int ufshpb_prep(struct ufs_hba *hba, struct ufshcd_lrb *lrbp)
return -ENODEV;
}
- if (blk_rq_is_passthrough(cmd->request) ||
+ if (blk_rq_is_passthrough(rq) ||
(!ufshpb_is_write_or_discard(cmd) &&
!ufshpb_is_read_cmd(cmd)))
return 0;
- transfer_len = sectors_to_logical(cmd->device,
- blk_rq_sectors(cmd->request));
+ transfer_len = sectors_to_logical(cmd->device, blk_rq_sectors(rq));
if (unlikely(!transfer_len))
return 0;
- lpn = sectors_to_logical(cmd->device, blk_rq_pos(cmd->request));
+ lpn = sectors_to_logical(cmd->device, blk_rq_pos(rq));
ufshpb_get_pos_from_lpn(hpb, lpn, &rgn_idx, &srgn_idx, &srgn_offset);
rgn = hpb->rgn_tbl + rgn_idx;
srgn = rgn->srgn_tbl + srgn_idx;
next prev parent reply other threads:[~2021-08-09 23:05 UTC|newest]
Thread overview: 87+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-08-09 23:03 [PATCH v5 00/52] Remove the request pointer from struct scsi_cmnd Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 01/52] core: Introduce the scsi_cmd_to_rq() function Bart Van Assche
2021-08-10 6:15 ` Hannes Reinecke
2021-08-12 12:28 ` Christoph Hellwig
2021-08-12 18:19 ` Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 02/52] core: Use scsi_cmd_to_rq() instead of scsi_cmnd.request Bart Van Assche
2021-08-10 6:17 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 03/52] sd: " Bart Van Assche
2021-08-10 6:18 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 04/52] sr: " Bart Van Assche
2021-08-10 6:18 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 05/52] scsi_transport_fc: " Bart Van Assche
2021-08-10 6:19 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 06/52] scsi_transport_spi: " Bart Van Assche
2021-08-10 6:19 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 07/52] ata: " Bart Van Assche
2021-08-10 6:20 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 08/52] RDMA/iser: " Bart Van Assche
2021-08-10 6:20 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 09/52] RDMA/srp: " Bart Van Assche
2021-08-10 6:21 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 10/52] zfcp: " Bart Van Assche
2021-08-10 6:21 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 11/52] 53c700: " Bart Van Assche
2021-08-10 6:21 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 12/52] NCR5380: Use sc_data_direction instead of rq_data_dir() Bart Van Assche
2021-08-10 6:22 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 13/52] aacraid: Use scsi_cmd_to_rq() instead of scsi_cmnd.request Bart Van Assche
2021-08-10 6:23 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 14/52] advansys: " Bart Van Assche
2021-08-10 6:25 ` Hannes Reinecke
2021-08-10 16:16 ` Bart Van Assche
2021-08-12 2:58 ` Martin K. Petersen
2021-08-12 4:03 ` Bart Van Assche
2021-08-12 6:03 ` Hannes Reinecke
2021-08-12 9:05 ` John Garry
2021-08-13 1:42 ` Bart Van Assche
2021-08-13 2:19 ` Matthew Wilcox
2021-08-10 17:25 ` Matthew Wilcox
2021-08-09 23:03 ` [PATCH v5 15/52] aha1542: " Bart Van Assche
2021-08-10 6:25 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 16/52] bnx2i: " Bart Van Assche
2021-08-10 6:26 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 17/52] csiostor: " Bart Van Assche
2021-08-10 6:26 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 18/52] cxlflash: " Bart Van Assche
2021-08-10 6:27 ` Hannes Reinecke
2021-08-09 23:03 ` [PATCH v5 19/52] dpt_i2o: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 20/52] fnic: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 21/52] hisi_sas: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 22/52] hpsa: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 23/52] ibmvfc: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 24/52] ibmvscsi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 25/52] ips: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 26/52] libsas: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 27/52] lpfc: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 28/52] megaraid: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 29/52] mpi3mr: " Bart Van Assche
2021-08-16 8:32 ` Kashyap Desai
2021-08-16 17:13 ` Martin K. Petersen
2021-08-09 23:03 ` [PATCH v5 30/52] mpt3sas: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 31/52] mvumi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 32/52] myrb: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 33/52] myrs: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 34/52] ncr53c8xx: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 35/52] qedf: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 36/52] qedi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 37/52] qla1280: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 38/52] qla2xxx: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 39/52] qla4xxx: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 40/52] qlogicpti: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 41/52] scsi_debug: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 42/52] smartpqi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 43/52] snic: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 44/52] stex: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 45/52] sun3_scsi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 46/52] sym53c8xx: " Bart Van Assche
2021-08-09 23:03 ` Bart Van Assche [this message]
2021-08-09 23:03 ` [PATCH v5 48/52] virtio_scsi: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 49/52] xen-scsifront: " Bart Van Assche
2021-08-17 12:42 ` Juergen Gross
2021-08-09 23:03 ` [PATCH v5 50/52] tcm_loop: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 51/52] usb-storage: " Bart Van Assche
2021-08-09 23:03 ` [PATCH v5 52/52] core: Remove the request member from struct scsi_cmnd Bart Van Assche
2021-08-10 5:28 ` [PATCH v5 00/52] Remove the request pointer " Martin K. Petersen
2021-08-10 16:19 ` Bart Van Assche
2021-08-17 3:17 ` 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=20210809230355.8186-48-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=asutoshd@codeaurora.org \
--cc=avri.altman@wdc.com \
--cc=beanhuo@micron.com \
--cc=cang@codeaurora.org \
--cc=daejun7.park@samsung.com \
--cc=gregkh@linuxfoundation.org \
--cc=jaegeuk@kernel.org \
--cc=jejb@linux.ibm.com \
--cc=linux-scsi@vger.kernel.org \
--cc=martin.petersen@oracle.com \
--cc=stanley.chu@mediatek.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox