[PATCH 0/6] scsi: scsi transport for ufs devices

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

 



Here is a proposal to use the scsi transport subsystem to manage
ufs devices.

scsi transport is a framework that allow to send scsi commands to
a non-scsi devices. Still, it is flexible enough to allow
sending non-scsi commands as well. We will use this framework to
manage ufs devices by sending UPIU transactions.

We added a new scsi transport module, a ufs-bsg LLD companion, 
and some new API to the ufs driver.

For the time being, we will not use it for data transfer,
but just for device management per-se.
We are planning to add this capability in the future.

We tested it on a Hikey-960 platform with a V4.14 kernel,
"modernized" by recent bsg and ufs patches.
We also used a htc11 with a V4.4 kernel, but needed much more
transport/bsg/ufs patches to make it relevant.

Avri Altman (6):
  scsi: Add ufs transport class
  scsi: ufs: Add ufs-bsg module
  scsi: ufs: Instantiate a ufs transport if its available
  scsi: ufs: Add API to execute raw upiu commands
  scsi: ufs-bsg: Add support for raw upiu in ufs_bsg_request()
  scsi: ufs-bsg: Add support for uic commands in ufs_bsg_request()

 drivers/scsi/Kconfig              |  13 ++
 drivers/scsi/Makefile             |   1 +
 drivers/scsi/scsi_transport_ufs.c | 337 ++++++++++++++++++++++++++++++++++++++
 drivers/scsi/ufs/Makefile         |   1 +
 drivers/scsi/ufs/ufs_bsg.c        | 292 +++++++++++++++++++++++++++++++++
 drivers/scsi/ufs/ufs_bsg.h        |  76 +++++++++
 drivers/scsi/ufs/ufshcd.c         | 232 ++++++++++++++++++++++++++
 drivers/scsi/ufs/ufshcd.h         |   4 +
 include/scsi/scsi_transport_ufs.h |  40 +++++
 include/uapi/scsi/scsi_bsg_ufs.h  |  56 +++++++
 10 files changed, 1052 insertions(+)
 create mode 100644 drivers/scsi/scsi_transport_ufs.c
 create mode 100644 drivers/scsi/ufs/ufs_bsg.c
 create mode 100644 drivers/scsi/ufs/ufs_bsg.h
 create mode 100644 include/scsi/scsi_transport_ufs.h
 create mode 100644 include/uapi/scsi/scsi_bsg_ufs.h

-- 
1.9.1




[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