diff options
author | Jiaxun Yang <jiaxun.yang@flygoat.com> | 2019-11-07 12:01:16 +0800 |
---|---|---|
committer | Paul Burton <paulburton@kernel.org> | 2019-11-11 10:44:57 -0800 |
commit | 2a5984360b015929e62c7f77924535dfbf2b2b35 (patch) | |
tree | 73523475f3fab9d2d7e0ae10342e7213de92d18f /arch/mips/loongson2ef | |
parent | 75cac781dca43e735fbb4166d994263a14f0823e (diff) | |
download | linux-rpi-2a5984360b015929e62c7f77924535dfbf2b2b35.tar.gz linux-rpi-2a5984360b015929e62c7f77924535dfbf2b2b35.tar.bz2 linux-rpi-2a5984360b015929e62c7f77924535dfbf2b2b35.zip |
MIPS: Drop CPU_SUPPORTS_UNCACHED_ACCELERATED
CPU_SUPPORTS_UNCACHED_ACCELERATED was introduced when kernel can't handle
writecombine remap well. Nowadays drivers can try writecombine remap by
themselves so this function is nolonger needed.
Signed-off-by: Jiaxun Yang <jiaxun.yang@flygoat.com>
Signed-off-by: Paul Burton <paulburton@kernel.org>
Cc: linux-mips@vger.kernel.org
Cc: chenhe@lemote.com
Diffstat (limited to 'arch/mips/loongson2ef')
-rw-r--r-- | arch/mips/loongson2ef/common/mem.c | 58 |
1 files changed, 0 insertions, 58 deletions
diff --git a/arch/mips/loongson2ef/common/mem.c b/arch/mips/loongson2ef/common/mem.c index 11bf6eefb82a..ae21f1c62baa 100644 --- a/arch/mips/loongson2ef/common/mem.c +++ b/arch/mips/loongson2ef/common/mem.c @@ -60,61 +60,3 @@ int __uncached_access(struct file *file, unsigned long addr) ((addr >= LOONGSON_MMIO_MEM_START) && (addr < LOONGSON_MMIO_MEM_END)); } - -#ifdef CONFIG_CPU_SUPPORTS_UNCACHED_ACCELERATED - -#include <linux/pci.h> -#include <linux/sched.h> -#include <asm/current.h> - -static unsigned long uca_start, uca_end; - -pgprot_t phys_mem_access_prot(struct file *file, unsigned long pfn, - unsigned long size, pgprot_t vma_prot) -{ - unsigned long offset = pfn << PAGE_SHIFT; - unsigned long end = offset + size; - - if (__uncached_access(file, offset)) { - if (uca_start && (offset >= uca_start) && - (end <= uca_end)) - return __pgprot((pgprot_val(vma_prot) & - ~_CACHE_MASK) | - _CACHE_UNCACHED_ACCELERATED); - else - return pgprot_noncached(vma_prot); - } - return vma_prot; -} - -static int __init find_vga_mem_init(void) -{ - struct pci_dev *dev = 0; - struct resource *r; - int idx; - - if (uca_start) - return 0; - - for_each_pci_dev(dev) { - if ((dev->class >> 16) == PCI_BASE_CLASS_DISPLAY) { - for (idx = 0; idx < PCI_NUM_RESOURCES; idx++) { - r = &dev->resource[idx]; - if (!r->start && r->end) - continue; - if (r->flags & IORESOURCE_IO) - continue; - if (r->flags & IORESOURCE_MEM) { - uca_start = r->start; - uca_end = r->end; - return 0; - } - } - } - } - - return 0; -} - -late_initcall(find_vga_mem_init); -#endif /* !CONFIG_CPU_SUPPORTS_UNCACHED_ACCELERATED */ |