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

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

 



Hi Chanho 

>-----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 01/17] scsi: ufs: add quirk to handle broken UIC command
>
>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>
>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
>3841ab49f556..8a45e8c05965 100644
>--- a/drivers/scsi/ufs/ufshcd.c
>+++ b/drivers/scsi/ufs/ufshcd.c
>@@ -2324,6 +2324,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
>52ea6f350b18..e1d8fd432614 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