Message ID | 20211018124216.153072-2-chanho61.park@samsung.com (mailing list archive) |
---|---|
State | Not Applicable |
Headers | show |
Series | introduce exynosauto v9 ufs driver | expand |
Chanho, > 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. Applied to 5.16/scsi-staging, thanks! I skipped the dt-bindings patches since the relevant yaml file is not yet upstream.
> Applied to 5.16/scsi-staging, thanks! I skipped the dt-bindings patches > since the relevant yaml file is not yet upstream. Thanks. It has a dependency with the exynos,ufs dt-binding patch of Rob's tree. https://git.kernel.org/pub/scm/linux/kernel/git/robh/linux.git/commit/?h=dt/ linus&id=e22e509c1cd90b48ae31099905418de74515e56f Dear Rob, Could you pick them up on your tree? https://lore.kernel.org/linux-scsi/20211018124216.153072-1-chanho61.park@sam sung.com/T/#m16a3920d16ae8843a78fdbefbb402bd321e5ab31 https://lore.kernel.org/linux-scsi/20211018124216.153072-1-chanho61.park@sam sung.com/T/#mc9380270b1cdab2be6660444fd2f318b29caf182 Best Regards, Chanho Park
diff --git a/drivers/scsi/ufs/ufshcd.c b/drivers/scsi/ufs/ufshcd.c index bd5a088f12c4..3dbfae32599c 100644 --- a/drivers/scsi/ufs/ufshcd.c +++ b/drivers/scsi/ufs/ufshcd.c @@ -2323,6 +2323,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 64ce723327b9..5d39aeb2bccb 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -589,6 +589,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 {