The ARM dma_supported() is rather basic, and I don't think
it takes into account everything that it should do (eg,
whether the mask agrees with what we'd return for GFP_DMA
allocations). Note this.
Signed-off-by: Russell King <[email protected]>
diff -up -x BitKeeper -x ChangeSet -x SCCS -x _xlk -x '*.orig' -x '*.rej' -r orig/include/asm-arm/dma-mapping.h linux/include/asm-arm/dma-mapping.h
--- orig/include/asm-arm/dma-mapping.h Wed Jan 12 10:13:19 2005
+++ linux/include/asm-arm/dma-mapping.h Fri Jun 18 17:56:02 2004
@@ -21,6 +21,9 @@ extern void consistent_sync(void *kaddr,
* properly. For example, if your device can only drive the low 24-bits
* during bus mastering, then you would pass 0x00ffffff as the mask
* to this function.
+ *
+ * FIXME: This should really be a platform specific issue - we should
+ * return false if GFP_DMA allocations may not satisfy the supplied 'mask'.
*/
static inline int dma_supported(struct device *dev, u64 mask)
{