]> git.baikalelectronics.ru Git - kernel.git/commit
mmc: block: Add new ioctl to send multi commands
authorJon Hunter <jonathanh@nvidia.com>
Tue, 22 Sep 2015 09:27:53 +0000 (10:27 +0100)
committerUlf Hansson <ulf.hansson@linaro.org>
Mon, 26 Oct 2015 15:00:00 +0000 (16:00 +0100)
commit22f47dc20bd49e6b6d4f9bc399848e0090ff57a4
tree59d6825b63a06eb28f83cce482df405f5228e3ac
parentd1d4f2a05077bedf0a2b8772d9dd3343ab109324
mmc: block: Add new ioctl to send multi commands

Certain eMMC devices allow vendor specific device information to be read
via a sequence of vendor commands. These vendor commands must be issued
in sequence and an atomic fashion. One way to support this would be to
add an ioctl function for sending a sequence of commands to the device
atomically as proposed here. These multi commands are simple array of
the existing mmc_ioc_cmd structure.

The structure passed via the ioctl uses a __u64 type to specify the number
of commands (so that the structure is aligned on a 64-bit boundary) and a
zero length array as a header for list of commands to be issued. The
maximum number of commands that can be sent is determined by
MMC_IOC_MAX_CMDS (which defaults to 255 and should be more than
sufficient).

This based upon work by Seshagiri Holi <sholi@nvidia.com>.

Signed-off-by: Seshagiri Holi <sholi@nvidia.com>
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
drivers/mmc/card/block.c
include/uapi/linux/mmc/ioctl.h