diff options
author | Russell King <rmk@dyn-67.arm.linux.org.uk> | 2006-01-09 16:12:17 -0500 |
---|---|---|
committer | Russell King <rmk+kernel@arm.linux.org.uk> | 2006-01-09 16:12:17 -0500 |
commit | 788ee7b09883515f3a72a8f2a980df5e94f37e2c (patch) | |
tree | bc66a1450d6644e712d6ca7acc1ffd725d48c5fc | |
parent | cfa7f52164d6cdcb6cea87386562c568da66ff9e (diff) |
[MMC] Add DATA_MULTI flag
Some hosts need to know that a transfer will be multi-block.
Add a data flag to indicate multiple data block transfers.
Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
-rw-r--r-- | drivers/mmc/mmc_block.c | 8 | ||||
-rw-r--r-- | include/linux/mmc/mmc.h | 1 |
2 files changed, 8 insertions, 1 deletions
diff --git a/drivers/mmc/mmc_block.c b/drivers/mmc/mmc_block.c index 198561d21710..f43cdfcbfd2c 100644 --- a/drivers/mmc/mmc_block.c +++ b/drivers/mmc/mmc_block.c | |||
@@ -200,7 +200,13 @@ static int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req) | |||
200 | brq.data.flags |= MMC_DATA_WRITE; | 200 | brq.data.flags |= MMC_DATA_WRITE; |
201 | brq.data.blocks = 1; | 201 | brq.data.blocks = 1; |
202 | } | 202 | } |
203 | brq.mrq.stop = brq.data.blocks > 1 ? &brq.stop : NULL; | 203 | |
204 | if (brq.data.blocks > 1) { | ||
205 | brq.data.flags |= MMC_DATA_MULTI; | ||
206 | brq.mrq.stop = &brq.stop; | ||
207 | } else { | ||
208 | brq.mrq.stop = NULL; | ||
209 | } | ||
204 | 210 | ||
205 | brq.data.sg = mq->sg; | 211 | brq.data.sg = mq->sg; |
206 | brq.data.sg_len = blk_rq_map_sg(req->q, req, brq.data.sg); | 212 | brq.data.sg_len = blk_rq_map_sg(req->q, req, brq.data.sg); |
diff --git a/include/linux/mmc/mmc.h b/include/linux/mmc/mmc.h index aef6042f8f0b..86d491b3b73f 100644 --- a/include/linux/mmc/mmc.h +++ b/include/linux/mmc/mmc.h | |||
@@ -64,6 +64,7 @@ struct mmc_data { | |||
64 | #define MMC_DATA_WRITE (1 << 8) | 64 | #define MMC_DATA_WRITE (1 << 8) |
65 | #define MMC_DATA_READ (1 << 9) | 65 | #define MMC_DATA_READ (1 << 9) |
66 | #define MMC_DATA_STREAM (1 << 10) | 66 | #define MMC_DATA_STREAM (1 << 10) |
67 | #define MMC_DATA_MULTI (1 << 11) | ||
67 | 68 | ||
68 | unsigned int bytes_xfered; | 69 | unsigned int bytes_xfered; |
69 | 70 | ||