Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752575AbbKVQa3 (ORCPT ); Sun, 22 Nov 2015 11:30:29 -0500 Received: from bombadil.infradead.org ([198.137.202.9]:33843 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751711AbbKVQa1 (ORCPT ); Sun, 22 Nov 2015 11:30:27 -0500 From: Christoph Hellwig To: akpm@linux-foundation.org Cc: msalter@redhat.com, a-jacquiot@ti.com, linux-kernel@vger.kernel.org, dan.carpenter@oracle.com, linux@roeck-us.net Subject: [PATCH 3/4] c6x: dma mapping fixes Date: Sun, 22 Nov 2015 17:25:45 +0100 Message-Id: <1448209546-24404-4-git-send-email-hch@lst.de> X-Mailer: git-send-email 1.9.1 In-Reply-To: <1448209546-24404-1-git-send-email-hch@lst.de> References: <1448209546-24404-1-git-send-email-hch@lst.de> X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 3045 Lines: 84 Reported-by: Guenter Roeck Signed-off-by: Christoph Hellwig --- arch/c6x/include/asm/dma-mapping.h | 6 ++++++ arch/c6x/kernel/dma.c | 2 ++ arch/c6x/mm/dma-coherent.c | 10 ++++------ 3 files changed, 12 insertions(+), 6 deletions(-) diff --git a/arch/c6x/include/asm/dma-mapping.h b/arch/c6x/include/asm/dma-mapping.h index b810147..6b5cd7b 100644 --- a/arch/c6x/include/asm/dma-mapping.h +++ b/arch/c6x/include/asm/dma-mapping.h @@ -24,4 +24,10 @@ static inline struct dma_map_ops *get_dma_ops(struct device *dev) return &c6x_dma_ops; } +extern void coherent_mem_init(u32 start, u32 size); +void *c6x_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, + gfp_t gfp, struct dma_attrs *attrs); +void c6x_dma_free(struct device *dev, size_t size, void *vaddr, + dma_addr_t dma_handle, struct dma_attrs *attrs); + #endif /* _ASM_C6X_DMA_MAPPING_H */ diff --git a/arch/c6x/kernel/dma.c b/arch/c6x/kernel/dma.c index 8b7db6e..8a80f3a 100644 --- a/arch/c6x/kernel/dma.c +++ b/arch/c6x/kernel/dma.c @@ -122,7 +122,9 @@ struct dma_map_ops c6x_dma_ops = { .alloc = c6x_dma_alloc, .free = c6x_dma_free, .map_page = c6x_dma_map_page, + .unmap_page = c6x_dma_unmap_page, .map_sg = c6x_dma_map_sg, + .unmap_sg = c6x_dma_unmap_sg, .sync_single_for_device = c6x_dma_sync_single_for_device, .sync_single_for_cpu = c6x_dma_sync_single_for_cpu, .sync_sg_for_device = c6x_dma_sync_sg_for_device, diff --git a/arch/c6x/mm/dma-coherent.c b/arch/c6x/mm/dma-coherent.c index 4187e51..f7ee63a 100644 --- a/arch/c6x/mm/dma-coherent.c +++ b/arch/c6x/mm/dma-coherent.c @@ -73,8 +73,8 @@ static void __free_dma_pages(u32 addr, int order) * Allocate DMA coherent memory space and return both the kernel * virtual and DMA address for that space. */ -void *dma_alloc_coherent(struct device *dev, size_t size, - dma_addr_t *handle, gfp_t gfp) +void *c6x_dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, + gfp_t gfp, struct dma_attrs *attrs) { u32 paddr; int order; @@ -94,13 +94,12 @@ void *dma_alloc_coherent(struct device *dev, size_t size, return phys_to_virt(paddr); } -EXPORT_SYMBOL(dma_alloc_coherent); /* * Free DMA coherent memory as defined by the above mapping. */ -void dma_free_coherent(struct device *dev, size_t size, void *vaddr, - dma_addr_t dma_handle) +void c6x_dma_free(struct device *dev, size_t size, void *vaddr, + dma_addr_t dma_handle, struct dma_attrs *attrs) { int order; @@ -111,7 +110,6 @@ void dma_free_coherent(struct device *dev, size_t size, void *vaddr, __free_dma_pages(virt_to_phys(vaddr), order); } -EXPORT_SYMBOL(dma_free_coherent); /* * Initialise the coherent DMA memory allocator using the given uncached region. -- 1.9.1 -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/