Book a Demo!
CoCalc Logo Icon
StoreFeaturesDocsShareSupportNewsAboutPoliciesSign UpSign In
awilliam
GitHub Repository: awilliam/linux-vfio
Path: blob/master/drivers/mmc/card/queue.h
15109 views
1
#ifndef MMC_QUEUE_H
2
#define MMC_QUEUE_H
3
4
struct request;
5
struct task_struct;
6
7
struct mmc_queue {
8
struct mmc_card *card;
9
struct task_struct *thread;
10
struct semaphore thread_sem;
11
unsigned int flags;
12
struct request *req;
13
int (*issue_fn)(struct mmc_queue *, struct request *);
14
void *data;
15
struct request_queue *queue;
16
struct scatterlist *sg;
17
char *bounce_buf;
18
struct scatterlist *bounce_sg;
19
unsigned int bounce_sg_len;
20
};
21
22
extern int mmc_init_queue(struct mmc_queue *, struct mmc_card *, spinlock_t *,
23
const char *);
24
extern void mmc_cleanup_queue(struct mmc_queue *);
25
extern void mmc_queue_suspend(struct mmc_queue *);
26
extern void mmc_queue_resume(struct mmc_queue *);
27
28
extern unsigned int mmc_queue_map_sg(struct mmc_queue *);
29
extern void mmc_queue_bounce_pre(struct mmc_queue *);
30
extern void mmc_queue_bounce_post(struct mmc_queue *);
31
32
#endif
33
34