2020-12-06 16:46:07

by Bean Huo

[permalink] [raw]
Subject: [PATCH v1 2/3] scsi: ufs: Distinguish between TM request UPIU and response UPIU in TM UPIU trace

From: Bean Huo <[email protected]>

Distinguish between TM request UPIU and response UPIU in TM UPIU trace,
for the TM response, let TM UPIU trace print its TM response UPIU.

Signed-off-by: Bean Huo <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 8 ++++++--
1 file changed, 6 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index e10de94adb3f..29d7240a61bf 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -338,8 +338,12 @@ static void ufshcd_add_tm_upiu_trace(struct ufs_hba *hba, unsigned int tag,
int off = (int)tag - hba->nutrs;
struct utp_task_req_desc *descp = &hba->utmrdl_base_addr[off];

- trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->req_header,
- &descp->input_param1);
+ if (!strcmp("tm_send", str))
+ trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->req_header,
+ &descp->input_param1);
+ else
+ trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->rsp_header,
+ &descp->output_param1);
}

static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
--
2.17.1


2020-12-06 18:56:11

by Bart Van Assche

[permalink] [raw]
Subject: Re: [PATCH v1 2/3] scsi: ufs: Distinguish between TM request UPIU and response UPIU in TM UPIU trace

On 12/6/20 8:42 AM, Bean Huo wrote:
> From: Bean Huo <[email protected]>
>
> Distinguish between TM request UPIU and response UPIU in TM UPIU trace,
> for the TM response, let TM UPIU trace print its TM response UPIU.
>
> Signed-off-by: Bean Huo <[email protected]>
> ---
> drivers/scsi/ufs/ufshcd.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index e10de94adb3f..29d7240a61bf 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -338,8 +338,12 @@ static void ufshcd_add_tm_upiu_trace(struct ufs_hba *hba, unsigned int tag,
> int off = (int)tag - hba->nutrs;
> struct utp_task_req_desc *descp = &hba->utmrdl_base_addr[off];
>
> - trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->req_header,
> - &descp->input_param1);
> + if (!strcmp("tm_send", str))
> + trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->req_header,
> + &descp->input_param1);
> + else
> + trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->rsp_header,
> + &descp->output_param1);
> }

Same comment here: please change the type of the 'str' argument in an
enum such that the strcmp() call can be changed into an integer comparison.

Thanks,

Bart.

2020-12-07 07:54:40

by Avri Altman

[permalink] [raw]
Subject: RE: [PATCH v1 2/3] scsi: ufs: Distinguish between TM request UPIU and response UPIU in TM UPIU trace

>
>
> From: Bean Huo <[email protected]>
>
> Distinguish between TM request UPIU and response UPIU in TM UPIU trace,
> for the TM response, let TM UPIU trace print its TM response UPIU.
>
> Signed-off-by: Bean Huo <[email protected]>
Acked-by: Avri Altman <[email protected]>

Again - same comment:
But you need to change the complete string so not to break the current parsers.
I would also pass to the struct utp_upiu_header *,
so no comparison is needed.

Thanks,
Avri

> ---
> drivers/scsi/ufs/ufshcd.c | 8 ++++++--
> 1 file changed, 6 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index e10de94adb3f..29d7240a61bf 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -338,8 +338,12 @@ static void ufshcd_add_tm_upiu_trace(struct
> ufs_hba *hba, unsigned int tag,
> int off = (int)tag - hba->nutrs;
> struct utp_task_req_desc *descp = &hba->utmrdl_base_addr[off];
>
> - trace_ufshcd_upiu(dev_name(hba->dev), str, &descp->req_header,
> - &descp->input_param1);
> + if (!strcmp("tm_send", str))
> + trace_ufshcd_upiu(dev_name(hba->dev), str, &descp-
> >req_header,
> + &descp->input_param1);
> + else
> + trace_ufshcd_upiu(dev_name(hba->dev), str, &descp-
> >rsp_header,
> + &descp->output_param1);
> }
>
> static void ufshcd_add_uic_command_trace(struct ufs_hba *hba,
> --
> 2.17.1