From 27222a3d2bbb40f80af6abf0cefea1b27125409e Mon Sep 17 00:00:00 2001 From: Catalin Marinas Date: Wed, 3 Oct 2012 14:35:18 +0100 Subject: [PATCH] arm64: Call swiotlb_init() instead of swiotlb_init_with_default_size() Following commit 74838b7 (swiotlb: add the late swiotlb initialization function with iotlb memory) the swiotlb_init_with_default_size() is a static function. This patch changes the arm64 code to call swiotlb_init() instead and use the default size of 64MB. It is assumed that AArch64 platforms have enough RAM to afford the pre-allocated swiotlb memory. It also removes the #ifdef around this call since CONFIG_SWIOTLB is always enabled. Signed-off-by: Catalin Marinas --- arch/arm64/mm/dma-mapping.c | 6 ++---- arch/arm64/mm/init.c | 5 +---- arch/arm64/mm/mm.h | 1 + 3 files changed, 4 insertions(+), 8 deletions(-) diff --git a/arch/arm64/mm/dma-mapping.c b/arch/arm64/mm/dma-mapping.c index 5eb2444..4bd7579 100644 --- a/arch/arm64/mm/dma-mapping.c +++ b/arch/arm64/mm/dma-mapping.c @@ -61,12 +61,10 @@ static struct dma_map_ops arm64_swiotlb_dma_ops = { .mapping_error = swiotlb_dma_mapping_error, }; -void __init swiotlb_init_with_default_size(size_t default_size, int verbose); - -void __init arm64_swiotlb_init(size_t max_size) +void __init arm64_swiotlb_init(void) { dma_ops = &arm64_swiotlb_dma_ops; - swiotlb_init_with_default_size(min((size_t)SZ_64M, max_size), 1); + swiotlb_init(1); } #define PREALLOC_DMA_DEBUG_ENTRIES 4096 diff --git a/arch/arm64/mm/init.c b/arch/arm64/mm/init.c index 5f719ba..efbf7df 100644 --- a/arch/arm64/mm/init.c +++ b/arch/arm64/mm/init.c @@ -301,10 +301,7 @@ void __init mem_init(void) unsigned long reserved_pages, free_pages; struct memblock_region *reg; -#if CONFIG_SWIOTLB - extern void __init arm64_swiotlb_init(size_t max_size); - arm64_swiotlb_init(max_pfn << (PAGE_SHIFT - 1)); -#endif + arm64_swiotlb_init(); max_mapnr = pfn_to_page(max_pfn + PHYS_PFN_OFFSET) - mem_map; diff --git a/arch/arm64/mm/mm.h b/arch/arm64/mm/mm.h index d8d6e78..916701e 100644 --- a/arch/arm64/mm/mm.h +++ b/arch/arm64/mm/mm.h @@ -1,2 +1,3 @@ extern void __flush_dcache_page(struct page *page); extern void __init bootmem_init(void); +extern void __init arm64_swiotlb_init(void); -- 2.7.4