linux/drivers/scsi/ufs
Avri Altman 5e0a86eed8 scsi: ufs: Add API to execute raw upiu commands
The UFS host software uses a combination of a host register set and
Transfer Request Descriptors in system memory to communicate with host
controller hardware. In its mmio space, a separate places are assigned
to UTP Transfer Request Descriptor ("utrd") list, and to UTP Task
Management Request Descriptor ("utmrd") list.

The provided API supports utrd-typed requests: nop out and device
management commands. It also supports utmrd-type requests:
task management requests. Other UPIU types are not supported for now.

We utilize the already existing code for tag and task work queues.
That is, all utrd-typed UPIUs are "disguised" as device management
commands. Similarly, the utmrd-typed UPUIs uses the task management
infrastructure.

It is up to the caller to fill the upiu request properly, as it will be
copied without any further input validations.

Signed-off-by: Avri Altman <avri.altman@wdc.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Bart Van Assche <Bart.VanAssche@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
2018-10-10 23:09:46 -04:00
..
Kconfig scsi: ufs: Add a bsg endpoint that supports UPIUs 2018-10-10 23:09:46 -04:00
Makefile scsi: ufs: Add a bsg endpoint that supports UPIUs 2018-10-10 23:09:46 -04:00
tc-dwc-g210-pci.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
tc-dwc-g210-pltfrm.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
tc-dwc-g210.c
tc-dwc-g210.h
ufs_bsg.c scsi: ufs: Add a bsg endpoint that supports UPIUs 2018-10-10 23:09:46 -04:00
ufs_bsg.h scsi: ufs: Add a bsg endpoint that supports UPIUs 2018-10-10 23:09:46 -04:00
ufs_quirks.h
ufs-hisi.c scsi: ufs: add Hisilicon ufs driver code 2018-07-19 21:57:39 -04:00
ufs-hisi.h scsi: ufs: add Hisilicon ufs driver code 2018-07-19 21:57:39 -04:00
ufs-qcom.c scsi: ufs: ufshcd_dump_regs to use memcpy_fromio 2018-06-19 22:02:25 -04:00
ufs-qcom.h
ufs-sysfs.c scsi: ufs: Add support for Auto-Hibernate Idle Timer 2018-03-21 21:21:25 -04:00
ufs-sysfs.h scsi: ufs: sysfs: attributes 2018-02-15 18:35:05 -05:00
ufs.h scsi: ufs: Add API to execute raw upiu commands 2018-10-10 23:09:46 -04:00
ufshcd-dwc.c
ufshcd-dwc.h
ufshcd-pci.c scsi: ufs: Fix kernel-doc errors and warnings 2018-03-01 21:00:23 -05:00
ufshcd-pltfrm.c treewide: devm_kzalloc() -> devm_kcalloc() 2018-06-12 16:19:22 -07:00
ufshcd-pltfrm.h
ufshcd.c scsi: ufs: Add API to execute raw upiu commands 2018-10-10 23:09:46 -04:00
ufshcd.h scsi: ufs: Add API to execute raw upiu commands 2018-10-10 23:09:46 -04:00
ufshci-dwc.h
ufshci.h scsi: ufs: cleanup struct utp_task_req_desc 2018-10-10 23:09:46 -04:00
unipro.h