From 74b850c7478f34fca559ee773c3c458ebfb97220 Mon Sep 17 00:00:00 2001 From: Joerg Roedel Date: Fri, 9 Jan 2009 15:01:12 +0100 Subject: [PATCH] --- yaml --- r: 138927 b: refs/heads/master c: a31fba5d68cebf8f5fefd03e079dab94875e25f5 h: refs/heads/master i: 138925: 850455dcc6673edc9cd9681c5685d97fa43bbd3a 138923: 5056da317e7f3562bc882d53c25b52ecdd7b81fe 138919: 194bfd2642c3bd3483fda3feae1416f120c7f266 138911: 069e02381dfc0074957c685704f258655816bd02 v: v3 --- [refs] | 2 +- trunk/include/linux/dma-debug.h | 20 ++++++++++++++++++++ trunk/lib/dma-debug.c | 32 ++++++++++++++++++++++++++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index c5ad723fc460..11d15e642b98 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 948408ba3e2a67ed0f95e18ed5be1c622c2c5fc3 +refs/heads/master: a31fba5d68cebf8f5fefd03e079dab94875e25f5 diff --git a/trunk/include/linux/dma-debug.h b/trunk/include/linux/dma-debug.h index e9b903503adb..4985c6c5237e 100644 --- a/trunk/include/linux/dma-debug.h +++ b/trunk/include/linux/dma-debug.h @@ -68,6 +68,14 @@ extern void debug_dma_sync_single_range_for_device(struct device *dev, unsigned long offset, size_t size, int direction); +extern void debug_dma_sync_sg_for_cpu(struct device *dev, + struct scatterlist *sg, + int nelems, int direction); + +extern void debug_dma_sync_sg_for_device(struct device *dev, + struct scatterlist *sg, + int nelems, int direction); + #else /* CONFIG_DMA_API_DEBUG */ static inline void dma_debug_init(u32 num_entries) @@ -136,6 +144,18 @@ static inline void debug_dma_sync_single_range_for_device(struct device *dev, { } +static inline void debug_dma_sync_sg_for_cpu(struct device *dev, + struct scatterlist *sg, + int nelems, int direction) +{ +} + +static inline void debug_dma_sync_sg_for_device(struct device *dev, + struct scatterlist *sg, + int nelems, int direction) +{ +} + #endif /* CONFIG_DMA_API_DEBUG */ #endif /* __DMA_DEBUG_H */ diff --git a/trunk/lib/dma-debug.c b/trunk/lib/dma-debug.c index d1c0ac1831b7..9d11e89c2ee2 100644 --- a/trunk/lib/dma-debug.c +++ b/trunk/lib/dma-debug.c @@ -782,3 +782,35 @@ void debug_dma_sync_single_range_for_device(struct device *dev, } EXPORT_SYMBOL(debug_dma_sync_single_range_for_device); +void debug_dma_sync_sg_for_cpu(struct device *dev, struct scatterlist *sg, + int nelems, int direction) +{ + struct scatterlist *s; + int i; + + if (unlikely(global_disable)) + return; + + for_each_sg(sg, s, nelems, i) { + check_sync(dev, s->dma_address, s->dma_length, 0, + direction, true); + } +} +EXPORT_SYMBOL(debug_dma_sync_sg_for_cpu); + +void debug_dma_sync_sg_for_device(struct device *dev, struct scatterlist *sg, + int nelems, int direction) +{ + struct scatterlist *s; + int i; + + if (unlikely(global_disable)) + return; + + for_each_sg(sg, s, nelems, i) { + check_sync(dev, s->dma_address, s->dma_length, 0, + direction, false); + } +} +EXPORT_SYMBOL(debug_dma_sync_sg_for_device); +