diff options
author | Xinyu Chen <xinyu.chen@freescale.com> | 2012-05-02 11:02:43 +0800 |
---|---|---|
committer | Xinyu Chen <xinyu.chen@freescale.com> | 2012-05-02 11:02:43 +0800 |
commit | 3b9257f71a2a0dc0e0061ce2d455c504515c26d9 (patch) | |
tree | 6d19fa9ec5cf7973d4b599fce2a8e2861bd0dce9 /arch/arm/include | |
parent | 5f5288b61bc0596dbe1436a65f0bdf52b8d855cb (diff) | |
parent | 1b64ead9cdb4eae25789cfc5bbb7d8ad07dee402 (diff) |
Merge remote branch 'fsl-linux-sdk/imx_3.0.15_12.04.01' into imx_3.0.15_android
Conflicts:
sound/soc/imx/Makefile
Diffstat (limited to 'arch/arm/include')
-rw-r--r-- | arch/arm/include/asm/dma-mapping.h | 13 | ||||
-rw-r--r-- | arch/arm/include/asm/pgtable.h | 3 |
2 files changed, 16 insertions, 0 deletions
diff --git a/arch/arm/include/asm/dma-mapping.h b/arch/arm/include/asm/dma-mapping.h index 4fff837363ed..d9b4badee6b2 100644 --- a/arch/arm/include/asm/dma-mapping.h +++ b/arch/arm/include/asm/dma-mapping.h @@ -186,6 +186,19 @@ static inline void dma_free_noncoherent(struct device *dev, size_t size, extern void *dma_alloc_coherent(struct device *, size_t, dma_addr_t *, gfp_t); /** + * dma_alloc_writethrough - allocate consistent memory for DMA + * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices + * @size: required memory size + * @handle: bus-specific DMA address + * + * Allocate some writethrough cached, for a device for + * performing DMA. This function allocates pages, and will + * return the CPU-viewed address, and sets @handle to be the + * device-viewed address. + */ +extern void *dma_alloc_writethrough(struct device *, size_t, dma_addr_t *, gfp_t); + +/** * dma_free_coherent - free memory allocated by dma_alloc_coherent * @dev: valid struct device pointer, or NULL for ISA and EISA-like devices * @size: size of memory originally requested in dma_alloc_coherent diff --git a/arch/arm/include/asm/pgtable.h b/arch/arm/include/asm/pgtable.h index 5750704e0271..6682ab931451 100644 --- a/arch/arm/include/asm/pgtable.h +++ b/arch/arm/include/asm/pgtable.h @@ -232,6 +232,9 @@ extern pgprot_t pgprot_kernel; #define pgprot_writecombine(prot) \ __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_BUFFERABLE) +#define pgprot_writethrough(prot) \ + __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_WRITETHROUGH) + #ifdef CONFIG_ARM_DMA_MEM_BUFFERABLE #define pgprot_dmacoherent(prot) \ __pgprot_modify(prot, L_PTE_MT_MASK, L_PTE_MT_BUFFERABLE | L_PTE_XN) |