Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit fa19a769 authored by Linus Torvalds's avatar Linus Torvalds
Browse files
Pull ARM fixes from Russell King:
 "A few ARM fixes:

   - fix a crash while performing TLB maintanence on early ARM SMP cores

   - blacklist Scorpion CPUs for hardware breakpoints

   - ARMs asm/types.h has been included as part of the UAPI due to the
     way the makefiles work, move it to uapi/asm/types.h to make it
     official

   - fix up ftrace syscall name matching"

* 'fixes' of git://git.armlinux.org.uk/~rmk/linux-arm:
  ARM: 8613/1: Fix the uaccess crash on PB11MPCore
  MAINTAINERS: update rmk's entries
  ARM: put types.h in uapi
  ARM: 8634/1: hw_breakpoint: blacklist Scorpion CPUs
  ARM: 8632/1: ftrace: fix syscall name matching
parents ca92e6c7 90f92c63
Loading
Loading
Loading
Loading
+8 −2
Original line number Original line Diff line number Diff line
@@ -976,6 +976,7 @@ M: Russell King <linux@armlinux.org.uk>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
W:	http://www.armlinux.org.uk/
W:	http://www.armlinux.org.uk/
S:	Maintained
S:	Maintained
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git
F:	arch/arm/
F:	arch/arm/


ARM SUB-ARCHITECTURES
ARM SUB-ARCHITECTURES
@@ -1153,6 +1154,7 @@ ARM/CLKDEV SUPPORT
M:	Russell King <linux@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
L:	linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
S:	Maintained
S:	Maintained
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git clkdev
F:	arch/arm/include/asm/clkdev.h
F:	arch/arm/include/asm/clkdev.h
F:	drivers/clk/clkdev.c
F:	drivers/clk/clkdev.c


@@ -7697,8 +7699,10 @@ F: drivers/net/dsa/mv88e6xxx/
F:	Documentation/devicetree/bindings/net/dsa/marvell.txt
F:	Documentation/devicetree/bindings/net/dsa/marvell.txt


MARVELL ARMADA DRM SUPPORT
MARVELL ARMADA DRM SUPPORT
M:	Russell King <rmk+kernel@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Maintained
S:	Maintained
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-armada-devel
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-armada-fixes
F:	drivers/gpu/drm/armada/
F:	drivers/gpu/drm/armada/
F:	include/uapi/drm/armada_drm.h
F:	include/uapi/drm/armada_drm.h
F:	Documentation/devicetree/bindings/display/armada/
F:	Documentation/devicetree/bindings/display/armada/
@@ -8903,8 +8907,10 @@ S: Supported
F:	drivers/nfc/nxp-nci
F:	drivers/nfc/nxp-nci


NXP TDA998X DRM DRIVER
NXP TDA998X DRM DRIVER
M:	Russell King <rmk+kernel@armlinux.org.uk>
M:	Russell King <linux@armlinux.org.uk>
S:	Supported
S:	Supported
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-devel
T:	git git://git.armlinux.org.uk/~rmk/linux-arm.git drm-tda998x-fixes
F:	drivers/gpu/drm/i2c/tda998x_drv.c
F:	drivers/gpu/drm/i2c/tda998x_drv.c
F:	include/drm/i2c/tda998x.h
F:	include/drm/i2c/tda998x.h


+3 −0
Original line number Original line Diff line number Diff line
@@ -94,6 +94,9 @@
#define ARM_CPU_XSCALE_ARCH_V2		0x4000
#define ARM_CPU_XSCALE_ARCH_V2		0x4000
#define ARM_CPU_XSCALE_ARCH_V3		0x6000
#define ARM_CPU_XSCALE_ARCH_V3		0x6000


/* Qualcomm implemented cores */
#define ARM_CPU_PART_SCORPION		0x510002d0

extern unsigned int processor_id;
extern unsigned int processor_id;


#ifdef CONFIG_CPU_CP15
#ifdef CONFIG_CPU_CP15
+18 −0
Original line number Original line Diff line number Diff line
@@ -54,6 +54,24 @@ static inline void *return_address(unsigned int level)


#define ftrace_return_address(n) return_address(n)
#define ftrace_return_address(n) return_address(n)


#define ARCH_HAS_SYSCALL_MATCH_SYM_NAME

static inline bool arch_syscall_match_sym_name(const char *sym,
					       const char *name)
{
	if (!strcmp(sym, "sys_mmap2"))
		sym = "sys_mmap_pgoff";
	else if (!strcmp(sym, "sys_statfs64_wrapper"))
		sym = "sys_statfs64";
	else if (!strcmp(sym, "sys_fstatfs64_wrapper"))
		sym = "sys_fstatfs64";
	else if (!strcmp(sym, "sys_arm_fadvise64_64"))
		sym = "sys_fadvise64_64";

	/* Ignore case since sym may start with "SyS" instead of "sys" */
	return !strcasecmp(sym, name);
}

#endif /* ifndef __ASSEMBLY__ */
#endif /* ifndef __ASSEMBLY__ */


#endif /* _ASM_ARM_FTRACE */
#endif /* _ASM_ARM_FTRACE */
+3 −3
Original line number Original line Diff line number Diff line
#ifndef _ASM_TYPES_H
#ifndef _UAPI_ASM_TYPES_H
#define _ASM_TYPES_H
#define _UAPI_ASM_TYPES_H


#include <asm-generic/int-ll64.h>
#include <asm-generic/int-ll64.h>


@@ -37,4 +37,4 @@
#define __UINTPTR_TYPE__	unsigned long
#define __UINTPTR_TYPE__	unsigned long
#endif
#endif


#endif /* _ASM_TYPES_H */
#endif /* _UAPI_ASM_TYPES_H */
+16 −0
Original line number Original line Diff line number Diff line
@@ -1063,6 +1063,22 @@ static int __init arch_hw_breakpoint_init(void)
		return 0;
		return 0;
	}
	}


	/*
	 * Scorpion CPUs (at least those in APQ8060) seem to set DBGPRSR.SPD
	 * whenever a WFI is issued, even if the core is not powered down, in
	 * violation of the architecture.  When DBGPRSR.SPD is set, accesses to
	 * breakpoint and watchpoint registers are treated as undefined, so
	 * this results in boot time and runtime failures when these are
	 * accessed and we unexpectedly take a trap.
	 *
	 * It's not clear if/how this can be worked around, so we blacklist
	 * Scorpion CPUs to avoid these issues.
	*/
	if (read_cpuid_part() == ARM_CPU_PART_SCORPION) {
		pr_info("Scorpion CPU detected. Hardware breakpoints and watchpoints disabled\n");
		return 0;
	}

	has_ossr = core_has_os_save_restore();
	has_ossr = core_has_os_save_restore();


	/* Determine how many BRPs/WRPs are available. */
	/* Determine how many BRPs/WRPs are available. */
Loading