I'll resend the patch using git-send-email with your name. I also hope some ARM-guys took a look at it.
2014-05-22 오후 12:22, Michal Nazarewicz 쓴 글:
On Thu, May 22 2014, Gioh Kim <[email protected]> wrote:I appreciate your comments. The previous patch was ugly. But now it's beautiful! Just 3 lines! I'm not familiar with kernel patch process. Can I have your name at Signed-off-by: line? What tag do I have to write your name in?My Signed-off-by line does not apply in this case. Documentation/SubmittingPatches describes what Signed-off-by means. I've added Acked-by below. You may want to resend this patch using “git-send-email”.--------------------------------- 8< ---------------------------------------------- From 135c986cfaa5a7291519308b3d47e58bf9f5af25 Mon Sep 17 00:00:00 2001 From: Gioh Kim <[email protected]> Date: Tue, 20 May 2014 14:16:20 +0900 Subject: [PATCH] arm: dma-mapping: add checking cma area initialized If CMA is turned on and CMA size is set to zero, kernel should behave as if CMA was not enabled at compile time. Every dma allocation should check existence of cma area before requesting memory. Signed-off-by: Gioh Kim <[email protected]> Signed-off-by: Joonsoo Kim <[email protected]>Acked-by: Michal Nazarewicz <[email protected]> But like before, if someone with more ARM knowledge could take a look at it, it would be awesome.--- arch/arm/mm/dma-mapping.c | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/arch/arm/mm/dma-mapping.c b/arch/arm/mm/dma-mapping.c index 18e98df..9173a13 100644 --- a/arch/arm/mm/dma-mapping.c +++ b/arch/arm/mm/dma-mapping.c @@ -390,12 +390,13 @@ static int __init atomic_pool_init(void) if (!pages) goto no_pages; - if (IS_ENABLED(CONFIG_DMA_CMA)) + if (dev_get_cma_area(NULL)) ptr = __alloc_from_contiguous(NULL, pool->size, prot, &page, atomic_pool_init); else ptr = __alloc_remap_buffer(NULL, pool->size, gfp, prot, &page, atomic_pool_init); + if (ptr) { int i; @@ -701,7 +702,7 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle, addr = __alloc_simple_buffer(dev, size, gfp, &page); else if (!(gfp & __GFP_WAIT)) addr = __alloc_from_pool(size, &page); - else if (!IS_ENABLED(CONFIG_DMA_CMA)) + else if (!dev_get_cma_area(dev)) addr = __alloc_remap_buffer(dev, size, gfp, prot, &page, caller); else addr = __alloc_from_contiguous(dev, size, prot, &page, caller); @@ -790,7 +791,7 @@ static void __arm_dma_free(struct device *dev, size_t size, void *cpu_addr, __dma_free_buffer(page, size); } else if (__free_from_pool(cpu_addr, size)) { return; - } else if (!IS_ENABLED(CONFIG_DMA_CMA)) { + } else if (!dev_get_cma_area(dev)) { __dma_free_remap(cpu_addr, size); __dma_free_buffer(page, size); } else { -- 1.7.9.5
-- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to [email protected] More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/

