From b00d718344489895d595592d094afbda38499abb Mon Sep 17 00:00:00 2001 From: Alessandro Rubini Date: Wed, 4 Apr 2012 19:40:10 +0200 Subject: [PATCH] --- yaml --- r: 305480 b: refs/heads/master c: f7219a5300ba753b0c762d631763bd878b8bb00c h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/arch/x86/Kconfig | 3 +++ trunk/arch/x86/include/asm/dma-mapping.h | 7 +++++++ 3 files changed, 11 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index 0f40741df183..d71584fdd8c7 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 4692d77fc3c8978a36406a3cf9e8b899f86f68f1 +refs/heads/master: f7219a5300ba753b0c762d631763bd878b8bb00c diff --git a/trunk/arch/x86/Kconfig b/trunk/arch/x86/Kconfig index 07b412aed38b..95ca56036030 100644 --- a/trunk/arch/x86/Kconfig +++ b/trunk/arch/x86/Kconfig @@ -2220,6 +2220,9 @@ config X86_DEV_DMA_OPS bool depends on X86_64 +config X86_DMA_REMAP + bool + source "net/Kconfig" source "drivers/Kconfig" diff --git a/trunk/arch/x86/include/asm/dma-mapping.h b/trunk/arch/x86/include/asm/dma-mapping.h index 09aa473e2917..61c0bd25845a 100644 --- a/trunk/arch/x86/include/asm/dma-mapping.h +++ b/trunk/arch/x86/include/asm/dma-mapping.h @@ -62,6 +62,12 @@ extern void *dma_generic_alloc_coherent(struct device *dev, size_t size, dma_addr_t *dma_addr, gfp_t flag, struct dma_attrs *attrs); +#ifdef CONFIG_X86_DMA_REMAP /* Platform code defines bridge-specific code */ +extern bool dma_capable(struct device *dev, dma_addr_t addr, size_t size); +extern dma_addr_t phys_to_dma(struct device *dev, phys_addr_t paddr); +extern phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr); +#else + static inline bool dma_capable(struct device *dev, dma_addr_t addr, size_t size) { if (!dev->dma_mask) @@ -79,6 +85,7 @@ static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t daddr) { return daddr; } +#endif /* CONFIG_X86_DMA_REMAP */ static inline void dma_cache_sync(struct device *dev, void *vaddr, size_t size,