Merge branch 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus
* 'upstream' of git://ftp.linux-mips.org/pub/scm/upstream-linus: [MIPS] Fix aliasing bug in copy_user_highpage. [MIPS] IP22: fix wrong argument order [MIPS] IP22: Fix wrong check for second HPC [MIPS] Ocelot: remove remaining bits [MIPS] TLB: Fix instruction bitmasks [MIPS] R10000: Fix wrong test in dma-default.c [MIPS] Provide empty irq_enable_hazard definition for legacy and R1 cores. [MIPS] Sibyte: Remove broken dependency on EXPERIMENTAL from SIBYTE_SB1xxx_SOC. [MIPS] Kconfig: whitespace cleanup. [MIPS] PCI: Set need_domain_info if controller domain index is non-zero. [MIPS] BCM1480: Fix computation of interrupt mask address register. [MIPS] i8259: Add disable method. [MIPS] tty: add the new ioctls and definitions.
This commit is contained in:
commit
af7b83f932
|
@ -8,6 +8,7 @@
|
||||||
* Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
|
* Kevin D. Kissell, kevink@mips.com and Carsten Langgaard, carstenl@mips.com
|
||||||
* Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
|
* Copyright (C) 2000 MIPS Technologies, Inc. All rights reserved.
|
||||||
*/
|
*/
|
||||||
|
#include <linux/bug.h>
|
||||||
#include <linux/init.h>
|
#include <linux/init.h>
|
||||||
#include <linux/module.h>
|
#include <linux/module.h>
|
||||||
#include <linux/signal.h>
|
#include <linux/signal.h>
|
||||||
|
@ -132,6 +133,8 @@ void *kmap_coherent(struct page *page, unsigned long addr)
|
||||||
pte_t pte;
|
pte_t pte;
|
||||||
int tlbidx;
|
int tlbidx;
|
||||||
|
|
||||||
|
BUG_ON(Page_dcache_dirty(page));
|
||||||
|
|
||||||
inc_preempt_count();
|
inc_preempt_count();
|
||||||
idx = (addr >> PAGE_SHIFT) & (FIX_N_COLOURS - 1);
|
idx = (addr >> PAGE_SHIFT) & (FIX_N_COLOURS - 1);
|
||||||
#ifdef CONFIG_MIPS_MT_SMTC
|
#ifdef CONFIG_MIPS_MT_SMTC
|
||||||
|
@ -208,7 +211,7 @@ void copy_user_highpage(struct page *to, struct page *from,
|
||||||
void *vfrom, *vto;
|
void *vfrom, *vto;
|
||||||
|
|
||||||
vto = kmap_atomic(to, KM_USER1);
|
vto = kmap_atomic(to, KM_USER1);
|
||||||
if (cpu_has_dc_aliases) {
|
if (cpu_has_dc_aliases && !Page_dcache_dirty(from)) {
|
||||||
vfrom = kmap_coherent(from, vaddr);
|
vfrom = kmap_coherent(from, vaddr);
|
||||||
copy_page(vto, vfrom);
|
copy_page(vto, vfrom);
|
||||||
kunmap_coherent();
|
kunmap_coherent();
|
||||||
|
|
|
@ -150,8 +150,8 @@ static int __init sgiseeq_devinit(void)
|
||||||
return res;
|
return res;
|
||||||
|
|
||||||
/* Second HPC is missing? */
|
/* Second HPC is missing? */
|
||||||
if (ip22_is_fullhouse() ||
|
if (!ip22_is_fullhouse() ||
|
||||||
!get_dbe(tmp, (unsigned int *)&hpc3c1->pbdma[1]))
|
get_dbe(tmp, (unsigned int *)&hpc3c1->pbdma[1]))
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
sgimc->giopar |= SGIMC_GIOPAR_MASTEREXP1 | SGIMC_GIOPAR_EXP164 |
|
sgimc->giopar |= SGIMC_GIOPAR_MASTEREXP1 | SGIMC_GIOPAR_EXP164 |
|
||||||
|
|
|
@ -114,8 +114,8 @@ static unsigned long dosample(void)
|
||||||
} while (msb);
|
} while (msb);
|
||||||
|
|
||||||
/* Stop the counter. */
|
/* Stop the counter. */
|
||||||
writeb(sgint->tcword, (SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL |
|
writeb(SGINT_TCWORD_CNT2 | SGINT_TCWORD_CALL | SGINT_TCWORD_MSWST,
|
||||||
SGINT_TCWORD_MSWST));
|
&sgint->tcword);
|
||||||
/*
|
/*
|
||||||
* Return the difference, this is how far the r4k counter increments
|
* Return the difference, this is how far the r4k counter increments
|
||||||
* for every 1/HZ seconds. We round off the nearest 1 MHz of master
|
* for every 1/HZ seconds. We round off the nearest 1 MHz of master
|
||||||
|
|
Loading…
Reference in New Issue