diff options
| author | Adrian Hunter <adrian.hunter@intel.com> | 2017-08-10 08:08:07 -0400 |
|---|---|---|
| committer | Ulf Hansson <ulf.hansson@linaro.org> | 2017-08-30 08:02:01 -0400 |
| commit | d2f82254e4e862662e7820953b049b7d4d660ec7 (patch) | |
| tree | c33dcdea54b78ff3f03bdf960c0b09d0c34273cf /include/linux/mmc | |
| parent | bf517d6fec719980fe3b7acd9670a68442a372b7 (diff) | |
mmc: core: Add members to mmc_request and mmc_data for CQE's
Most of the information needed to issue requests to a CQE is already in
struct mmc_request and struct mmc_data. Add data block address, some flags,
and the task id (tag), and allow for cmd being NULL which it is for CQE
tasks.
Signed-off-by: Adrian Hunter <adrian.hunter@intel.com>
Signed-off-by: Ulf Hansson <ulf.hansson@linaro.org>
Diffstat (limited to 'include/linux/mmc')
| -rw-r--r-- | include/linux/mmc/core.h | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/include/linux/mmc/core.h b/include/linux/mmc/core.h index a0c63ea28796..bf1788a224e6 100644 --- a/include/linux/mmc/core.h +++ b/include/linux/mmc/core.h | |||
| @@ -122,11 +122,18 @@ struct mmc_data { | |||
| 122 | unsigned int timeout_clks; /* data timeout (in clocks) */ | 122 | unsigned int timeout_clks; /* data timeout (in clocks) */ |
| 123 | unsigned int blksz; /* data block size */ | 123 | unsigned int blksz; /* data block size */ |
| 124 | unsigned int blocks; /* number of blocks */ | 124 | unsigned int blocks; /* number of blocks */ |
| 125 | unsigned int blk_addr; /* block address */ | ||
| 125 | int error; /* data error */ | 126 | int error; /* data error */ |
| 126 | unsigned int flags; | 127 | unsigned int flags; |
| 127 | 128 | ||
| 128 | #define MMC_DATA_WRITE (1 << 8) | 129 | #define MMC_DATA_WRITE BIT(8) |
| 129 | #define MMC_DATA_READ (1 << 9) | 130 | #define MMC_DATA_READ BIT(9) |
| 131 | /* Extra flags used by CQE */ | ||
| 132 | #define MMC_DATA_QBR BIT(10) /* CQE queue barrier*/ | ||
| 133 | #define MMC_DATA_PRIO BIT(11) /* CQE high priority */ | ||
| 134 | #define MMC_DATA_REL_WR BIT(12) /* Reliable write */ | ||
| 135 | #define MMC_DATA_DAT_TAG BIT(13) /* Tag request */ | ||
| 136 | #define MMC_DATA_FORCED_PRG BIT(14) /* Forced programming */ | ||
| 130 | 137 | ||
| 131 | unsigned int bytes_xfered; | 138 | unsigned int bytes_xfered; |
| 132 | 139 | ||
| @@ -153,6 +160,8 @@ struct mmc_request { | |||
| 153 | 160 | ||
| 154 | /* Allow other commands during this ongoing data transfer or busy wait */ | 161 | /* Allow other commands during this ongoing data transfer or busy wait */ |
| 155 | bool cap_cmd_during_tfr; | 162 | bool cap_cmd_during_tfr; |
| 163 | |||
| 164 | int tag; | ||
| 156 | }; | 165 | }; |
| 157 | 166 | ||
| 158 | struct mmc_card; | 167 | struct mmc_card; |
