提交 acaac256 编写于 作者: R Russell King

ARM: dma-mapping: get rid of setting/clearing the reserved page bit

It's unnecessary; x86 doesn't do it, and ALSA doesn't require it
anymore.
Signed-off-by: NRussell King <rmk+kernel@arm.linux.org.uk>
Acked-by: NGreg Ungerer <gerg@uclinux.org>
上级 31ebf944
...@@ -209,10 +209,6 @@ __dma_alloc_remap(struct page *page, size_t size, gfp_t gfp, pgprot_t prot) ...@@ -209,10 +209,6 @@ __dma_alloc_remap(struct page *page, size_t size, gfp_t gfp, pgprot_t prot)
do { do {
BUG_ON(!pte_none(*pte)); BUG_ON(!pte_none(*pte));
/*
* x86 does not mark the pages reserved...
*/
SetPageReserved(page);
set_pte_ext(pte, mk_pte(page, prot), 0); set_pte_ext(pte, mk_pte(page, prot), 0);
page++; page++;
pte++; pte++;
...@@ -257,7 +253,6 @@ static void __dma_free_remap(void *cpu_addr, size_t size) ...@@ -257,7 +253,6 @@ static void __dma_free_remap(void *cpu_addr, size_t size)
addr = c->vm_start; addr = c->vm_start;
do { do {
pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep); pte_t pte = ptep_get_and_clear(&init_mm, addr, ptep);
unsigned long pfn;
ptep++; ptep++;
addr += PAGE_SIZE; addr += PAGE_SIZE;
...@@ -267,21 +262,9 @@ static void __dma_free_remap(void *cpu_addr, size_t size) ...@@ -267,21 +262,9 @@ static void __dma_free_remap(void *cpu_addr, size_t size)
ptep = consistent_pte[++idx]; ptep = consistent_pte[++idx];
} }
if (!pte_none(pte) && pte_present(pte)) { if (pte_none(pte) || !pte_present(pte))
pfn = pte_pfn(pte); printk(KERN_CRIT "%s: bad page in kernel page table\n",
__func__);
if (pfn_valid(pfn)) {
struct page *page = pfn_to_page(pfn);
/*
* x86 does not mark the pages reserved...
*/
ClearPageReserved(page);
continue;
}
}
printk(KERN_CRIT "%s: bad page in kernel page table\n",
__func__);
} while (size -= PAGE_SIZE); } while (size -= PAGE_SIZE);
flush_tlb_kernel_range(c->vm_start, c->vm_end); flush_tlb_kernel_range(c->vm_start, c->vm_end);
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册