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