> > 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 physical host interface configuration part that cannot be > performed in the virtual host. > > Suggested-by: 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 > 7cf8e688aec8..aec18ce203b9 100644 > --- a/drivers/scsi/ufs/ufshcd.c > +++ b/drivers/scsi/ufs/ufshcd.c > @@ -8053,6 +8053,9 @@ static int ufshcd_probe_hba(struct ufs_hba *hba, > bool init_dev_params) > if (ret) > goto out; > > + if (hba->quirks & UFSHCD_QUIRK_SKIP_PH_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 > 5d485d65591f..aceaedcc1558 100644 > --- a/drivers/scsi/ufs/ufshcd.h > +++ b/drivers/scsi/ufs/ufshcd.h > @@ -594,6 +594,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 physical host configuration. > + */ > + UFSHCD_QUIRK_SKIP_PH_CONFIGURATION = 1 << 16, > }; > > enum ufshcd_caps { > -- > 2.33.0