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>,
Johannes Thumshirn <johannes.thumshirn@wdc.com>,
Hannes Reinecke <hare@suse.de>,
Himanshu Madhani <himanshu.madhani@oracle.com>,
"James E.J. Bottomley" <jejb@linux.ibm.com>
Subject: [PATCH v5 26/49] scsi: initio: Stop using the SCSI pointer
Date: Fri, 18 Feb 2022 11:50:54 -0800 [thread overview]
Message-ID: <20220218195117.25689-27-bvanassche@acm.org> (raw)
In-Reply-To: <20220218195117.25689-1-bvanassche@acm.org>
Set .cmd_size in the SCSI host template instead of using the SCSI pointer
from struct scsi_cmnd. This patch prepares for removal of the SCSI pointer
from struct scsi_cmnd.
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Hannes Reinecke <hare@suse.de>
Reviewed-by: Himanshu Madhani <himanshu.madhani@oracle.com>
Signed-off-by: Bart Van Assche <bvanassche@acm.org>
---
drivers/scsi/initio.c | 14 ++++++++------
drivers/scsi/initio.h | 9 +++++++++
2 files changed, 17 insertions(+), 6 deletions(-)
diff --git a/drivers/scsi/initio.c b/drivers/scsi/initio.c
index 5f96ac47d7fd..f585d6e5fab9 100644
--- a/drivers/scsi/initio.c
+++ b/drivers/scsi/initio.c
@@ -2553,7 +2553,7 @@ static void initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * c
SENSE_SIZE, DMA_FROM_DEVICE);
cblk->senseptr = (u32)dma_addr;
cblk->senselen = SENSE_SIZE;
- cmnd->SCp.ptr = (char *)(unsigned long)dma_addr;
+ initio_priv(cmnd)->sense_dma_addr = dma_addr;
cblk->cdblen = cmnd->cmd_len;
/* Clear the returned status */
@@ -2577,7 +2577,7 @@ static void initio_build_scb(struct initio_host * host, struct scsi_ctrl_blk * c
sizeof(struct sg_entry) * TOTAL_SG_ENTRY,
DMA_BIDIRECTIONAL);
cblk->bufptr = (u32)dma_addr;
- cmnd->SCp.dma_handle = dma_addr;
+ initio_priv(cmnd)->sglist_dma_addr = dma_addr;
cblk->sglen = nseg;
@@ -2704,16 +2704,17 @@ static int i91u_biosparam(struct scsi_device *sdev, struct block_device *dev,
static void i91u_unmap_scb(struct pci_dev *pci_dev, struct scsi_cmnd *cmnd)
{
/* auto sense buffer */
- if (cmnd->SCp.ptr) {
+ if (initio_priv(cmnd)->sense_dma_addr) {
dma_unmap_single(&pci_dev->dev,
- (dma_addr_t)((unsigned long)cmnd->SCp.ptr),
+ initio_priv(cmnd)->sense_dma_addr,
SENSE_SIZE, DMA_FROM_DEVICE);
- cmnd->SCp.ptr = NULL;
+ initio_priv(cmnd)->sense_dma_addr = 0;
}
/* request buffer */
if (scsi_sg_count(cmnd)) {
- dma_unmap_single(&pci_dev->dev, cmnd->SCp.dma_handle,
+ dma_unmap_single(&pci_dev->dev,
+ initio_priv(cmnd)->sglist_dma_addr,
sizeof(struct sg_entry) * TOTAL_SG_ENTRY,
DMA_BIDIRECTIONAL);
@@ -2796,6 +2797,7 @@ static struct scsi_host_template initio_template = {
.can_queue = MAX_TARGETS * i91u_MAXQUEUE,
.this_id = 1,
.sg_tablesize = SG_ALL,
+ .cmd_size = sizeof(struct initio_cmd_priv),
};
static int initio_probe_one(struct pci_dev *pdev,
diff --git a/drivers/scsi/initio.h b/drivers/scsi/initio.h
index 9fd010cf1f8a..7c9741552654 100644
--- a/drivers/scsi/initio.h
+++ b/drivers/scsi/initio.h
@@ -640,3 +640,12 @@ typedef struct _NVRAM {
#define SCSI_RESET_HOST_RESET 0x200
#define SCSI_RESET_ACTION 0xff
+struct initio_cmd_priv {
+ dma_addr_t sense_dma_addr;
+ dma_addr_t sglist_dma_addr;
+};
+
+static inline struct initio_cmd_priv *initio_priv(struct scsi_cmnd *cmd)
+{
+ return scsi_cmd_priv(cmd);
+}
next prev parent reply other threads:[~2022-02-18 19:52 UTC|newest]
Thread overview: 52+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-02-18 19:50 [PATCH v5 00/49] Remove the SCSI pointer from struct scsi_cmnd Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 01/49] scsi: ips: Remove an unreachable statement Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 02/49] scsi: ips: Change the return type of ips_release() into 'void' Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 03/49] scsi: ips: Use true and false instead of TRUE and FALSE Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 04/49] scsi: nsp_cs: Change the return type of two functions into 'void' Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 05/49] scsi: nsp_cs: Use true and false instead of TRUE and FALSE Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 06/49] scsi: Remove drivers/scsi/scsi.h Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 07/49] scsi: NCR5380: Remove the NCR5380_CMD_SIZE macro Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 08/49] scsi: NCR5380: Add SCp members to struct NCR5380_cmd Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 09/49] scsi: arm: Rename arm/scsi.h into arm/arm_scsi.h Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 10/49] scsi: arm: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 11/49] scsi: 53c700: Stop clearing SCSI pointer fields Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 12/49] scsi: aacraid: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 13/49] scsi: advansys: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 14/49] scsi: aha1542: Remove a set-but-not-used array Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 15/49] scsi: aha152x: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 16/49] scsi: bfa: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 17/49] scsi: csio: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 18/49] scsi: dc395x: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 19/49] scsi: esp_scsi: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 20/49] scsi: fdomain: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 21/49] scsi: fnic: Fix a tracing statement Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 22/49] scsi: fnic: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 23/49] scsi: hptiop: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 24/49] scsi: imm: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 25/49] scsi: iscsi: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:50 ` Bart Van Assche [this message]
2022-02-18 19:50 ` [PATCH v5 27/49] scsi: libfc: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 28/49] scsi: bnx2fc: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 29/49] scsi: qedf: " Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 30/49] scsi: mac53c94: Fix a set-but-not-used compiler warning Bart Van Assche
2022-02-18 19:50 ` [PATCH v5 31/49] scsi: mac53c94: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 32/49] scsi: megaraid: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 33/49] scsi: megasas: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 34/49] scsi: mesh: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 35/49] scsi: mvsas: Fix a set-but-not-used warning Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 36/49] scsi: mvumi: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 37/49] scsi: nsp32: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 38/49] scsi: nsp_cs: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 39/49] scsi: sym53c500_cs: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 40/49] scsi: ppa: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 41/49] scsi: qla1280: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 42/49] scsi: qla2xxx: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 43/49] scsi: smartpqi: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 44/49] scsi: sym53c8xx_2: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 45/49] scsi: usb: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 46/49] scsi: wd719x: " Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 47/49] scsi: wd33c93: Move the SCSI pointer to private command data Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 48/49] scsi: zalon: Stop using the SCSI pointer Bart Van Assche
2022-02-18 19:51 ` [PATCH v5 49/49] scsi: core: Remove struct scsi_pointer from struct scsi_cmnd Bart Van Assche
2022-02-19 22:05 ` [PATCH v5 00/49] Remove the SCSI pointer " Martin K. Petersen
2022-02-28 3:43 ` 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=20220218195117.25689-27-bvanassche@acm.org \
--to=bvanassche@acm.org \
--cc=hare@suse.de \
--cc=himanshu.madhani@oracle.com \
--cc=jejb@linux.ibm.com \
--cc=johannes.thumshirn@wdc.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox