2021-01-19 12:48:22

by Nitin Rawat

[permalink] [raw]
Subject: [PATCH V2] scsi: ufs: Add UFS3.0 in ufs HCI version check

As per JESD223D UFS HCI v3.0 spec, HCI version 3.0
is also supported. Hence Adding UFS3.0 in UFS HCI
version check to avoid logging of the error message.

Signed-off-by: Nitin Rawat <[email protected]>
---
drivers/scsi/ufs/ufshcd.c | 5 +++--
drivers/scsi/ufs/ufshci.h | 1 +
2 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
index 82ad317..54ca765 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -9255,8 +9255,9 @@ int ufshcd_init(struct ufs_hba *hba, void __iomem *mmio_base, unsigned int irq)
if ((hba->ufs_version != UFSHCI_VERSION_10) &&
(hba->ufs_version != UFSHCI_VERSION_11) &&
(hba->ufs_version != UFSHCI_VERSION_20) &&
- (hba->ufs_version != UFSHCI_VERSION_21))
- dev_err(hba->dev, "invalid UFS version 0x%x\n",
+ (hba->ufs_version != UFSHCI_VERSION_21) &&
+ (hba->ufs_version != UFSHCI_VERSION_30))
+ dev_err(hba->dev, "invalid UFS HCI version 0x%x\n",
hba->ufs_version);

/* Get Interrupt bit mask per version */
diff --git a/drivers/scsi/ufs/ufshci.h b/drivers/scsi/ufs/ufshci.h
index 6795e1f..48f6c19 100644
--- a/drivers/scsi/ufs/ufshci.h
+++ b/drivers/scsi/ufs/ufshci.h
@@ -80,6 +80,7 @@ enum {
UFSHCI_VERSION_11 = 0x00010100, /* 1.1 */
UFSHCI_VERSION_20 = 0x00000200, /* 2.0 */
UFSHCI_VERSION_21 = 0x00000210, /* 2.1 */
+ UFSHCI_VERSION_30 = 0x00000300, /* 3.0 */
};

/*
--
2.7.4


2021-01-29 18:32:09

by Martin K. Petersen

[permalink] [raw]
Subject: Re: [PATCH V2] scsi: ufs: Add UFS3.0 in ufs HCI version check


Hello Nitin!

> As per JESD223D UFS HCI v3.0 spec, HCI version 3.0
> is also supported. Hence Adding UFS3.0 in UFS HCI
> version check to avoid logging of the error message.

https://lkml.org/lkml/2020/4/27/192

--
Martin K. Petersen Oracle Linux Engineering

2021-01-29 19:29:33

by Bean Huo

[permalink] [raw]
Subject: Re: [PATCH V2] scsi: ufs: Add UFS3.0 in ufs HCI version check

On Tue, 2021-01-19 at 17:37 +0530, Nitin Rawat wrote:
> As per JESD223D UFS HCI v3.0 spec, HCI version 3.0
> is also supported. Hence Adding UFS3.0 in UFS HCI
> version check to avoid logging of the error message.
>
> Signed-off-by: Nitin Rawat <[email protected]>
> ---
> drivers/scsi/ufs/ufshcd.c | 5 +++--
> drivers/scsi/ufs/ufshci.h | 1 +
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
> index 82ad317..54ca765 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -9255,8 +9255,9 @@ int ufshcd_init(struct ufs_hba *hba, void
> __iomem *mmio_base, unsigned int irq)
> if ((hba->ufs_version != UFSHCI_VERSION_10) &&
> (hba->ufs_version != UFSHCI_VERSION_11) &&
> (hba->ufs_version != UFSHCI_VERSION_20) &&
> - (hba->ufs_version != UFSHCI_VERSION_21))
> - dev_err(hba->dev, "invalid UFS version 0x%x\n",
> + (hba->ufs_version != UFSHCI_VERSION_21) &&
> + (hba->ufs_version != UFSHCI_VERSION_30))
> + dev_err(hba->dev, "invalid UFS HCI version 0x%x\n",
> hba->ufs_version);

Hi Nitin
Except HCI 1.0 / 1.1 / 2.0 / 2.1 / 3.0, do you have the other UFS HCI
version? if no, current driver supports all of them, instead of
scaling these check, and avoid logging of the error message, I suggest
you can directly delete these redundant checkup.

If there is a weird HCI version that not supported by the current
driver, you can only add an unsupported checkup list. thus, you don't
need to scale this useless checkup.

Bean




2021-02-01 09:05:08

by Nitin Rawat

[permalink] [raw]
Subject: Re: [PATCH V2] scsi: ufs: Add UFS3.0 in ufs HCI version check

On 2021-01-30 00:55, Bean Huo wrote:
> On Tue, 2021-01-19 at 17:37 +0530, Nitin Rawat wrote:
>> As per JESD223D UFS HCI v3.0 spec, HCI version 3.0
>> is also supported. Hence Adding UFS3.0 in UFS HCI
>> version check to avoid logging of the error message.
>>
>> Signed-off-by: Nitin Rawat <[email protected]>
>> ---
>> drivers/scsi/ufs/ufshcd.c | 5 +++--
>> drivers/scsi/ufs/ufshci.h | 1 +
>> 2 files changed, 4 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c
>> index 82ad317..54ca765 100644
>> --- a/drivers/scsi/ufs/ufshcd.c
>> +++ b/drivers/scsi/ufs/ufshcd.c
>> @@ -9255,8 +9255,9 @@ int ufshcd_init(struct ufs_hba *hba, void
>> __iomem *mmio_base, unsigned int irq)
>> if ((hba->ufs_version != UFSHCI_VERSION_10) &&
>> (hba->ufs_version != UFSHCI_VERSION_11) &&
>> (hba->ufs_version != UFSHCI_VERSION_20) &&
>> - (hba->ufs_version != UFSHCI_VERSION_21))
>> - dev_err(hba->dev, "invalid UFS version 0x%x\n",
>> + (hba->ufs_version != UFSHCI_VERSION_21) &&
>> + (hba->ufs_version != UFSHCI_VERSION_30))
>> + dev_err(hba->dev, "invalid UFS HCI version 0x%x\n",
>> hba->ufs_version);
>
> Hi Nitin
> Except HCI 1.0 / 1.1 / 2.0 / 2.1 / 3.0, do you have the other UFS HCI
> version? if no, current driver supports all of them, instead of
> scaling these check, and avoid logging of the error message, I suggest
> you can directly delete these redundant checkup.
>
> If there is a weird HCI version that not supported by the current
> driver, you can only add an unsupported checkup list. thus, you don't
> need to scale this useless checkup.
>
> Bean

Hi Bean,
That's a good suggestion. If nobody has any concern, i will
post new patchset by removing these redundant check.

Regards,
Nitin