Commit 568d135d authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull MIPS updates from Ralf Baechle:
 "Boston platform support:
   - Document DT bindings
   - Add CLK driver for board clocks

  CM:
   - Avoid per-core locking with CM3 & higher
   - WARN on attempt to lock invalid VP, not BUG

  CPS:
   - Select CONFIG_SYS_SUPPORTS_SCHED_SMT for MIPSr6
   - Prevent multi-core with dcache aliasing
   - Handle cores not powering down more gracefully
   - Handle spurious VP starts more gracefully

  DSP:
   - Add lwx & lhx missaligned access support

  eBPF:
   - Add MIPS support along with many supporting change to add the
     required infrastructure

  Generic arch code:
   - Misc sysmips MIPS_ATOMIC_SET fixes
   - Drop duplicate HAVE_SYSCALL_TRACEPOINTS
   - Negate error syscall return in trace
   - Correct forced syscall errors
   - Traced negative syscalls should return -ENOSYS
   - Allow samples/bpf/tracex5 to access syscall arguments for sane
     traces
   - Cleanup from old Kconfig options in defconfigs
   - Fix PREF instruction usage by memcpy for MIPS R6
   - Fix various special cases in the FPU eulation
   - Fix some special cases in MIPS16e2 support
   - Fix MIPS I ISA /proc/cpuinfo reporting
   - Sort MIPS Kconfig alphabetically
   - Fix minimum alignment requirement of IRQ stack as required by
     ABI / GCC
   - Fix special cases in the module loader
   - Perform post-DMA cache flushes on systems with MAARs
   - Probe the I6500 CPU
   - Cleanup cmpxchg and add support for 1 and 2 byte operations
   - Use queued read/write locks (qrwlock)
   - Use queued spinlocks (qspinlock)
   - Add CPU shared FTLB feature detection
   - Handle tlbex-tlbp race condition
   - Allow storing pgd in C0_CONTEXT for MIPSr6
   - Use current_cpu_type() in m4kc_tlbp_war()
   - Support Boston in the generic kernel

  Generic platform:
   - yamon-dt: Pull YAMON DT shim code out of SEAD-3 board
   - yamon-dt: Support > 256MB of RAM
   - yamon-dt: Use serial* rather than uart* aliases
   - Abstract FDT fixup application
   - Set RTC_ALWAYS_BCD to 0
   - Add a MAINTAINERS entry

  core kernel:
   - qspinlock.c: include linux/prefetch.h

  Loongson 3:
   - Add support

  Perf:
   - Add I6500 support

  SEAD-3:
   - Remove GIC timer from DT
   - Set interrupt-parent per-device, not at root node
   - Fix GIC interrupt specifiers

  SMP:
   - Skip IPI setup if we only have a single CPU

  VDSO:
   - Make comment match reality
   - Improvements to time code in VDSO"

* 'upstream' of git://git.linux-mips.org/pub/scm/ralf/upstream-linus: (86 commits)
  locking/qspinlock: Include linux/prefetch.h
  MIPS: Fix MIPS I ISA /proc/cpuinfo reporting
  MIPS: Fix minimum alignment requirement of IRQ stack
  MIPS: generic: Support MIPS Boston development boards
  MIPS: DTS: img: Don't attempt to build-in all .dtb files
  clk: boston: Add a driver for MIPS Boston board clocks
  dt-bindings: Document img,boston-clock binding
  MIPS: Traced negative syscalls should return -ENOSYS
  MIPS: Correct forced syscall errors
  MIPS: Negate error syscall return in trace
  MIPS: Drop duplicate HAVE_SYSCALL_TRACEPOINTS select
  MIPS16e2: Provide feature overrides for non-MIPS16 systems
  MIPS: MIPS16e2: Report ASE presence in /proc/cpuinfo
  MIPS: MIPS16e2: Subdecode extended LWSP/SWSP instructions
  MIPS: MIPS16e2: Identify ASE presence
  MIPS: VDSO: Fix a mismatch between comment and preprocessor constant
  MIPS: VDSO: Add implementation of gettimeofday() fallback
  MIPS: VDSO: Add implementation of clock_gettime() fallback
  MIPS: VDSO: Fix conversions in do_monotonic()/do_monotonic_coarse()
  MIPS: Use current_cpu_type() in m4kc_tlbp_war()
  ...
parents 4ecd4ff5 d40e0d4f
Loading
Loading
Loading
Loading
+31 −0
Original line number Diff line number Diff line
Binding for Imagination Technologies MIPS Boston clock sources.

This binding uses the common clock binding[1].

[1] Documentation/devicetree/bindings/clock/clock-bindings.txt

The device node must be a child node of the syscon node corresponding to the
Boston system's platform registers.

Required properties:
- compatible : Should be "img,boston-clock".
- #clock-cells : Should be set to 1.
  Values available for clock consumers can be found in the header file:
    <dt-bindings/clock/boston-clock.h>

Example:

	system-controller@17ffd000 {
		compatible = "img,boston-platform-regs", "syscon";
		reg = <0x17ffd000 0x1000>;

		clk_boston: clock {
			compatible = "img,boston-clock";
			#clock-cells = <1>;
		};
	};

	uart0: uart@17ffe000 {
		/* ... */
		clocks = <&clk_boston BOSTON_CLK_SYS>;
	};
+16 −0
Original line number Diff line number Diff line
@@ -8732,6 +8732,12 @@ F: Documentation/devicetree/bindings/mips/
F:	Documentation/mips/
F:	arch/mips/

MIPS GENERIC PLATFORM
M:	Paul Burton <paul.burton@imgtec.com>
L:	linux-mips@linux-mips.org
S:	Supported
F:	arch/mips/generic/

MIPS/LOONGSON1 ARCHITECTURE
M:	Keguang Zhang <keguang.zhang@gmail.com>
L:	linux-mips@linux-mips.org
@@ -8741,6 +8747,16 @@ F: arch/mips/include/asm/mach-loongson32/
F:	drivers/*/*loongson1*
F:	drivers/*/*/*loongson1*

MIPS BOSTON DEVELOPMENT BOARD
M:	Paul Burton <paul.burton@imgtec.com>
L:	linux-mips@linux-mips.org
S:	Maintained
F:	Documentation/devicetree/bindings/clock/img,boston-clock.txt
F:	arch/mips/boot/dts/img/boston.dts
F:	arch/mips/configs/generic/board-boston.config
F:	drivers/clk/imgtec/clk-boston.c
F:	include/dt-bindings/clock/boston-clock.h

MIROSOUND PCM20 FM RADIO RECEIVER DRIVER
M:	Hans Verkuil <hverkuil@xs4all.nl>
L:	linux-media@vger.kernel.org
+63 −51
Original line number Diff line number Diff line
config MIPS
	bool
	default y
	select ARCH_SUPPORTS_UPROBES
	select ARCH_BINFMT_ELF_STATE
	select ARCH_CLOCKSOURCE_DATA
	select ARCH_DISCARD_MEMBLOCK
	select ARCH_HAS_ELF_RANDOMIZE
	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
	select ARCH_MIGHT_HAVE_PC_PARPORT
	select ARCH_MIGHT_HAVE_PC_SERIO
	select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
	select ARCH_SUPPORTS_UPROBES
	select ARCH_USE_BUILTIN_BSWAP
	select HAVE_CONTEXT_TRACKING
	select HAVE_GENERIC_DMA_COHERENT
	select HAVE_IDE
	select HAVE_IRQ_EXIT_ON_IRQ_STACK
	select HAVE_OPROFILE
	select HAVE_PERF_EVENTS
	select PERF_USE_VMALLOC
	select ARCH_USE_CMPXCHG_LOCKREF if 64BIT
	select ARCH_USE_QUEUED_RWLOCKS
	select ARCH_USE_QUEUED_SPINLOCKS
	select ARCH_WANT_IPC_PARSE_VERSION
	select BUILDTIME_EXTABLE_SORT
	select CLONE_BACKWARDS
	select CPU_PM if CPU_IDLE
	select GENERIC_ATOMIC64 if !64BIT
	select GENERIC_CLOCKEVENTS
	select GENERIC_CMOS_UPDATE
	select GENERIC_CPU_AUTOPROBE
	select GENERIC_IRQ_PROBE
	select GENERIC_IRQ_SHOW
	select GENERIC_PCI_IOMAP
	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
	select GENERIC_SMP_IDLE_THREAD
	select GENERIC_TIME_VSYSCALL
	select HANDLE_DOMAIN_IRQ
	select HAVE_ARCH_JUMP_LABEL
	select HAVE_ARCH_KGDB
	select HAVE_ARCH_MMAP_RND_BITS if MMU
	select HAVE_ARCH_MMAP_RND_COMPAT_BITS if MMU && COMPAT
	select HAVE_ARCH_SECCOMP_FILTER
	select HAVE_ARCH_TRACEHOOK
	select HAVE_CBPF_JIT if !CPU_MICROMIPS
	select HAVE_FUNCTION_TRACER
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
	select HAVE_CBPF_JIT if (!64BIT && !CPU_MICROMIPS)
	select HAVE_EBPF_JIT if (64BIT && !CPU_MICROMIPS)
	select HAVE_CC_STACKPROTECTOR
	select HAVE_CONTEXT_TRACKING
	select HAVE_COPY_THREAD_TLS
	select HAVE_C_RECORDMCOUNT
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_DEBUG_STACKOVERFLOW
	select HAVE_DMA_API_DEBUG
	select HAVE_DMA_CONTIGUOUS
	select HAVE_DYNAMIC_FTRACE
	select HAVE_EXIT_THREAD
	select HAVE_FTRACE_MCOUNT_RECORD
	select HAVE_C_RECORDMCOUNT
	select HAVE_FUNCTION_GRAPH_TRACER
	select HAVE_FUNCTION_TRACER
	select HAVE_GENERIC_DMA_COHERENT
	select HAVE_IDE
	select HAVE_IRQ_EXIT_ON_IRQ_STACK
	select HAVE_IRQ_TIME_ACCOUNTING
	select HAVE_KPROBES
	select HAVE_KRETPROBES
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_DEBUG_KMEMLEAK
	select HAVE_SYSCALL_TRACEPOINTS
	select ARCH_HAS_ELF_RANDOMIZE
	select HAVE_ARCH_TRANSPARENT_HUGEPAGE if CPU_SUPPORTS_HUGEPAGES && 64BIT
	select RTC_LIB if !MACH_LOONGSON64
	select GENERIC_ATOMIC64 if !64BIT
	select HAVE_DMA_CONTIGUOUS
	select HAVE_DMA_API_DEBUG
	select GENERIC_IRQ_PROBE
	select GENERIC_IRQ_SHOW
	select GENERIC_PCI_IOMAP
	select HAVE_ARCH_JUMP_LABEL
	select ARCH_WANT_IPC_PARSE_VERSION
	select IRQ_FORCED_THREADING
	select HAVE_MEMBLOCK
	select HAVE_MEMBLOCK_NODE_MAP
	select ARCH_DISCARD_MEMBLOCK
	select GENERIC_SMP_IDLE_THREAD
	select BUILDTIME_EXTABLE_SORT
	select GENERIC_CPU_AUTOPROBE
	select GENERIC_CLOCKEVENTS
	select GENERIC_SCHED_CLOCK if !CAVIUM_OCTEON_SOC
	select GENERIC_CMOS_UPDATE
	select HAVE_MOD_ARCH_SPECIFIC
	select HAVE_NMI
	select VIRT_TO_BUS
	select MODULES_USE_ELF_REL if MODULES
	select HAVE_OPROFILE
	select HAVE_PERF_EVENTS
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HAVE_SYSCALL_TRACEPOINTS
	select HAVE_VIRT_CPU_ACCOUNTING_GEN
	select IRQ_FORCED_THREADING
	select MODULES_USE_ELF_RELA if MODULES && 64BIT
	select CLONE_BACKWARDS
	select HAVE_DEBUG_STACKOVERFLOW
	select HAVE_CC_STACKPROTECTOR
	select CPU_PM if CPU_IDLE
	select ARCH_HAS_TICK_BROADCAST if GENERIC_CLOCKEVENTS_BROADCAST
	select ARCH_BINFMT_ELF_STATE
	select MODULES_USE_ELF_REL if MODULES
	select PERF_USE_VMALLOC
	select RTC_LIB if !MACH_LOONGSON64
	select SYSCTL_EXCEPTION_TRACE
	select HAVE_VIRT_CPU_ACCOUNTING_GEN
	select HAVE_IRQ_TIME_ACCOUNTING
	select GENERIC_TIME_VSYSCALL
	select ARCH_CLOCKSOURCE_DATA
	select HANDLE_DOMAIN_IRQ
	select HAVE_EXIT_THREAD
	select HAVE_REGS_AND_STACK_ACCESS_API
	select HAVE_COPY_THREAD_TLS
	select VIRT_TO_BUS

menu "Machine selection"

@@ -1179,6 +1181,15 @@ config SYS_SUPPORTS_RELOCATABLE
	 The platform must provide plat_get_fdt() if it selects CONFIG_USE_OF
	 to allow access to command line and entropy sources.

config MIPS_CBPF_JIT
	def_bool y
	depends on BPF_JIT && HAVE_CBPF_JIT

config MIPS_EBPF_JIT
	def_bool y
	depends on BPF_JIT && HAVE_EBPF_JIT


#
# Endianness selection.  Sufficiently obscure so many users don't know what to
# answer,so we try hard to limit the available choices.  Also the use of a
@@ -2062,7 +2073,7 @@ config CPU_SUPPORTS_UNCACHED_ACCELERATED
	bool
config MIPS_PGD_C0_CONTEXT
	bool
	default y if 64BIT && CPU_MIPSR2 && !CPU_XLP
	default y if 64BIT && (CPU_MIPSR2 || CPU_MIPSR6) && !CPU_XLP

#
# Set to y for ptrace access to watch registers.
@@ -2370,6 +2381,7 @@ config MIPS_CPS
	select SMP
	select SYNC_R4K if (CEVT_R4K || CSRC_R4K)
	select SYS_SUPPORTS_HOTPLUG_CPU
	select SYS_SUPPORTS_SCHED_SMT if CPU_MIPSR6
	select SYS_SUPPORTS_SMP
	select WEAK_ORDERING
	help
+1 −1
Original line number Diff line number Diff line
@@ -160,7 +160,7 @@ cflags-$(CONFIG_CPU_MIPS32_R1) += $(call cc-option,-march=mips32,-mips32 -U_MIPS
			-Wa,-mips32 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R2)	+= $(call cc-option,-march=mips32r2,-mips32r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS32) \
			-Wa,-mips32r2 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R6)	+= -march=mips32r6 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS32_R6)	+= -march=mips32r6 -Wa,--trap -modd-spreg
cflags-$(CONFIG_CPU_MIPS64_R1)	+= $(call cc-option,-march=mips64,-mips64 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
			-Wa,-mips64 -Wa,--trap
cflags-$(CONFIG_CPU_MIPS64_R2)	+= $(call cc-option,-march=mips64r2,-mips64r2 -U_MIPS_ISA -D_MIPS_ISA=_MIPS_ISA_MIPS64) \
+3 −2
Original line number Diff line number Diff line
dtb-$(CONFIG_MACH_PISTACHIO)	+= pistachio_marduk.dtb
dtb-$(CONFIG_FIT_IMAGE_FDT_BOSTON)	+= boston.dtb

obj-y				+= $(patsubst %.dtb, %.dtb.o, $(dtb-y))
dtb-$(CONFIG_MACH_PISTACHIO)	+= pistachio_marduk.dtb
obj-$(CONFIG_MACH_PISTACHIO)	+= pistachio_marduk.dtb.o

# Force kbuild to make empty built-in.o if necessary
obj-				+= dummy.o
Loading