>-----Original Message----- >From: Chanho Park [mailto:chanho61.park@xxxxxxxxxxx] >Sent: Friday, September 17, 2021 12:24 PM >To: Alim Akhtar <alim.akhtar@xxxxxxxxxxx>; Avri Altman ><avri.altman@xxxxxxx>; James E . J . Bottomley <jejb@xxxxxxxxxxxxx>; Martin >K . Petersen <martin.petersen@xxxxxxxxxx>; Krzysztof Kozlowski ><krzysztof.kozlowski@xxxxxxxxxxxxx> >Cc: Bean Huo <beanhuo@xxxxxxxxxx>; Bart Van Assche ><bvanassche@xxxxxxx>; Adrian Hunter <adrian.hunter@xxxxxxxxx>; Christoph >Hellwig <hch@xxxxxxxxxxxxx>; Can Guo <cang@xxxxxxxxxxxxxx>; Jaegeuk Kim ><jaegeuk@xxxxxxxxxx>; Gyunghoon Kwon <goodjob.kwon@xxxxxxxxxxx>; >linux-samsung-soc@xxxxxxxxxxxxxxx; linux-scsi@xxxxxxxxxxxxxxx; jongmin jeong ><jjmin.jeong@xxxxxxxxxxx>; Chanho Park <chanho61.park@xxxxxxxxxxx> >Subject: [PATCH v3 02/17] scsi: ufs: add quirk to enable host controller without ph >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 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> >Signed-off-by: jongmin jeong <jjmin.jeong@xxxxxxxxxxx> >Signed-off-by: Chanho Park <chanho61.park@xxxxxxxxxxx> >--- Reviewed-by: Alim Akhtar <alim.akhtar@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 >8a45e8c05965..628ef8e17531 100644 >--- a/drivers/scsi/ufs/ufshcd.c >+++ b/drivers/scsi/ufs/ufshcd.c >@@ -8066,6 +8066,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 >e1d8fd432614..e547fbd19d49 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