diff options
author | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 09:20:51 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@woody.linux-foundation.org> | 2007-04-27 09:20:51 -0700 |
commit | ad5da3cf39a5b11a198929be1f2644e17ecd767e (patch) | |
tree | 22d98f2a14db70e7229ec3b9c944488f2d50d4a1 /arch/mips/mm/init.c | |
parent | da8ac5e0fab11d0e84be4e49aaaa828c52d17097 (diff) | |
parent | 14cf232ab161ce87ca538af3daad5f717c20d487 (diff) |
Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: (22 commits)
[MIPS] Don't force frame pointers for lockdep on MIPS
[MIPS] update vr41xx Kconfig
[MIPS] remove 2 select entries for VR41xx
[MIPS] rename VR41XX to VR4100 series
[MIPS] Use DEFINE_SPINLOCK instead of SPIN_LOCK_UNLOCKED.
[MIPS] Replace old fashioned "__typeof" with "__typeof__".
[MIPS] Remove unused _THREAD_SIZE_ORDER from asm-offset.c.
[MIPS] Change PCI host bridge setup/resources
[MIPS] Register PCI host bridge resource earlier
[MIPS] Remove pnx8550-v2pci_defconfig
[MIPS] Add bcm1480 ZBus trace support, fix wait related bugs
[MIPS] Updated Sibyte headers
[MIPS] Remove unused argument from kunmap_coherent().
[MIPS] Malta: Delete unused prototype of mips_timer_interrupt.
[MIPS] Select ZONE_DMA only if GENERIC_ISA_DMA selected
[MIPS] MIPS Tech: Get rid of volatile in core code.
[MIPS] IP22: Get rid of volatile in IP22 core code.
[MIPS] JMR3927 cleanup
[MIPS] merge GT64111 PCI routines and GT64120 PCI_0 routines
[MIPS] Cobalt: Split PCI codes from setup.c
...
Diffstat (limited to 'arch/mips/mm/init.c')
-rw-r--r-- | arch/mips/mm/init.c | 25 |
1 files changed, 11 insertions, 14 deletions
diff --git a/arch/mips/mm/init.c b/arch/mips/mm/init.c index e9951c0e689..2d1c2c02482 100644 --- a/arch/mips/mm/init.c +++ b/arch/mips/mm/init.c @@ -177,7 +177,7 @@ void *kmap_coherent(struct page *page, unsigned long addr) #define UNIQUE_ENTRYHI(idx) (CKSEG0 + ((idx) << (PAGE_SHIFT + 1))) -void kunmap_coherent(struct page *page) +void kunmap_coherent(void) { #ifndef CONFIG_MIPS_MT_SMTC unsigned int wired; @@ -210,7 +210,7 @@ void copy_user_highpage(struct page *to, struct page *from, if (cpu_has_dc_aliases) { vfrom = kmap_coherent(from, vaddr); copy_page(vto, vfrom); - kunmap_coherent(from); + kunmap_coherent(); } else { vfrom = kmap_atomic(from, KM_USER0); copy_page(vto, vfrom); @@ -233,7 +233,7 @@ void copy_to_user_page(struct vm_area_struct *vma, if (cpu_has_dc_aliases) { void *vto = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(vto, src, len); - kunmap_coherent(page); + kunmap_coherent(); } else memcpy(dst, src, len); if ((vma->vm_flags & VM_EXEC) && !cpu_has_ic_fills_f_dc) @@ -250,7 +250,7 @@ void copy_from_user_page(struct vm_area_struct *vma, void *vfrom = kmap_coherent(page, vaddr) + (vaddr & ~PAGE_MASK); memcpy(dst, vfrom, len); - kunmap_coherent(page); + kunmap_coherent(); } else memcpy(dst, src, len); } @@ -351,18 +351,15 @@ void __init paging_init(void) #endif kmap_coherent_init(); -#ifdef CONFIG_ISA - if (max_low_pfn >= MAX_DMA_PFN) - if (min_low_pfn >= MAX_DMA_PFN) { - zones_size[ZONE_DMA] = 0; - zones_size[ZONE_NORMAL] = max_low_pfn - min_low_pfn; - } else { - zones_size[ZONE_DMA] = MAX_DMA_PFN - min_low_pfn; - zones_size[ZONE_NORMAL] = max_low_pfn - MAX_DMA_PFN; - } +#ifdef CONFIG_ZONE_DMA + if (min_low_pfn < MAX_DMA_PFN && MAX_DMA_PFN <= max_low_pfn) { + zones_size[ZONE_DMA] = MAX_DMA_PFN - min_low_pfn; + zones_size[ZONE_NORMAL] = max_low_pfn - MAX_DMA_PFN; + } else if (max_low_pfn < MAX_DMA_PFN) + zones_size[ZONE_DMA] = max_low_pfn - min_low_pfn; else #endif - zones_size[ZONE_DMA] = max_low_pfn - min_low_pfn; + zones_size[ZONE_NORMAL] = max_low_pfn - min_low_pfn; #ifdef CONFIG_HIGHMEM zones_size[ZONE_HIGHMEM] = highend_pfn - highstart_pfn; |