Skip to content

Commit

Permalink
Merge branch 'upstream' of git://git.linux-mips.org/pub/scm/upstream-…
Browse files Browse the repository at this point in the history
…linus

* 'upstream' of git://git.linux-mips.org/pub/scm/upstream-linus: (31 commits)
  MIPS: Close races in TLB modify handlers.
  MIPS: Add uasm UASM_i_SRL_SAFE macro.
  MIPS: RB532: Use hex_to_bin()
  MIPS: Enable cpu_has_clo_clz for MIPS Technologies' platforms
  MIPS: PowerTV: Provide cpu-feature-overrides.h
  MIPS: Remove pointless return statement from empty void functions.
  MIPS: Limit fixrange_init() to the FIXMAP region
  MIPS: Install handlers for software IRQs
  MIPS: Move FIXADDR_TOP into spaces.h
  MIPS: Add SYNC after cacheflush
  MIPS: pfn_valid() is broken on low memory HIGHMEM systems
  MIPS: HIGHMEM DMA on noncoherent MIPS32 processors
  MIPS: topdown mmap support
  MIPS: Remove redundant addr_limit assignment on exec.
  MIPS: AR7: Replace __attribute__((__packed__)) with __packed
  MIPS: AR7: Remove 'space before tabs' in platform.c
  MIPS: Lantiq: Add missing clk_enable and clk_disable functions.
  MIPS: AR7: Fix trailing semicolon bug in clock.c
  MAINTAINERS: Update MIPS entry.
  MIPS: BCM63xx: Remove duplicate PERF_IRQSTAT_REG definition
  ...
  • Loading branch information
torvalds committed Jul 26, 2011
2 parents ba5b56c + bf28607 commit 6fd4ce8
Show file tree
Hide file tree
Showing 56 changed files with 697 additions and 287 deletions.
3 changes: 2 additions & 1 deletion MAINTAINERS
Original file line number Diff line number Diff line change
Expand Up @@ -4217,9 +4217,10 @@ F: drivers/usb/image/microtek.*

MIPS
M: Ralf Baechle <[email protected]>
W: http://www.linux-mips.org/
L: [email protected]
W: http://www.linux-mips.org/
T: git git://git.linux-mips.org/pub/scm/linux.git
Q: http://patchwork.linux-mips.org/project/linux-mips/list/
S: Supported
F: Documentation/mips/
F: arch/mips/
Expand Down
1 change: 1 addition & 0 deletions arch/mips/Kbuild.platforms
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@ platforms += lasat
platforms += loongson
platforms += mipssim
platforms += mti-malta
platforms += netlogic
platforms += pmc-sierra
platforms += pnx833x
platforms += pnx8550
Expand Down
12 changes: 0 additions & 12 deletions arch/mips/Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -191,18 +191,6 @@ endif
#
include $(srctree)/arch/mips/Kbuild.platforms

#
# NETLOGIC SOC Common (common)
#
cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/mach-netlogic
cflags-$(CONFIG_NLM_COMMON) += -I$(srctree)/arch/mips/include/asm/netlogic

#
# NETLOGIC XLR/XLS SoC, Simulator and boards
#
core-$(CONFIG_NLM_XLR) += arch/mips/netlogic/xlr/
load-$(CONFIG_NLM_XLR_BOARD) += 0xffffffff84000000

cflags-y += -I$(srctree)/arch/mips/include/asm/mach-generic
drivers-$(CONFIG_PCI) += arch/mips/pci/

Expand Down
2 changes: 1 addition & 1 deletion arch/mips/ar7/clock.c
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,7 @@ struct clk *clk_get(struct device *dev, const char *id)
return &vbus_clk;
if (!strcmp(id, "cpu"))
return &cpu_clk;
if (!strcmp(id, "dsp"));
if (!strcmp(id, "dsp"))
return &dsp_clk;
if (!strcmp(id, "vbus"))
return &vbus_clk;
Expand Down
2 changes: 1 addition & 1 deletion arch/mips/ar7/platform.c
Original file line number Diff line number Diff line change
Expand Up @@ -229,7 +229,7 @@ static struct resource cpmac_low_res[] = {
.name = "irq",
.flags = IORESOURCE_IRQ,
.start = 27,
.end = 27,
.end = 27,
},
};

Expand Down
2 changes: 1 addition & 1 deletion arch/mips/ar7/prom.c
Original file line number Diff line number Diff line change
Expand Up @@ -77,7 +77,7 @@ struct psp_env_chunk {
u16 csum;
u8 len;
char data[11];
} __attribute__ ((packed));
} __packed;

struct psp_var_map_entry {
u8 num;
Expand Down
10 changes: 1 addition & 9 deletions arch/mips/include/asm/fixmap.h
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
#define _ASM_FIXMAP_H

#include <asm/page.h>
#include <spaces.h>
#ifdef CONFIG_HIGHMEM
#include <linux/threads.h>
#include <asm/kmap_types.h>
Expand Down Expand Up @@ -67,15 +68,6 @@ enum fixed_addresses {
* the start of the fixmap, and leave one page empty
* at the top of mem..
*/
#ifdef CONFIG_BCM63XX
#define FIXADDR_TOP ((unsigned long)(long)(int)0xff000000)
#else
#if defined(CONFIG_CPU_TX39XX) || defined(CONFIG_CPU_TX49XX)
#define FIXADDR_TOP ((unsigned long)(long)(int)(0xff000000 - 0x20000))
#else
#define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000)
#endif
#endif
#define FIXADDR_SIZE (__end_of_fixed_addresses << PAGE_SHIFT)
#define FIXADDR_START (FIXADDR_TOP - FIXADDR_SIZE)

Expand Down
2 changes: 0 additions & 2 deletions arch/mips/include/asm/gt64120.h
Original file line number Diff line number Diff line change
Expand Up @@ -21,8 +21,6 @@
#ifndef _ASM_GT64120_H
#define _ASM_GT64120_H

#include <linux/clocksource.h>

#include <asm/addrspace.h>
#include <asm/byteorder.h>

Expand Down
1 change: 0 additions & 1 deletion arch/mips/include/asm/irq.h
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,6 @@

static inline void irq_dispose_mapping(unsigned int virq)
{
return;
}

#ifdef CONFIG_I8259
Expand Down
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-bcm63xx/bcm63xx_regs.h
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,6 @@

/* Interrupt Mask register */
#define PERF_IRQMASK_REG 0xc
#define PERF_IRQSTAT_REG 0x10

/* Interrupt Status register */
#define PERF_IRQSTAT_REG 0x10
Expand Down
17 changes: 17 additions & 0 deletions arch/mips/include/asm/mach-bcm63xx/spaces.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
* Copyright (C) 2000, 2002 Maciej W. Rozycki
* Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
*/
#ifndef _ASM_BCM63XX_SPACES_H
#define _ASM_BCM63XX_SPACES_H

#define FIXADDR_TOP ((unsigned long)(long)(int)0xff000000)

#include <asm/mach-generic/spaces.h>

#endif /* __ASM_BCM63XX_SPACES_H */
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-generic/dma-coherence.h
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,6 @@ static inline int plat_dma_supported(struct device *dev, u64 mask)

static inline void plat_extra_sync_for_device(struct device *dev)
{
return;
}

static inline int plat_dma_mapping_error(struct device *dev,
Expand Down
4 changes: 4 additions & 0 deletions arch/mips/include/asm/mach-generic/spaces.h
Original file line number Diff line number Diff line change
Expand Up @@ -82,4 +82,8 @@
#define PAGE_OFFSET (CAC_BASE + PHYS_OFFSET)
#endif

#ifndef FIXADDR_TOP
#define FIXADDR_TOP ((unsigned long)(long)(int)0xfffe0000)
#endif

#endif /* __ASM_MACH_GENERIC_SPACES_H */
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-ip27/dma-coherence.h
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,6 @@ static inline int plat_dma_supported(struct device *dev, u64 mask)

static inline void plat_extra_sync_for_device(struct device *dev)
{
return;
}

static inline int plat_dma_mapping_error(struct device *dev,
Expand Down
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-jazz/dma-coherence.h
Original file line number Diff line number Diff line change
Expand Up @@ -50,7 +50,6 @@ static inline int plat_dma_supported(struct device *dev, u64 mask)

static inline void plat_extra_sync_for_device(struct device *dev)
{
return;
}

static inline int plat_dma_mapping_error(struct device *dev,
Expand Down
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-loongson/dma-coherence.h
Original file line number Diff line number Diff line change
Expand Up @@ -55,7 +55,6 @@ static inline int plat_dma_supported(struct device *dev, u64 mask)

static inline void plat_extra_sync_for_device(struct device *dev)
{
return;
}

static inline int plat_dma_mapping_error(struct device *dev,
Expand Down
2 changes: 2 additions & 0 deletions arch/mips/include/asm/mach-malta/cpu-feature-overrides.h
Original file line number Diff line number Diff line change
Expand Up @@ -32,6 +32,7 @@
/* #define cpu_has_vtag_icache ? */
/* #define cpu_has_dc_aliases ? */
/* #define cpu_has_ic_fills_f_dc ? */
#define cpu_has_clo_clz 1
#define cpu_has_nofpuex 0
/* #define cpu_has_64bits ? */
/* #define cpu_has_64bit_zero_reg ? */
Expand All @@ -58,6 +59,7 @@
/* #define cpu_has_vtag_icache ? */
/* #define cpu_has_dc_aliases ? */
/* #define cpu_has_ic_fills_f_dc ? */
#define cpu_has_clo_clz 1
#define cpu_has_nofpuex 0
/* #define cpu_has_64bits ? */
/* #define cpu_has_64bit_zero_reg ? */
Expand Down
2 changes: 2 additions & 0 deletions arch/mips/include/asm/mach-mipssim/cpu-feature-overrides.h
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,7 @@
/* #define cpu_has_vtag_icache ? */
/* #define cpu_has_dc_aliases ? */
/* #define cpu_has_ic_fills_f_dc ? */
#define cpu_has_clo_clz 1
#define cpu_has_nofpuex 0
/* #define cpu_has_64bits ? */
/* #define cpu_has_64bit_zero_reg ? */
Expand All @@ -56,6 +57,7 @@
/* #define cpu_has_vtag_icache ? */
/* #define cpu_has_dc_aliases ? */
/* #define cpu_has_ic_fills_f_dc ? */
#define cpu_has_clo_clz 1
#define cpu_has_nofpuex 0
/* #define cpu_has_64bits ? */
/* #define cpu_has_64bit_zero_reg ? */
Expand Down
59 changes: 59 additions & 0 deletions arch/mips/include/asm/mach-powertv/cpu-feature-overrides.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
/*
* Copyright (C) 2010 Cisco Systems, Inc.
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program; if not, write to the Free Software
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA
*/

#ifndef _ASM_MACH_POWERTV_CPU_FEATURE_OVERRIDES_H_
#define _ASM_MACH_POWERTV_CPU_FEATURE_OVERRIDES_H_
#define cpu_has_tlb 1
#define cpu_has_4kex 1
#define cpu_has_3k_cache 0
#define cpu_has_4k_cache 1
#define cpu_has_tx39_cache 0
#define cpu_has_fpu 0
#define cpu_has_counter 1
#define cpu_has_watch 1
#define cpu_has_divec 1
#define cpu_has_vce 0
#define cpu_has_cache_cdex_p 0
#define cpu_has_cache_cdex_s 0
#define cpu_has_mcheck 1
#define cpu_has_ejtag 1
#define cpu_has_llsc 1
#define cpu_has_mips16 0
#define cpu_has_mdmx 0
#define cpu_has_mips3d 0
#define cpu_has_smartmips 0
#define cpu_has_vtag_icache 0
#define cpu_has_dc_aliases 0
#define cpu_has_ic_fills_f_dc 0
#define cpu_has_mips32r1 0
#define cpu_has_mips32r2 1
#define cpu_has_mips64r1 0
#define cpu_has_mips64r2 0
#define cpu_has_dsp 0
#define cpu_has_mipsmt 0
#define cpu_has_userlocal 0
#define cpu_has_nofpuex 0
#define cpu_has_64bits 0
#define cpu_has_64bit_zero_reg 0
#define cpu_has_vint 1
#define cpu_has_veic 1
#define cpu_has_inclusive_pcaches 0

#define cpu_dcache_line_size() 32
#define cpu_icache_line_size() 32
#endif
1 change: 0 additions & 1 deletion arch/mips/include/asm/mach-powertv/dma-coherence.h
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,6 @@ static inline int plat_dma_supported(struct device *dev, u64 mask)

static inline void plat_extra_sync_for_device(struct device *dev)
{
return;
}

static inline int plat_dma_mapping_error(struct device *dev,
Expand Down
17 changes: 17 additions & 0 deletions arch/mips/include/asm/mach-tx39xx/spaces.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
* Copyright (C) 2000, 2002 Maciej W. Rozycki
* Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
*/
#ifndef _ASM_TX39XX_SPACES_H
#define _ASM_TX39XX_SPACES_H

#define FIXADDR_TOP ((unsigned long)(long)(int)0xfefe0000)

#include <asm/mach-generic/spaces.h>

#endif /* __ASM_TX39XX_SPACES_H */
17 changes: 17 additions & 0 deletions arch/mips/include/asm/mach-tx49xx/spaces.h
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
/*
* This file is subject to the terms and conditions of the GNU General Public
* License. See the file "COPYING" in the main directory of this archive
* for more details.
*
* Copyright (C) 1994 - 1999, 2000, 03, 04 Ralf Baechle
* Copyright (C) 2000, 2002 Maciej W. Rozycki
* Copyright (C) 1990, 1999, 2000 Silicon Graphics, Inc.
*/
#ifndef _ASM_TX49XX_SPACES_H
#define _ASM_TX49XX_SPACES_H

#define FIXADDR_TOP ((unsigned long)(long)(int)0xfefe0000)

#include <asm/mach-generic/spaces.h>

#endif /* __ASM_TX49XX_SPACES_H */
1 change: 1 addition & 0 deletions arch/mips/include/asm/pgtable.h
Original file line number Diff line number Diff line change
Expand Up @@ -414,6 +414,7 @@ int phys_mem_access_prot_allowed(struct file *file, unsigned long pfn,
* constraints placed on us by the cache architecture.
*/
#define HAVE_ARCH_UNMAPPED_AREA
#define HAVE_ARCH_UNMAPPED_AREA_TOPDOWN

/*
* No page table caches to initialise
Expand Down
43 changes: 40 additions & 3 deletions arch/mips/include/asm/smp-ops.h
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,8 @@
#ifndef __ASM_SMP_OPS_H
#define __ASM_SMP_OPS_H

#include <linux/errno.h>

#ifdef CONFIG_SMP

#include <linux/cpumask.h>
Expand Down Expand Up @@ -56,8 +58,43 @@ static inline void register_smp_ops(struct plat_smp_ops *ops)

#endif /* !CONFIG_SMP */

extern struct plat_smp_ops up_smp_ops;
extern struct plat_smp_ops cmp_smp_ops;
extern struct plat_smp_ops vsmp_smp_ops;
static inline int register_up_smp_ops(void)
{
#ifdef CONFIG_SMP_UP
extern struct plat_smp_ops up_smp_ops;

register_smp_ops(&up_smp_ops);

return 0;
#else
return -ENODEV;
#endif
}

static inline int register_cmp_smp_ops(void)
{
#ifdef CONFIG_MIPS_CMP
extern struct plat_smp_ops cmp_smp_ops;

register_smp_ops(&cmp_smp_ops);

return 0;
#else
return -ENODEV;
#endif
}

static inline int register_vsmp_smp_ops(void)
{
#ifdef CONFIG_MIPS_MT_SMP
extern struct plat_smp_ops vsmp_smp_ops;

register_smp_ops(&vsmp_smp_ops);

return 0;
#else
return -ENODEV;
#endif
}

#endif /* __ASM_SMP_OPS_H */
1 change: 1 addition & 0 deletions arch/mips/include/asm/smtc.h
Original file line number Diff line number Diff line change
Expand Up @@ -46,6 +46,7 @@ extern void smtc_prepare_cpus(int cpus);
extern void smtc_smp_finish(void);
extern void smtc_boot_secondary(int cpu, struct task_struct *t);
extern void smtc_cpus_done(void);
extern void smtc_init_secondary(void);


/*
Expand Down
2 changes: 2 additions & 0 deletions arch/mips/include/asm/uasm.h
Original file line number Diff line number Diff line change
Expand Up @@ -150,6 +150,7 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_dsll(buf, rs, rt, sh)
# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_dsra(buf, rs, rt, sh)
# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_dsrl(buf, rs, rt, sh)
# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_dsrl_safe(buf, rs, rt, sh)
# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_drotr(buf, rs, rt, sh)
# define UASM_i_MFC0(buf, rt, rd...) uasm_i_dmfc0(buf, rt, rd)
# define UASM_i_MTC0(buf, rt, rd...) uasm_i_dmtc0(buf, rt, rd)
Expand All @@ -165,6 +166,7 @@ static inline void __uasminit uasm_l##lb(struct uasm_label **lab, u32 *addr) \
# define UASM_i_SLL(buf, rs, rt, sh) uasm_i_sll(buf, rs, rt, sh)
# define UASM_i_SRA(buf, rs, rt, sh) uasm_i_sra(buf, rs, rt, sh)
# define UASM_i_SRL(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh)
# define UASM_i_SRL_SAFE(buf, rs, rt, sh) uasm_i_srl(buf, rs, rt, sh)
# define UASM_i_ROTR(buf, rs, rt, sh) uasm_i_rotr(buf, rs, rt, sh)
# define UASM_i_MFC0(buf, rt, rd...) uasm_i_mfc0(buf, rt, rd)
# define UASM_i_MTC0(buf, rt, rd...) uasm_i_mtc0(buf, rt, rd)
Expand Down
Loading

0 comments on commit 6fd4ce8

Please sign in to comment.