Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1217797

Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands

From Olof Johansson <olof@lixom.net>
Newsgroups linux.kernel
Subject Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands
Date 2015-09-02 20:30 +0200
Message-ID <q4kXg-4BW-7@gated-at.bofh.it> (permalink)
References <q4hd1-7Er-43@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


Hi,

On Wed, Sep 2, 2015 at 7:21 AM, Jon Hunter <jonathanh@nvidia.com> wrote:
> From: Seshagiri Holi <sholi@nvidia.com>
>
> 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 combo commands are simple array of
> the existing mmc_ioc_cmd structure.

This seems reasonable to me, being able to do a sequence of
back-to-back operations without system read/writes slipping through.



> diff --git a/include/uapi/linux/mmc/ioctl.h b/include/uapi/linux/mmc/ioctl.h
> index 1f5e68923929..5943e51f22b3 100644
> --- a/include/uapi/linux/mmc/ioctl.h
> +++ b/include/uapi/linux/mmc/ioctl.h
> @@ -45,8 +45,23 @@ struct mmc_ioc_cmd {
>  };
>  #define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr
>
> -#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
> +/**
> + * struct mmc_ioc_combo_cmd - combo command information
> + * @num_of_cmds: number of commands to send
> + * @mmc_ioc_cmd_list: pointer to list of commands
> + */
> +struct mmc_ioc_combo_cmd {
> +       uint8_t num_of_cmds;
> +       struct mmc_ioc_cmd *mmc_ioc_cmd_list;
> +};

The size of this struct will depend on the pointer size of userspace.

It might be better to use a u64 for the pointer instead. Otherwise
you'd need a compat ioctl wrapper to copy a 32-bit pointer over on a
64-bit kernel.



-Olof
--
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/

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[RFC PATCH] mmc: block: Add new ioctl to send combo commands Jon Hunter <jonathanh@nvidia.com> - 2015-09-02 16:30 +0200
  Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands Olof Johansson <olof@lixom.net> - 2015-09-02 20:30 +0200
    Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands Grant Grundler <grundler@google.com> - 2015-09-03 00:10 +0200
      Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands Jon Hunter <jonathanh@nvidia.com> - 2015-09-03 17:20 +0200
        Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands Grant Grundler <grundler@chromium.org> - 2015-09-04 03:20 +0200
    Re: [RFC PATCH] mmc: block: Add new ioctl to send combo commands Jon Hunter <jonathanh@nvidia.com> - 2015-09-03 17:10 +0200

csiph-web