1 extern struct page *mem_map;
10 unsigned int cmd_flags;
12 inline __attribute__ ((always_inline))
13 void sg_set_buf(struct scatterlist *sg, const void *buf, unsigned int buflen)
17 ((((unsigned long)(buf) - 0x80000000) >> 12) -
18 ((0x0C000000 >> 12))));
19 sg->offset = ((unsigned long)(buf) & ~(~((1UL << 12) - 1)));
22 inline __attribute__ ((always_inline))
23 void sg_init_one(struct scatterlist *sg, const void *buf, unsigned int buflen)
25 memset(sg, 0, sizeof(*sg));
26 sg_set_buf(sg, buf, buflen);
32 struct mmc_card *card;
36 struct mmc_queue queue;
38 static unsigned int mmc_sd_num_wr_blocks(struct mmc_card *card)
41 struct scatterlist sg;
42 sg_init_one(&sg, &blocks, 4);
44 int mmc_blk_issue_rq(struct mmc_queue *mq, struct request *req)
46 struct mmc_blk_data *md = mq->data;
47 struct mmc_card *card = md->queue.card;
48 if (((req)->cmd_flags & 1) != 0 && ((card)->state & (1 << 3))) {
50 blocks = mmc_sd_num_wr_blocks(card);
51 if (blocks != (unsigned int)-1) {