linux-scsi.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 0/3] Add quirk to support exynos ufshci
Date: Thu, 27 May 2021 12:08:58 +0900	[thread overview]
Message-ID: <20210527030901.88403-1-jjmin.jeong@samsung.com> (raw)
In-Reply-To: CGME20210527031217epcas2p44b9d999edcc55b345dfd0749acefeaec@epcas2p4.samsung.com

In ExynosAuto(variant of the Exynos for automotive), the UFS Storage needs
to be accessed from multi-OS.
To increase IO performance and reduce SW complexity, we implemented UFS-IOV
to support storage IO virtualization feature on UFS.

IO virtualization increases IO performance and reduce SW complexity
with small area cost. And IO virtualization supports virtual machine isolation
for Security and Safety which are requested by Multi-OS system such as
automotive application.

Below figure is the conception of UFS-IOV architeture.

    +------+          +------+
    | OS#1 |          | OS#2 |
    +------+          +------+
       |                 |
 +------------+     +------------+
 |  Physical  |     |   Virtual  |
 |    Host    |     |    Host    |
 +------------+     +------------+
   |      |              | <-- UTP_CMD_SAP, UTP_TM_SAP
   |   +-------------------------+
   |   |    Function Arbitor     |
   |   +-------------------------+
 +-------------------------------+
 |           UTP Layer           |
 +-------------------------------+
 +-------------------------------+
 |           UIC Layer           |
 +-------------------------------+

There are two types of host controllers on the UFS host controller
that we designed.
The UFS device has a Function Arbitor that arranges commands of each host.
When each host transmits a command to the Arbitor, the Arbitor transmits it
to the UTP layer.
Physical Host(PH) support all UFSHCI functions(all SAPs) same as conventional
UFSHCI.
Virtual Host(VH) support only data transfer function(UTP_CMD_SAP and UTP_TM_SAP).

In an environment where multiple OSs are used, the OS that has the leadership of
the system is called System OS. This system OS uses PH and controls error handling.

Since VH can only use less functions than PH, it is necessary to send a request
to PH for Detected Error Handling in VH. To interface among PH and VHs,
UFSHCI HW supports mailbox. PH can broadcast mail to other VH at the same time
with arguments and VH can mail to PH with arguments.
PH and VH generate interrupts when mails from PH or VH.

In this structure, the virtual host can't support some feature and need to skip
the some part of ufshcd code by using quirk.
This patchs add quirks so that the UIC command is ignored and the ufshcd init
process can be skipped for VH. Also, according to our UFS-IOV policy,
we added a quirk to the abort handler or device reset handler to call
the host reset handler.

jongmin jeong (3):
  scsi: ufs: add quirk to handle broken UIC command
  scsi: ufs: add quirk to enable host controller without interface
    configuration
  scsi: ufs: add quirk to support host reset only

 drivers/scsi/ufs/ufshcd.c | 13 +++++++++++++
 drivers/scsi/ufs/ufshcd.h | 18 ++++++++++++++++++
 2 files changed, 31 insertions(+)

-- 
2.31.1


       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 ` jongmin jeong [this message]
     [not found]   ` <CGME20210527031219epcas2p313fcf248833cf14ec9a164dd91a1ca13@epcas2p3.samsung.com>
2021-05-27  3:08     ` [PATCH 1/3] scsi: ufs: add quirk to handle broken UIC command jongmin jeong
2021-05-27  8:00       ` 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-1-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).