linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Namjae Jeon <linkinjeon@gmail.com>
To: Santosh Y <santoshsy@gmail.com>
Cc: James.Bottomley@hansenpartnership.com,
	linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org,
	patches@linaro.org, linux-samsung-soc@vger.kernel.org,
	arnd@linaro.org, girish.shivananjappa@linaro.org,
	saugata.das@linaro.org, vishak.g@samsung.com, venkat@linaro.org,
	k.rajesh@samsung.com, yejin.moon@samsung.com, dsaxena@linaro.org,
	ilho215.lee@samsung.com, nala.la@samsung.com,
	stephen.doel@linaro.org, sreekumar.c@samsung.com
Subject: Re: [PATCH v2 0/5] [SCSI] ufshcd: UFS Host Controller Driver
Date: Sat, 25 Feb 2012 17:09:28 +0530	[thread overview]
Message-ID: <CAKYAXd-N1bO6ru2Xt91oNi7Dw7SW-G6kcqv7=RKfSLNf5SJweA@mail.gmail.com> (raw)
In-Reply-To: <1330067945-9128-1-git-send-email-santoshsy@gmail.com>

Hi. Santosh.

The whole patch-set looks good to me.

Reviewed-by: Namjae Jeon <linkinjeon@gmail.com>

2012/2/24 Santosh Y <santoshsy@gmail.com>:
> From: Santosh Yaraganavi <santoshsy@gmail.com>
>
> UFS:
> Universal Flash Storage is a storage specification for flash devices.
> It is aimed to provide a universal storage interface for both
> embedded and removable flash memory based storage in mobile
> devices such as smart phones and tablet computers. The specification
> is defined by JEDEC Solid State Technology Association. UFS is based
> on MIPI M-PHY physical layer standard. UFS uses MIPI M-PHY as the
> physical layer and MIPI Unipro as the link layer.
>
> The main goals of UFS is to provide,
>  - Optimized performance:
>   For UFS version 1.0 and 1.1 the target performance is as follows,
>   Support for Gear1 is mandatory (rate A: 1248Mbps, rate B: 1457.6Mbps)
>   Support for Gear2 is optional (rate A: 2496Mbps, rate B: 2915.2Mbps)
>   Future version of the standard,
>   Gear3 (rate A: 4992Mbps, rate B: 5830.4Mbps)
>  - Low power consumption
>  - High random IOPs and low latency
>
> UFS Architecture Overview:
> UFS has a layered communication architecture which is based on SCSI
> SAM-5 architectural model.
>
> UFS communication architecture consists of following layers,
>
> * Application Layer: It is composed of UFS command set layer(UCS),
>  Task Manager and Device manager. The UFS interface is designed to be
>  protocol agnostic, however SCSI has been selected as a baseline
>  protocol for versions 1.0 and 1.1 of UFS protocol  layer.
>  UFS supports subset of SCSI commands defined by SPC-4 and SBC-3.
>  - UCS: It handles SCSI commands supported by UFS specification.
>  - Task manager: It handles task management functions defined by the
>    UFS which are meant for command queue control.
>  - Device manager: It handles device level operations and device
>    configuration operations. Device level operations mainly involve
>    device power management operations and commands to Interconnect
>    layers. Device level configurations involve handling of query
>    requests which are used to modify and retrieve configuration
>    information of the device.
>
> * UFS Transport Protocol(UTP) layer: UTP layer provides services for
>  the higher layers through Service Access Points. UTP defines 3
>  service access points for higher layers.
>  - UDM_SAP: Device manager service access point is exposed to device
>    manager for device level operations. These device level operations
>    are done through query requests.
>  - UTP_CMD_SAP: Command service access point is exposed to UFS command
>    set layer(UCS) to transport commands.
>  - UTP_TM_SAP: Task management service access point is exposed to task
>    manager to transport task management functions.
>  UTP transports messages through UFS protocol information unit(UPIU).
>
> * UFS Interconnect Layer(UIC): This is the lowest layer of UFS layered
>  architecture. It handles connection between UFS host and UFS device.
>  UIC consists of MIPI UniPro and MIPI M-PHY. UIC provides 2 service
>  access points to upper layer,
>  - UIC_SAP: To transport UPIU between UFS host and UFS device.
>  - UIO_SAP: To issue commands to Unipro layers.
>
> UFSHCD:
> The UFS host controller driver is based on Linux SCSI Framework.
> UFSHCD is a low level device driver which acts as an interface between
> SCSI Midlayer and PCIe based UFS host controllers.
>
> The current UFSHCD implementation supports following functionality,
>  - UFS controller initialization: The initialization module brings UFS
>   host controller to active state and prepares the controller to
>   transfer commands/response between UFSHCD and UFS device.
>  - UTP Transfer requests: Transfer request handling module of UFSHCD
>   receives SCSI commands from SCSI Midlayer, forms UPIUs and issues
>   the UPIUs to UFS Host controller. Also, the module decodes responses
>   received from UFS host controller in the form of UPIUs and intimates
>   the SCSI Midlayer of the status of the command.
>  - UFS error handling: Error handling module handles Host controller
>   fatal errors, Device fatal errors and UIC interconnect layer related
>   errors.
>  - SCSI Error handling: This is done through UFSHCD SCSI error handling
>   routines registered with SCSI Midlayer. Examples of some of the error
>   handling commands issues by SCSI Midlayer are Abort task, Lun reset
>   and host reset. UFSHCD Routines to perform these tasks are registered
>   with SCSI Midlayer through .eh_abort_handler, .eh_device_reset_handler
>   and .eh_host_reset_handler.
>
> In this version of UFSHCD Query requests and power management
> functionality are not implemented.
>
> This patchset is successfully applied on 3.3-rc4
>
> UFS Specifications can be found at,
> UFS - http://www.jedec.org/sites/default/files/docs/JESD220.pdf
> UFSHCI - http://www.jedec.org/sites/default/files/docs/JESD223.pdf
>
> Santosh Yaraganavi (5):
>  [SCSI] ufshcd: UFS Host controller driver
>  [SCSI] ufshcd: UFS UTP Transfer requests handling
>  [SCSI] ufshcd: UFSHCI error handling
>  [SCSI] ufshcd: SCSI error handling
>  Documentation: UFS Host Controller Driver
>
>  Documentation/scsi/00-INDEX |    2 +
>  Documentation/scsi/ufs.txt  |   89 ++
>  drivers/scsi/Kconfig        |    1 +
>  drivers/scsi/Makefile       |    1 +
>  drivers/scsi/ufs/Kconfig    |   49 ++
>  drivers/scsi/ufs/Makefile   |    2 +
>  drivers/scsi/ufs/ufs.h      |  207 +++++
>  drivers/scsi/ufs/ufshcd.c   | 1985 +++++++++++++++++++++++++++++++++++++++++++
>  drivers/scsi/ufs/ufshci.h   |  376 ++++++++
>  9 files changed, 2712 insertions(+), 0 deletions(-)
>  create mode 100644 Documentation/scsi/ufs.txt
>  create mode 100644 drivers/scsi/ufs/Kconfig
>  create mode 100644 drivers/scsi/ufs/Makefile
>  create mode 100644 drivers/scsi/ufs/ufs.h
>  create mode 100644 drivers/scsi/ufs/ufshcd.c
>  create mode 100644 drivers/scsi/ufs/ufshci.h
>
> --
> 1.7.5.4
>
> --
> To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> Please read the FAQ at  http://www.tux.org/lkml/

  parent reply	other threads:[~2012-02-25 11:39 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-24  7:19 [PATCH v2 0/5] [SCSI] ufshcd: UFS Host Controller Driver Santosh Y
2012-02-24  7:19 ` [PATCH v2 1/5] [SCSI] ufshcd: UFS Host controller driver Santosh Y
2012-02-24  7:19 ` [PATCH v2 2/5] [SCSI] ufshcd: UFS UTP Transfer requests handling Santosh Y
2012-02-25 19:10   ` Mike Christie
2012-02-27  6:20     ` Santosh Y
2012-02-24  7:19 ` [PATCH v2 3/5] [SCSI] ufshcd: UFSHCI error handling Santosh Y
2012-02-24  7:19 ` [PATCH v2 4/5] [SCSI] ufshcd: SCSI " Santosh Y
2012-02-26  4:46   ` Hillf Danton
2012-02-27  6:22     ` Santosh Y
2012-02-24  7:19 ` [PATCH v2 5/5] Documentation: UFS Host Controller Driver Santosh Y
2012-02-25 11:39 ` Namjae Jeon [this message]
2012-03-22  1:47 ` [PATCH v2 0/5] [SCSI] ufshcd: " Deepak Saxena
2012-03-22  4:04   ` Santosh Y

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='CAKYAXd-N1bO6ru2Xt91oNi7Dw7SW-G6kcqv7=RKfSLNf5SJweA@mail.gmail.com' \
    --to=linkinjeon@gmail.com \
    --cc=James.Bottomley@hansenpartnership.com \
    --cc=arnd@linaro.org \
    --cc=dsaxena@linaro.org \
    --cc=girish.shivananjappa@linaro.org \
    --cc=ilho215.lee@samsung.com \
    --cc=k.rajesh@samsung.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-samsung-soc@vger.kernel.org \
    --cc=linux-scsi@vger.kernel.org \
    --cc=nala.la@samsung.com \
    --cc=patches@linaro.org \
    --cc=santoshsy@gmail.com \
    --cc=saugata.das@linaro.org \
    --cc=sreekumar.c@samsung.com \
    --cc=stephen.doel@linaro.org \
    --cc=venkat@linaro.org \
    --cc=vishak.g@samsung.com \
    --cc=yejin.moon@samsung.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).