Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

[MIPS] Remove LIMITED_DMA support

This code was needed only by Jaguar ATX.

Signed-off-by: Franck Bui-Huu <fbuihuu@gmail.com>
Signed-off-by: Ralf Baechle <ralf@linux-mips.org>

authored by

Franck Bui-Huu and committed by
Ralf Baechle
599ca0fb bef964e5

-56
-5
arch/mips/Kconfig
··· 883 883 config I8259 884 884 bool 885 885 886 - config LIMITED_DMA 887 - bool 888 - select HIGHMEM 889 - select SYS_SUPPORTS_HIGHMEM 890 - 891 886 config MIPS_BONITO64 892 887 bool 893 888
-2
arch/mips/mm/highmem.c
··· 80 80 pagefault_enable(); 81 81 } 82 82 83 - #ifndef CONFIG_LIMITED_DMA 84 83 /* 85 84 * This is the same as kmap_atomic() but can map memory that doesn't 86 85 * have a struct page associated with it. ··· 98 99 99 100 return (void*) vaddr; 100 101 } 101 - #endif /* CONFIG_LIMITED_DMA */ 102 102 103 103 struct page *__kmap_atomic_to_page(void *ptr) 104 104 {
-3
arch/mips/mm/init.c
··· 424 424 continue; 425 425 } 426 426 ClearPageReserved(page); 427 - #ifdef CONFIG_LIMITED_DMA 428 - set_page_address(page, lowmem_page_address(page)); 429 - #endif 430 427 init_page_count(page); 431 428 __free_page(page); 432 429 totalhigh_pages++;
-42
include/asm-mips/highmem.h
··· 48 48 extern void * kmap_high(struct page *page); 49 49 extern void kunmap_high(struct page *page); 50 50 51 - /* 52 - * CONFIG_LIMITED_DMA is for systems with DMA limitations such as Momentum's 53 - * Jaguar ATX. This option exploits the highmem code in the kernel so is 54 - * always enabled together with CONFIG_HIGHMEM but at this time doesn't 55 - * actually add highmem functionality. 56 - */ 57 - 58 - #ifdef CONFIG_LIMITED_DMA 59 - 60 - /* 61 - * These are the default functions for the no-highmem case from 62 - * <linux/highmem.h> 63 - */ 64 - static inline void *kmap(struct page *page) 65 - { 66 - might_sleep(); 67 - return page_address(page); 68 - } 69 - 70 - #define kunmap(page) do { (void) (page); } while (0) 71 - 72 - static inline void *kmap_atomic(struct page *page, enum km_type type) 73 - { 74 - pagefault_disable(); 75 - return page_address(page); 76 - } 77 - 78 - static inline void kunmap_atomic(void *kvaddr, enum km_type type) 79 - { 80 - pagefault_enable(); 81 - } 82 - 83 - #define kmap_atomic_pfn(pfn, idx) kmap_atomic(pfn_to_page(pfn), (idx)) 84 - 85 - #define kmap_atomic_to_page(ptr) virt_to_page(ptr) 86 - 87 - #define flush_cache_kmaps() do { } while (0) 88 - 89 - #else /* LIMITED_DMA */ 90 - 91 51 extern void *__kmap(struct page *page); 92 52 extern void __kunmap(struct page *page); 93 53 extern void *__kmap_atomic(struct page *page, enum km_type type); ··· 62 102 #define kmap_atomic_to_page __kmap_atomic_to_page 63 103 64 104 #define flush_cache_kmaps() flush_cache_all() 65 - 66 - #endif /* LIMITED_DMA */ 67 105 68 106 #endif /* __KERNEL__ */ 69 107
-4
include/asm-mips/page.h
··· 190 190 #define UNCAC_ADDR(addr) ((addr) - PAGE_OFFSET + UNCAC_BASE) 191 191 #define CAC_ADDR(addr) ((addr) - UNCAC_BASE + PAGE_OFFSET) 192 192 193 - #ifdef CONFIG_LIMITED_DMA 194 - #define WANT_PAGE_VIRTUAL 195 - #endif 196 - 197 193 #include <asm-generic/memory_model.h> 198 194 #include <asm-generic/page.h> 199 195