The version of packing support excepted by the linux community is slightly different from the one that was merged. This revert is needed in order to upload the latest version from the linux community. This patch reverts the following commits: 1.mmc: card: Add eMMC4.5 write packed commands unit-tests 2.mmc: card: Fix packing control enabling algorithm 3.mmc: block: Add MMC write packing statistics 4.mmc: msm_sdcc: enable the write packing control 5.mmc: msm_sdcc: Enable write packing capability 6.mmc: block: Add write packing control 7.mmc: core: Support packed write command for eMMC4.5 device 8.mmc: core: Add packed command feature of eMMC4.5 (cherry picked from commit f94cf3da103b344b13fa4d6665fd21dad1b95ead) Change-Id: I2efc6dc8d8f6d5cc7e9efa99ec74914ffff96fcd commit: 9b54d88c6a11ebfe069b7fdebcb521da21754c3f commit: e2ecb58a6c5011549aac3e86fb1c13e7b7c65104 commit: e544d700e2dac1584a8172c4dc347d81ede203bd commit: 8afe8d2a98a1bbf3804162ff5c95a56226935f5a commit: 25e2261a556c4393f79d58bce814bb3df34b9549 commit: 63c61d6d8b8f37c71b4162b3affffdf72ac06811 commit: 968c774ea6466fa7adbf2eac333220132acda306 commit: 516994eee39282b8648b509e449ff83b49833209. Signed-off-by: Tatyana Brokhman <tlinder@codeaurora.org> (cherry picked from commit 31fe84d6edae65f9df5663538e528697897be86e) Signed-off-by: Maya Erez <merez@codeaurora.org>
50 lines
1.2 KiB
C
50 lines
1.2 KiB
C
#ifndef MMC_QUEUE_H
|
|
#define MMC_QUEUE_H
|
|
|
|
struct request;
|
|
struct task_struct;
|
|
|
|
struct mmc_blk_request {
|
|
struct mmc_request mrq;
|
|
struct mmc_command sbc;
|
|
struct mmc_command cmd;
|
|
struct mmc_command stop;
|
|
struct mmc_data data;
|
|
};
|
|
|
|
struct mmc_queue_req {
|
|
struct request *req;
|
|
struct mmc_blk_request brq;
|
|
struct scatterlist *sg;
|
|
char *bounce_buf;
|
|
struct scatterlist *bounce_sg;
|
|
unsigned int bounce_sg_len;
|
|
struct mmc_async_req mmc_active;
|
|
};
|
|
|
|
struct mmc_queue {
|
|
struct mmc_card *card;
|
|
struct task_struct *thread;
|
|
struct semaphore thread_sem;
|
|
unsigned int flags;
|
|
int (*issue_fn)(struct mmc_queue *, struct request *);
|
|
void *data;
|
|
struct request_queue *queue;
|
|
struct mmc_queue_req mqrq[2];
|
|
struct mmc_queue_req *mqrq_cur;
|
|
struct mmc_queue_req *mqrq_prev;
|
|
};
|
|
|
|
extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *,
|
|
const char *);
|
|
extern void mmc_cleanup_queue(struct mmc_queue *);
|
|
extern void mmc_queue_suspend(struct mmc_queue *);
|
|
extern void mmc_queue_resume(struct mmc_queue *);
|
|
|
|
extern unsigned int mmc_queue_map_sg(struct mmc_queue *,
|
|
struct mmc_queue_req *);
|
|
extern void mmc_queue_bounce_pre(struct mmc_queue_req *);
|
|
extern void mmc_queue_bounce_post(struct mmc_queue_req *);
|
|
|
|
#endif
|