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: Russell King <rmk+kernel@arm.linux.org.uk> Acked-by: Greg Ungerer <gerg@uclinux.org>
This commit is contained in:
@@ -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)
|
|||||||
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,19 +262,7 @@ 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);
|
|
||||||
|
|
||||||
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",
|
printk(KERN_CRIT "%s: bad page in kernel page table\n",
|
||||||
__func__);
|
__func__);
|
||||||
} while (size -= PAGE_SIZE);
|
} while (size -= PAGE_SIZE);
|
||||||
|
Reference in New Issue
Block a user