diff options
author | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-18 19:26:41 -0500 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2014-12-18 19:26:41 -0500 |
commit | 22943a6a6ba3bbbf5cc11cec409e779374e88107 (patch) | |
tree | 9cd343f44c81bc0ca404948707a05604ccbc90ec /arch | |
parent | 39757e7351f874a614a46d634c415ca69e154e53 (diff) | |
parent | 7a70bf797a587205991b8e3153d764561de867de (diff) |
Merge tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc
Pull arch/arc updates from Vineet Gupta:
"Minor updates for ARC for 3.19"
* tag 'arc-3.19-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/vgupta/arc:
ARC: rename default defconfig
ARC: [nsimosci] move peripherals to match model to FPGA
ARC: document memory clobber in irq control macros
ARC: R-M-W assist locks only needed for !LLSC
ARC: add power management options
Diffstat (limited to 'arch')
-rw-r--r-- | arch/arc/Kconfig | 1 | ||||
-rw-r--r-- | arch/arc/Makefile | 2 | ||||
-rw-r--r-- | arch/arc/boot/dts/nsimosci.dts | 18 | ||||
-rw-r--r-- | arch/arc/configs/fpga_noramfs_defconfig | 63 | ||||
-rw-r--r-- | arch/arc/configs/nsim_700_defconfig (renamed from arch/arc/configs/fpga_defconfig) | 0 | ||||
-rw-r--r-- | arch/arc/include/asm/irqflags.h | 9 | ||||
-rw-r--r-- | arch/arc/kernel/smp.c | 2 |
7 files changed, 22 insertions, 73 deletions
diff --git a/arch/arc/Kconfig b/arch/arc/Kconfig index fe44b2494609..df94ac1f75b6 100644 --- a/arch/arc/Kconfig +++ b/arch/arc/Kconfig | |||
@@ -428,3 +428,4 @@ source "arch/arc/Kconfig.debug" | |||
428 | source "security/Kconfig" | 428 | source "security/Kconfig" |
429 | source "crypto/Kconfig" | 429 | source "crypto/Kconfig" |
430 | source "lib/Kconfig" | 430 | source "lib/Kconfig" |
431 | source "kernel/power/Kconfig" | ||
diff --git a/arch/arc/Makefile b/arch/arc/Makefile index 10bc3d4e8a44..db72fec0e160 100644 --- a/arch/arc/Makefile +++ b/arch/arc/Makefile | |||
@@ -12,7 +12,7 @@ ifeq ($(CROSS_COMPILE),) | |||
12 | CROSS_COMPILE := arc-linux-uclibc- | 12 | CROSS_COMPILE := arc-linux-uclibc- |
13 | endif | 13 | endif |
14 | 14 | ||
15 | KBUILD_DEFCONFIG := fpga_defconfig | 15 | KBUILD_DEFCONFIG := nsim_700_defconfig |
16 | 16 | ||
17 | cflags-y += -mA7 -fno-common -pipe -fno-builtin -D__linux__ | 17 | cflags-y += -mA7 -fno-common -pipe -fno-builtin -D__linux__ |
18 | 18 | ||
diff --git a/arch/arc/boot/dts/nsimosci.dts b/arch/arc/boot/dts/nsimosci.dts index cfaedd9c61c9..1c169dc74ad1 100644 --- a/arch/arc/boot/dts/nsimosci.dts +++ b/arch/arc/boot/dts/nsimosci.dts | |||
@@ -20,7 +20,7 @@ | |||
20 | /* this is for console on PGU */ | 20 | /* this is for console on PGU */ |
21 | /* bootargs = "console=tty0 consoleblank=0"; */ | 21 | /* bootargs = "console=tty0 consoleblank=0"; */ |
22 | /* this is for console on serial */ | 22 | /* this is for console on serial */ |
23 | bootargs = "earlycon=uart8250,mmio32,0xc0000000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblank=0 debug"; | 23 | bootargs = "earlycon=uart8250,mmio32,0xf0000000,115200n8 console=tty0 console=ttyS0,115200n8 consoleblank=0 debug"; |
24 | }; | 24 | }; |
25 | 25 | ||
26 | aliases { | 26 | aliases { |
@@ -41,9 +41,9 @@ | |||
41 | #interrupt-cells = <1>; | 41 | #interrupt-cells = <1>; |
42 | }; | 42 | }; |
43 | 43 | ||
44 | uart0: serial@c0000000 { | 44 | uart0: serial@f0000000 { |
45 | compatible = "ns8250"; | 45 | compatible = "ns8250"; |
46 | reg = <0xc0000000 0x2000>; | 46 | reg = <0xf0000000 0x2000>; |
47 | interrupts = <11>; | 47 | interrupts = <11>; |
48 | clock-frequency = <3686400>; | 48 | clock-frequency = <3686400>; |
49 | baud = <115200>; | 49 | baud = <115200>; |
@@ -52,21 +52,21 @@ | |||
52 | no-loopback-test = <1>; | 52 | no-loopback-test = <1>; |
53 | }; | 53 | }; |
54 | 54 | ||
55 | pgu0: pgu@c9000000 { | 55 | pgu0: pgu@f9000000 { |
56 | compatible = "snps,arcpgufb"; | 56 | compatible = "snps,arcpgufb"; |
57 | reg = <0xc9000000 0x400>; | 57 | reg = <0xf9000000 0x400>; |
58 | }; | 58 | }; |
59 | 59 | ||
60 | ps2: ps2@c9001000 { | 60 | ps2: ps2@f9001000 { |
61 | compatible = "snps,arc_ps2"; | 61 | compatible = "snps,arc_ps2"; |
62 | reg = <0xc9000400 0x14>; | 62 | reg = <0xf9000400 0x14>; |
63 | interrupts = <13>; | 63 | interrupts = <13>; |
64 | interrupt-names = "arc_ps2_irq"; | 64 | interrupt-names = "arc_ps2_irq"; |
65 | }; | 65 | }; |
66 | 66 | ||
67 | eth0: ethernet@c0003000 { | 67 | eth0: ethernet@f0003000 { |
68 | compatible = "snps,oscilan"; | 68 | compatible = "snps,oscilan"; |
69 | reg = <0xc0003000 0x44>; | 69 | reg = <0xf0003000 0x44>; |
70 | interrupts = <7>, <8>; | 70 | interrupts = <7>, <8>; |
71 | interrupt-names = "rx", "tx"; | 71 | interrupt-names = "rx", "tx"; |
72 | }; | 72 | }; |
diff --git a/arch/arc/configs/fpga_noramfs_defconfig b/arch/arc/configs/fpga_noramfs_defconfig deleted file mode 100644 index 49c93011ab96..000000000000 --- a/arch/arc/configs/fpga_noramfs_defconfig +++ /dev/null | |||
@@ -1,63 +0,0 @@ | |||
1 | CONFIG_CROSS_COMPILE="arc-linux-uclibc-" | ||
2 | # CONFIG_LOCALVERSION_AUTO is not set | ||
3 | CONFIG_DEFAULT_HOSTNAME="ARCLinux" | ||
4 | # CONFIG_SWAP is not set | ||
5 | CONFIG_HIGH_RES_TIMERS=y | ||
6 | CONFIG_IKCONFIG=y | ||
7 | CONFIG_IKCONFIG_PROC=y | ||
8 | CONFIG_NAMESPACES=y | ||
9 | # CONFIG_UTS_NS is not set | ||
10 | # CONFIG_PID_NS is not set | ||
11 | CONFIG_BLK_DEV_INITRD=y | ||
12 | CONFIG_KALLSYMS_ALL=y | ||
13 | CONFIG_EMBEDDED=y | ||
14 | # CONFIG_SLUB_DEBUG is not set | ||
15 | # CONFIG_COMPAT_BRK is not set | ||
16 | CONFIG_KPROBES=y | ||
17 | CONFIG_MODULES=y | ||
18 | # CONFIG_LBDAF is not set | ||
19 | # CONFIG_BLK_DEV_BSG is not set | ||
20 | # CONFIG_IOSCHED_DEADLINE is not set | ||
21 | # CONFIG_IOSCHED_CFQ is not set | ||
22 | CONFIG_ARC_PLAT_FPGA_LEGACY=y | ||
23 | # CONFIG_ARC_HAS_RTSC is not set | ||
24 | CONFIG_ARC_BUILTIN_DTB_NAME="angel4" | ||
25 | CONFIG_PREEMPT=y | ||
26 | # CONFIG_COMPACTION is not set | ||
27 | # CONFIG_CROSS_MEMORY_ATTACH is not set | ||
28 | CONFIG_NET=y | ||
29 | CONFIG_PACKET=y | ||
30 | CONFIG_UNIX=y | ||
31 | CONFIG_UNIX_DIAG=y | ||
32 | CONFIG_NET_KEY=y | ||
33 | CONFIG_INET=y | ||
34 | # CONFIG_IPV6 is not set | ||
35 | # CONFIG_STANDALONE is not set | ||
36 | # CONFIG_PREVENT_FIRMWARE_BUILD is not set | ||
37 | # CONFIG_FIRMWARE_IN_KERNEL is not set | ||
38 | # CONFIG_BLK_DEV is not set | ||
39 | CONFIG_NETDEVICES=y | ||
40 | CONFIG_ARC_EMAC=y | ||
41 | CONFIG_LXT_PHY=y | ||
42 | # CONFIG_INPUT_MOUSEDEV_PSAUX is not set | ||
43 | # CONFIG_INPUT_KEYBOARD is not set | ||
44 | # CONFIG_INPUT_MOUSE is not set | ||
45 | # CONFIG_SERIO is not set | ||
46 | # CONFIG_LEGACY_PTYS is not set | ||
47 | # CONFIG_DEVKMEM is not set | ||
48 | CONFIG_SERIAL_ARC=y | ||
49 | CONFIG_SERIAL_ARC_CONSOLE=y | ||
50 | # CONFIG_HW_RANDOM is not set | ||
51 | # CONFIG_HWMON is not set | ||
52 | # CONFIG_VGA_CONSOLE is not set | ||
53 | # CONFIG_HID is not set | ||
54 | # CONFIG_USB_SUPPORT is not set | ||
55 | # CONFIG_IOMMU_SUPPORT is not set | ||
56 | CONFIG_EXT2_FS=y | ||
57 | CONFIG_EXT2_FS_XATTR=y | ||
58 | CONFIG_TMPFS=y | ||
59 | # CONFIG_MISC_FILESYSTEMS is not set | ||
60 | CONFIG_NFS_FS=y | ||
61 | # CONFIG_ENABLE_WARN_DEPRECATED is not set | ||
62 | # CONFIG_ENABLE_MUST_CHECK is not set | ||
63 | CONFIG_XZ_DEC=y | ||
diff --git a/arch/arc/configs/fpga_defconfig b/arch/arc/configs/nsim_700_defconfig index ef4d3bc7b6c0..ef4d3bc7b6c0 100644 --- a/arch/arc/configs/fpga_defconfig +++ b/arch/arc/configs/nsim_700_defconfig | |||
diff --git a/arch/arc/include/asm/irqflags.h b/arch/arc/include/asm/irqflags.h index 742816f1b210..27ecc6975a58 100644 --- a/arch/arc/include/asm/irqflags.h +++ b/arch/arc/include/asm/irqflags.h | |||
@@ -41,6 +41,15 @@ | |||
41 | 41 | ||
42 | /****************************************************************** | 42 | /****************************************************************** |
43 | * IRQ Control Macros | 43 | * IRQ Control Macros |
44 | * | ||
45 | * All of them have "memory" clobber (compiler barrier) which is needed to | ||
46 | * ensure that LD/ST requiring irq safetly (R-M-W when LLSC is not available) | ||
47 | * are redone after IRQs are re-enabled (and gcc doesn't reuse stale register) | ||
48 | * | ||
49 | * Noted at the time of Abilis Timer List corruption | ||
50 | * Orig Bug + Rejected solution : https://lkml.org/lkml/2013/3/29/67 | ||
51 | * Reasoning : https://lkml.org/lkml/2013/4/8/15 | ||
52 | * | ||
44 | ******************************************************************/ | 53 | ******************************************************************/ |
45 | 54 | ||
46 | /* | 55 | /* |
diff --git a/arch/arc/kernel/smp.c b/arch/arc/kernel/smp.c index d01df0c517a2..20ebb602ea2f 100644 --- a/arch/arc/kernel/smp.c +++ b/arch/arc/kernel/smp.c | |||
@@ -26,8 +26,10 @@ | |||
26 | #include <asm/setup.h> | 26 | #include <asm/setup.h> |
27 | #include <asm/mach_desc.h> | 27 | #include <asm/mach_desc.h> |
28 | 28 | ||
29 | #ifndef CONFIG_ARC_HAS_LLSC | ||
29 | arch_spinlock_t smp_atomic_ops_lock = __ARCH_SPIN_LOCK_UNLOCKED; | 30 | arch_spinlock_t smp_atomic_ops_lock = __ARCH_SPIN_LOCK_UNLOCKED; |
30 | arch_spinlock_t smp_bitops_lock = __ARCH_SPIN_LOCK_UNLOCKED; | 31 | arch_spinlock_t smp_bitops_lock = __ARCH_SPIN_LOCK_UNLOCKED; |
32 | #endif | ||
31 | 33 | ||
32 | struct plat_smp_ops plat_smp_ops; | 34 | struct plat_smp_ops plat_smp_ops; |
33 | 35 | ||