OpenCores
URL https://opencores.org/ocsvn/hf-risc/hf-risc/trunk

Subversion Repositories hf-risc

[/] [hf-risc/] [trunk/] [tools/] [riscv-gnu-toolchain-master/] [linux-headers/] [include/] [linux/] [mmc/] [ioctl.h] - Blame information for rev 13

Details | Compare with Previous | View Log

Line No. Rev Author Line
1 13 serginhofr
#ifndef LINUX_MMC_IOCTL_H
2
#define LINUX_MMC_IOCTL_H
3
 
4
#include <linux/types.h>
5
 
6
struct mmc_ioc_cmd {
7
        /* Implies direction of data.  true = write, false = read */
8
        int write_flag;
9
 
10
        /* Application-specific command.  true = precede with CMD55 */
11
        int is_acmd;
12
 
13
        __u32 opcode;
14
        __u32 arg;
15
        __u32 response[4];  /* CMD response */
16
        unsigned int flags;
17
        unsigned int blksz;
18
        unsigned int blocks;
19
 
20
        /*
21
         * Sleep at least postsleep_min_us useconds, and at most
22
         * postsleep_max_us useconds *after* issuing command.  Needed for
23
         * some read commands for which cards have no other way of indicating
24
         * they're ready for the next command (i.e. there is no equivalent of
25
         * a "busy" indicator for read operations).
26
         */
27
        unsigned int postsleep_min_us;
28
        unsigned int postsleep_max_us;
29
 
30
        /*
31
         * Override driver-computed timeouts.  Note the difference in units!
32
         */
33
        unsigned int data_timeout_ns;
34
        unsigned int cmd_timeout_ms;
35
 
36
        /*
37
         * For 64-bit machines, the next member, ``__u64 data_ptr``, wants to
38
         * be 8-byte aligned.  Make sure this struct is the same size when
39
         * built for 32-bit.
40
         */
41
        __u32 __pad;
42
 
43
        /* DAT buffer */
44
        __u64 data_ptr;
45
};
46
#define mmc_ioc_cmd_set_data(ic, ptr) ic.data_ptr = (__u64)(unsigned long) ptr
47
 
48
#define MMC_IOC_CMD _IOWR(MMC_BLOCK_MAJOR, 0, struct mmc_ioc_cmd)
49
 
50
/*
51
 * Since this ioctl is only meant to enhance (and not replace) normal access
52
 * to the mmc bus device, an upper data transfer limit of MMC_IOC_MAX_BYTES
53
 * is enforced per ioctl call.  For larger data transfers, use the normal
54
 * block device operations.
55
 */
56
#define MMC_IOC_MAX_BYTES  (512L * 256)
57
#endif /* LINUX_MMC_IOCTL_H */

powered by: WebSVN 2.1.0

© copyright 1999-2024 OpenCores.org, equivalent to Oliscience, all rights reserved. OpenCores®, registered trademark.