diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 12:09:22 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-07-31 12:09:22 -0700 |
commit | d27d4e2a660939f1bdf74f0e24c4c109f90cd98d (patch) | |
tree | 6e25f5e9f62d60589734ee0e8539c24123c1340a /include | |
parent | dbe63a2cde07f4bccb2b2e4b35241491d8e096f6 (diff) | |
parent | 3822a0e38c329a598cb6f5baa16be7504e0db8d9 (diff) | |
download | linux-3.10-d27d4e2a660939f1bdf74f0e24c4c109f90cd98d.tar.gz linux-3.10-d27d4e2a660939f1bdf74f0e24c4c109f90cd98d.tar.bz2 linux-3.10-d27d4e2a660939f1bdf74f0e24c4c109f90cd98d.zip |
Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:
mmc: orphan subsystem
imxmmc: Remove unnecessary semicolons
cb710: use SG_MITER_TO_SG/SG_MITER_FROM_SG
sdhci: use SG_MITER_TO_SG/SG_MITER_FROM_SG
lib/scatterlist: add a flags to signalize mapping direction
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/cb710.h | 29 | ||||
-rw-r--r-- | include/linux/scatterlist.h | 2 |
2 files changed, 5 insertions, 26 deletions
diff --git a/include/linux/cb710.h b/include/linux/cb710.h index 63bc9a4d292..8cc10411bab 100644 --- a/include/linux/cb710.h +++ b/include/linux/cb710.h @@ -140,29 +140,6 @@ void cb710_dump_regs(struct cb710_chip *chip, unsigned dump); #include <linux/highmem.h> #include <linux/scatterlist.h> -/** - * cb710_sg_miter_stop_writing - stop mapping iteration after writing - * @miter: sg mapping iter to be stopped - * - * Description: - * Stops mapping iterator @miter. @miter should have been started - * started using sg_miter_start(). A stopped iteration can be - * resumed by calling sg_miter_next() on it. This is useful when - * resources (kmap) need to be released during iteration. - * - * This is a convenience wrapper that will be optimized out for arches - * that don't need flush_kernel_dcache_page(). - * - * Context: - * IRQ disabled if the SG_MITER_ATOMIC is set. Don't care otherwise. - */ -static inline void cb710_sg_miter_stop_writing(struct sg_mapping_iter *miter) -{ - if (miter->page) - flush_kernel_dcache_page(miter->page); - sg_miter_stop(miter); -} - /* * 32-bit PIO mapping sg iterator * @@ -171,12 +148,12 @@ static inline void cb710_sg_miter_stop_writing(struct sg_mapping_iter *miter) * without DMA support). * * Best-case reading (transfer from device): - * sg_miter_start(); + * sg_miter_start(, SG_MITER_TO_SG); * cb710_sg_dwiter_write_from_io(); - * cb710_sg_miter_stop_writing(); + * sg_miter_stop(); * * Best-case writing (transfer to device): - * sg_miter_start(); + * sg_miter_start(, SG_MITER_FROM_SG); * cb710_sg_dwiter_read_to_io(); * sg_miter_stop(); */ diff --git a/include/linux/scatterlist.h b/include/linux/scatterlist.h index e5996984ddd..9aaf5bfdad1 100644 --- a/include/linux/scatterlist.h +++ b/include/linux/scatterlist.h @@ -242,6 +242,8 @@ size_t sg_copy_to_buffer(struct scatterlist *sgl, unsigned int nents, */ #define SG_MITER_ATOMIC (1 << 0) /* use kmap_atomic */ +#define SG_MITER_TO_SG (1 << 1) /* flush back to phys on unmap */ +#define SG_MITER_FROM_SG (1 << 2) /* nop */ struct sg_mapping_iter { /* the following three fields can be accessed directly */ |