Re: [PATCH v1 2/2] scsi: ufs: qcom: Update the UIC Command Timeout

Bart Van Assche
2024-05-22T18:18:40Z

On 5/22/24 00:01, Bao D. Nguyen wrote:
> Change the UIC command timeout to 2 seconds.
> This extra time is to allow the uart occasionally print long
> debug messages and logging from different modules during
> product development. With the default hardcoded 500ms timeout,
> the uart printing with interrupt disabled may cause the UIC command
> interrupt get starved, resulting in a UIC command timeout and
> eventually a watchdog timeout.
> When a product development completes, the vendors may
> select a different UIC command timeout as desired.
>
> Signed-off-by: Bao D. Nguyen <quic_nguyenb@quicinc.com>
> ---
> drivers/ufs/host/ufs-qcom.c | 3 +++
> 1 file changed, 3 insertions(+)
>
> diff --git a/drivers/ufs/host/ufs-qcom.c b/drivers/ufs/host/ufs-qcom.c
> index 79f8cb3..4649e0f 100644
> --- a/drivers/ufs/host/ufs-qcom.c
> +++ b/drivers/ufs/host/ufs-qcom.c
> @@ -49,6 +49,7 @@ enum {
>
> #define QCOM_UFS_MAX_GEAR 4
> #define QCOM_UFS_MAX_LANE 2
> +#define QCOM_UIC_CMD_TIMEOUT_MS 2000
>
> enum {
> MODE_MIN,
> @@ -1111,6 +1112,8 @@ static int ufs_qcom_init(struct ufs_hba *hba)
> dev_warn(dev, "%s: failed to configure the testbus %d\n",
> __func__, err);
>
> + hba->uic_cmd_timeout = QCOM_UIC_CMD_TIMEOUT_MS;
> +
> return 0;
>
> out_variant_clear:

Given the description of patch 1, the addressed issue is not specific to
a single vendor. Is that correct?

Since the described issue is only encountered during development, why to
modify the UIC command timeout unconditionally?

Thanks,

Bart.