Skip to content

Commit 176b930

Browse files
bvanasschemartinkpetersen
authored andcommitted
scsi: ufs: core: Pass a SCSI pointer instead of an LRB pointer
Pass a pointer to a SCSI command between functions instead of an LRB pointer. This change prepares for removing the ufshcd_lrb task_tag member. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Link: https://patch.msgid.link/20251031204029.2883185-25-bvanassche@acm.org Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
1 parent 22089c2 commit 176b930

1 file changed

Lines changed: 11 additions & 10 deletions

File tree

drivers/ufs/core/ufshcd.c

Lines changed: 11 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -2822,12 +2822,13 @@ static void ufshcd_prepare_utp_scsi_cmd_upiu(struct scsi_cmnd *cmd,
28222822
/**
28232823
* ufshcd_prepare_utp_query_req_upiu() - fill the utp_transfer_req_desc for query request
28242824
* @hba: UFS hba
2825-
* @lrbp: local reference block pointer
2825+
* @cmd: SCSI command pointer
28262826
* @upiu_flags: flags
28272827
*/
28282828
static void ufshcd_prepare_utp_query_req_upiu(struct ufs_hba *hba,
2829-
struct ufshcd_lrb *lrbp, u8 upiu_flags)
2829+
struct scsi_cmnd *cmd, u8 upiu_flags)
28302830
{
2831+
struct ufshcd_lrb *lrbp = scsi_cmd_priv(cmd);
28312832
struct utp_upiu_req *ucd_req_ptr = lrbp->ucd_req_ptr;
28322833
struct ufs_query *query = &hba->dev_cmd.query;
28332834
u16 len = be16_to_cpu(query->request.upiu_req.length);
@@ -2856,8 +2857,9 @@ static void ufshcd_prepare_utp_query_req_upiu(struct ufs_hba *hba,
28562857
memcpy(ucd_req_ptr + 1, query->descriptor, len);
28572858
}
28582859

2859-
static inline void ufshcd_prepare_utp_nop_upiu(struct ufshcd_lrb *lrbp)
2860+
static inline void ufshcd_prepare_utp_nop_upiu(struct scsi_cmnd *cmd)
28602861
{
2862+
struct ufshcd_lrb *lrbp = scsi_cmd_priv(cmd);
28612863
struct utp_upiu_req *ucd_req_ptr = lrbp->ucd_req_ptr;
28622864

28632865
memset(ucd_req_ptr, 0, sizeof(struct utp_upiu_req));
@@ -2872,22 +2874,23 @@ static inline void ufshcd_prepare_utp_nop_upiu(struct ufshcd_lrb *lrbp)
28722874
* ufshcd_compose_devman_upiu - UFS Protocol Information Unit(UPIU)
28732875
* for Device Management Purposes
28742876
* @hba: per adapter instance
2875-
* @lrbp: pointer to local reference block
2877+
* @cmd: SCSI command pointer
28762878
*
28772879
* Return: 0 upon success; < 0 upon failure.
28782880
*/
28792881
static int ufshcd_compose_devman_upiu(struct ufs_hba *hba,
2880-
struct ufshcd_lrb *lrbp)
2882+
struct scsi_cmnd *cmd)
28812883
{
2884+
struct ufshcd_lrb *lrbp = scsi_cmd_priv(cmd);
28822885
u8 upiu_flags;
28832886
int ret = 0;
28842887

28852888
ufshcd_prepare_req_desc_hdr(hba, lrbp, &upiu_flags, DMA_NONE, 0);
28862889

28872890
if (hba->dev_cmd.type == DEV_CMD_TYPE_QUERY)
2888-
ufshcd_prepare_utp_query_req_upiu(hba, lrbp, upiu_flags);
2891+
ufshcd_prepare_utp_query_req_upiu(hba, cmd, upiu_flags);
28892892
else if (hba->dev_cmd.type == DEV_CMD_TYPE_NOP)
2890-
ufshcd_prepare_utp_nop_upiu(lrbp);
2893+
ufshcd_prepare_utp_nop_upiu(cmd);
28912894
else
28922895
ret = -EINVAL;
28932896

@@ -3126,11 +3129,9 @@ static void ufshcd_setup_dev_cmd(struct ufs_hba *hba, struct scsi_cmnd *cmd,
31263129
static int ufshcd_compose_dev_cmd(struct ufs_hba *hba, struct scsi_cmnd *cmd,
31273130
enum dev_cmd_type cmd_type, int tag)
31283131
{
3129-
struct ufshcd_lrb *lrbp = scsi_cmd_priv(cmd);
3130-
31313132
ufshcd_setup_dev_cmd(hba, cmd, cmd_type, 0, tag);
31323133

3133-
return ufshcd_compose_devman_upiu(hba, lrbp);
3134+
return ufshcd_compose_devman_upiu(hba, cmd);
31343135
}
31353136

31363137
/*

0 commit comments

Comments
 (0)