linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: jongmin jeong <jjmin.jeong@samsung.com>
To: jejb@linux.ibm.com, martin.petersen@oracle.com
Cc: alim.akhtar@samsung.com, avri.altman@wdc.com,
	cang@codeaurora.org, beanhuo@micron.com, adrian.hunter@intel.com,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	jjmin.jeong@samsung.com
Subject: [PATCH 1/3] scsi: ufs: add quirk to handle broken UIC command
Date: Thu, 27 May 2021 12:08:59 +0900	[thread overview]
Message-ID: <20210527030901.88403-2-jjmin.jeong@samsung.com> (raw)
In-Reply-To: <20210527030901.88403-1-jjmin.jeong@samsung.com>

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 UIC command.
To support this, we add the quirk and return 0 when the UIC command
send function is called.

Change-Id: Ie528726b29bcb643149440bf1c90eaa5995c5ac1
Signed-off-by: jongmin jeong <jjmin.jeong@samsung.com>
---
 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 4ba3bbf14df0..ec663cb58233 100644
--- a/drivers/scsi/ufs/ufshcd.c
+++ b/drivers/scsi/ufs/ufshcd.c
@@ -2318,6 +2318,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 0f0e62bfdafd..4a929bf7cf8e 100644
--- a/drivers/scsi/ufs/ufshcd.h
+++ b/drivers/scsi/ufs/ufshcd.h
@@ -569,6 +569,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.31.1


  parent reply	other threads:[~2021-05-27  3:12 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
     [not found] <CGME20210527031217epcas2p44b9d999edcc55b345dfd0749acefeaec@epcas2p4.samsung.com>
2021-05-27  3:08 ` [PATCH 0/3] Add quirk to support exynos ufshci jongmin jeong
     [not found]   ` <CGME20210527031219epcas2p313fcf248833cf14ec9a164dd91a1ca13@epcas2p3.samsung.com>
2021-05-27  3:08     ` jongmin jeong [this message]
2021-05-27  8:00       ` [PATCH 1/3] scsi: ufs: add quirk to handle broken UIC command Christoph Hellwig
2021-06-03  3:08         ` 정종민
     [not found]   ` <CGME20210527031220epcas2p269503cfa517d80af350c5344cdeb24c7@epcas2p2.samsung.com>
2021-05-27  3:09     ` [PATCH 2/3] scsi: ufs: add quirk to enable host controller without interface configuration jongmin jeong
     [not found]   ` <CGME20210527031220epcas2p41a5ba641919769ca95ccea81e5f3bfb0@epcas2p4.samsung.com>
2021-05-27  3:09     ` [PATCH 3/3] scsi: ufs: add quirk to support host reset only jongmin jeong
2021-05-27  6:08       ` kernel test robot
2021-05-27  6:31       ` Can Guo
2021-05-27  6:53       ` Can Guo
2021-06-03  3:21         ` 정종민
2021-05-27  7:34       ` kernel test robot
2021-05-27  8:17   ` [PATCH 0/3] Add quirk to support exynos ufshci Alim Akhtar
2021-05-27 16:40   ` Bart Van Assche

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210527030901.88403-2-jjmin.jeong@samsung.com \
    --to=jjmin.jeong@samsung.com \
    --cc=adrian.hunter@intel.com \
    --cc=alim.akhtar@samsung.com \
    --cc=avri.altman@wdc.com \
    --cc=beanhuo@micron.com \
    --cc=cang@codeaurora.org \
    --cc=jejb@linux.ibm.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=martin.petersen@oracle.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).