RE: [PATCH 02/15] scsi: ufs: add quirk to enable host controller without interface configuration

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

 



Hi Chanho

> -----Original Message-----
> From: Chanho Park <chanho61.park@xxxxxxxxxxx>
> Sent: 09 July 2021 12:27
> To: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>; James E . J . Bottomley
> <jejb@xxxxxxxxxxxxx>; Martin K . Petersen <martin.petersen@xxxxxxxxxx>
> Cc: Can Guo <cang@xxxxxxxxxxxxxx>; Jaegeuk Kim <jaegeuk@xxxxxxxxxx>;
> Kiwoong Kim <kwmad.kim@xxxxxxxxxxx>; Avri Altman
> <avri.altman@xxxxxxx>; Adrian Hunter <adrian.hunter@xxxxxxxxx>;
> Christoph Hellwig <hch@xxxxxxxxxxxxx>; Bart Van Assche
> <bvanassche@xxxxxxx>; jongmin jeong <jjmin.jeong@xxxxxxxxxxx>;
> Gyunghoon Kwon <goodjob.kwon@xxxxxxxxxxx>; linux-samsung-
> soc@xxxxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; Chanho Park
> <chanho61.park@xxxxxxxxxxx>
> Subject: [PATCH 02/15] scsi: ufs: add quirk to enable host controller without
> interface configuration
> 
> From: jongmin jeong <jjmin.jeong@xxxxxxxxxxx>
> 
> samsung ExynosAuto 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 like device management.
> This patch skips the interface configuration part that cannot be performed in
> the virtual host.
> 
> Signed-off-by: jongmin jeong <jjmin.jeong@xxxxxxxxxxx>
> Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx>
> ---
>  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
> 9702086e9860..3451b335f2b4 100644
> --- a/drivers/scsi/ufs/ufshcd.c
> +++ b/drivers/scsi/ufs/ufshcd.c
> @@ -7988,6 +7988,9 @@ static int ufshcd_probe_hba(struct ufs_hba *hba,
> bool async)
>  	if (ret)
>  		goto out;
> 
> +	if (hba->quirks &
> UFSHCD_QUIRK_SKIP_INTERFACE_CONFIGURATION)
> +		goto out;
> +
>  	/* Debug counters initialization */
>  	ufshcd_clear_dbg_ufs_stats(hba);
> 
> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index
> e67b1fcfe1a2..fe523cbd68dd 100644
> --- a/drivers/scsi/ufs/ufshcd.h
> +++ b/drivers/scsi/ufs/ufshcd.h
> @@ -573,6 +573,12 @@ enum ufshcd_quirks {
>  	 * support UIC command
>  	 */
>  	UFSHCD_QUIRK_BROKEN_UIC_CMD			= 1 << 15,
> +
> +	/*
> +	 * This quirk needs to be enabled if the host controller cannot
> +	 * support interface configuration.
> +	 */
> +	UFSHCD_QUIRK_SKIP_INTERFACE_CONFIGURATION	= 1 << 16,
May be UFSHCD_QUIRK_SKIP_PH_CONFIGURATION

>  };
> 
>  enum ufshcd_caps {
> --
> 2.32.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