RE: [PATCH v4 01/16] scsi: ufs: add quirk to handle broken UIC command

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> 
> From: jongmin jeong <jjmin.jeong@xxxxxxxxxxx>
> 
> samsung ExynosAuto9 SoC has two types of host controller interface to support
> the virtualization of UFS Device.
> One is the physical host(PH) that the same as conventaional UFSHCI, and the
> other is the virtual host(VH) that support data transfer function only.
> 
> In this structure, the virtual host does not support UIC command.
> To support this, we add the quirk and return 0 when the UIC command send
> function is called.
> 
> Cc: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
> Cc: James E.J. Bottomley <jejb@xxxxxxxxxxxxx>
> Cc: Martin K. Petersen <martin.petersen@xxxxxxxxxx>
> Cc: Bart Van Assche <bvanassche@xxxxxxx>
> Reviewed-by: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>
> Signed-off-by: jongmin jeong <jjmin.jeong@xxxxxxxxxxx>
> Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx>
You forgot to set this quirk / opt for ufs-samsung.

Thanks,
Avri

> ---
>  drivers/scsi/ufs/ufshcd.c | 3 +++
>  drivers/scsi/ufs/ufshcd.h | 6 ++++++
>  2 files changed, 9 insertions(+)
> 
> diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index
> 188de6f91050..7cf8e688aec8 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -2322,6 +2322,9 @@ int ufshcd_send_uic_cmd(struct ufs_hba *hba,
> struct uic_command *uic_cmd)
>         int ret;
>         unsigned long flags;
> 
> +       if (hba->quirks & UFSHCD_QUIRK_BROKEN_UIC_CMD)
> +               return 0;
> +
>         ufshcd_hold(hba, false);
>         mutex_lock(&hba->uic_cmd_mutex);
>         ufshcd_add_delay_before_dme_cmd(hba);
> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index
> f0da5d3db1fa..5d485d65591f 100644
> --- a/drivers/scsi/ufs/ufshcd.h
> +++ b/drivers/scsi/ufs/ufshcd.h
> @@ -588,6 +588,12 @@ enum ufshcd_quirks {
>          * This quirk allows only sg entries aligned with page size.
>          */
>         UFSHCD_QUIRK_ALIGN_SG_WITH_PAGE_SIZE            = 1 << 14,
> +
> +       /*
> +        * This quirk needs to be enabled if the host controller does not
> +        * support UIC command
> +        */
> +       UFSHCD_QUIRK_BROKEN_UIC_CMD                     = 1 << 15,
>  };
> 
>  enum ufshcd_caps {
> --
> 2.33.0





[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux