Skip to content

Commit 80a14a5

Browse files
committed
Merge remote-tracking branch 'stable/linux-4.14.y' into rpi-4.14.y
2 parents 4469967 + 6e4548e commit 80a14a5

File tree

198 files changed

+1725
-590
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

198 files changed

+1725
-590
lines changed

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 4
33
PATCHLEVEL = 14
4-
SUBLEVEL = 22
4+
SUBLEVEL = 24
55
EXTRAVERSION =
66
NAME = Petit Gorille
77

arch/arm/boot/dts/ls1021a-qds.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@
215215
reg = <0x2a>;
216216
VDDA-supply = <&reg_3p3v>;
217217
VDDIO-supply = <&reg_3p3v>;
218-
clocks = <&sys_mclk 1>;
218+
clocks = <&sys_mclk>;
219219
};
220220
};
221221
};

arch/arm/boot/dts/ls1021a-twr.dts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -187,7 +187,7 @@
187187
reg = <0x0a>;
188188
VDDA-supply = <&reg_3p3v>;
189189
VDDIO-supply = <&reg_3p3v>;
190-
clocks = <&sys_mclk 1>;
190+
clocks = <&sys_mclk>;
191191
};
192192
};
193193

arch/arm/lib/csumpartialcopyuser.S

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,7 +85,11 @@
8585
.pushsection .text.fixup,"ax"
8686
.align 4
8787
9001: mov r4, #-EFAULT
88+
#ifdef CONFIG_CPU_SW_DOMAIN_PAN
89+
ldr r5, [sp, #9*4] @ *err_ptr
90+
#else
8891
ldr r5, [sp, #8*4] @ *err_ptr
92+
#endif
8993
str r4, [r5]
9094
ldmia sp, {r1, r2} @ retrieve dst, len
9195
add r2, r2, r1

arch/arm64/boot/dts/marvell/armada-8040-mcbin.dts

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -228,8 +228,11 @@
228228

229229
&cpm_eth0 {
230230
status = "okay";
231+
/* Network PHY */
231232
phy = <&phy0>;
232233
phy-mode = "10gbase-kr";
234+
/* Generic PHY, providing serdes lanes */
235+
phys = <&cpm_comphy4 0>;
233236
};
234237

235238
&cpm_sata0 {
@@ -263,15 +266,21 @@
263266

264267
&cps_eth0 {
265268
status = "okay";
269+
/* Network PHY */
266270
phy = <&phy8>;
267271
phy-mode = "10gbase-kr";
272+
/* Generic PHY, providing serdes lanes */
273+
phys = <&cps_comphy4 0>;
268274
};
269275

270276
&cps_eth1 {
271277
/* CPS Lane 0 - J5 (Gigabit RJ45) */
272278
status = "okay";
279+
/* Network PHY */
273280
phy = <&ge_phy>;
274281
phy-mode = "sgmii";
282+
/* Generic PHY, providing serdes lanes */
283+
phys = <&cps_comphy0 1>;
275284
};
276285

277286
&cps_pinctrl {

arch/arm64/boot/dts/marvell/armada-cp110-master.dtsi

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,44 @@
111111
};
112112
};
113113

114+
cpm_comphy: phy@120000 {
115+
compatible = "marvell,comphy-cp110";
116+
reg = <0x120000 0x6000>;
117+
marvell,system-controller = <&cpm_syscon0>;
118+
#address-cells = <1>;
119+
#size-cells = <0>;
120+
121+
cpm_comphy0: phy@0 {
122+
reg = <0>;
123+
#phy-cells = <1>;
124+
};
125+
126+
cpm_comphy1: phy@1 {
127+
reg = <1>;
128+
#phy-cells = <1>;
129+
};
130+
131+
cpm_comphy2: phy@2 {
132+
reg = <2>;
133+
#phy-cells = <1>;
134+
};
135+
136+
cpm_comphy3: phy@3 {
137+
reg = <3>;
138+
#phy-cells = <1>;
139+
};
140+
141+
cpm_comphy4: phy@4 {
142+
reg = <4>;
143+
#phy-cells = <1>;
144+
};
145+
146+
cpm_comphy5: phy@5 {
147+
reg = <5>;
148+
#phy-cells = <1>;
149+
};
150+
};
151+
114152
cpm_mdio: mdio@12a200 {
115153
#address-cells = <1>;
116154
#size-cells = <0>;

arch/arm64/boot/dts/marvell/armada-cp110-slave.dtsi

Lines changed: 38 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -111,6 +111,44 @@
111111
};
112112
};
113113

114+
cps_comphy: phy@120000 {
115+
compatible = "marvell,comphy-cp110";
116+
reg = <0x120000 0x6000>;
117+
marvell,system-controller = <&cps_syscon0>;
118+
#address-cells = <1>;
119+
#size-cells = <0>;
120+
121+
cps_comphy0: phy@0 {
122+
reg = <0>;
123+
#phy-cells = <1>;
124+
};
125+
126+
cps_comphy1: phy@1 {
127+
reg = <1>;
128+
#phy-cells = <1>;
129+
};
130+
131+
cps_comphy2: phy@2 {
132+
reg = <2>;
133+
#phy-cells = <1>;
134+
};
135+
136+
cps_comphy3: phy@3 {
137+
reg = <3>;
138+
#phy-cells = <1>;
139+
};
140+
141+
cps_comphy4: phy@4 {
142+
reg = <4>;
143+
#phy-cells = <1>;
144+
};
145+
146+
cps_comphy5: phy@5 {
147+
reg = <5>;
148+
#phy-cells = <1>;
149+
};
150+
};
151+
114152
cps_mdio: mdio@12a200 {
115153
#address-cells = <1>;
116154
#size-cells = <0>;

arch/arm64/boot/dts/renesas/ulcb.dtsi

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -145,7 +145,6 @@
145145
&avb {
146146
pinctrl-0 = <&avb_pins>;
147147
pinctrl-names = "default";
148-
renesas,no-ether-link;
149148
phy-handle = <&phy0>;
150149
status = "okay";
151150

arch/arm64/kernel/cpufeature.c

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -175,9 +175,11 @@ static const struct arm64_ftr_bits ftr_id_aa64mmfr2[] = {
175175
};
176176

177177
static const struct arm64_ftr_bits ftr_ctr[] = {
178-
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RAO */
178+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_EXACT, 31, 1, 1), /* RES1 */
179+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 29, 1, 1), /* DIC */
180+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 28, 1, 1), /* IDC */
179181
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, 24, 4, 0), /* CWG */
180-
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 20, 4, 0), /* ERG */
182+
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_HIGHER_SAFE, 20, 4, 0), /* ERG */
181183
ARM64_FTR_BITS(FTR_VISIBLE, FTR_STRICT, FTR_LOWER_SAFE, 16, 4, 1), /* DminLine */
182184
/*
183185
* Linux can handle differing I-cache policies. Userspace JITs will

arch/arm64/kernel/traps.c

Lines changed: 1 addition & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ static const char *handler[]= {
5656
"Error"
5757
};
5858

59-
int show_unhandled_signals = 1;
59+
int show_unhandled_signals = 0;
6060

6161
/*
6262
* Dump out the contents of some kernel memory nicely...
@@ -573,14 +573,6 @@ asmlinkage long do_ni_syscall(struct pt_regs *regs)
573573
}
574574
#endif
575575

576-
if (show_unhandled_signals_ratelimited()) {
577-
pr_info("%s[%d]: syscall %d\n", current->comm,
578-
task_pid_nr(current), regs->syscallno);
579-
dump_instr("", regs);
580-
if (user_mode(regs))
581-
__show_regs(regs);
582-
}
583-
584576
return sys_ni_syscall();
585577
}
586578

arch/arm64/mm/proc.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -155,7 +155,7 @@ ENDPROC(cpu_do_switch_mm)
155155

156156
.macro __idmap_cpu_set_reserved_ttbr1, tmp1, tmp2
157157
adrp \tmp1, empty_zero_page
158-
msr ttbr1_el1, \tmp2
158+
msr ttbr1_el1, \tmp1
159159
isb
160160
tlbi vmalle1
161161
dsb nsh

arch/ia64/kernel/time.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -88,7 +88,7 @@ void vtime_flush(struct task_struct *tsk)
8888
}
8989

9090
if (ti->softirq_time) {
91-
delta = cycle_to_nsec(ti->softirq_time));
91+
delta = cycle_to_nsec(ti->softirq_time);
9292
account_system_index_time(tsk, delta, CPUTIME_SOFTIRQ);
9393
}
9494

arch/m32r/Kconfig

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -196,8 +196,8 @@ config TIMER_DIVIDE
196196
default "128"
197197

198198
config CPU_BIG_ENDIAN
199-
bool "Generate big endian code"
200-
default n
199+
bool
200+
default !CPU_LITTLE_ENDIAN
201201

202202
config CPU_LITTLE_ENDIAN
203203
bool "Generate little endian code"

arch/microblaze/Makefile

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -36,16 +36,21 @@ endif
3636
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_DIV) += -mno-xl-soft-div
3737
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_BARREL) += -mxl-barrel-shift
3838
CPUFLAGS-$(CONFIG_XILINX_MICROBLAZE0_USE_PCMP_INSTR) += -mxl-pattern-compare
39-
CPUFLAGS-$(CONFIG_BIG_ENDIAN) += -mbig-endian
40-
CPUFLAGS-$(CONFIG_LITTLE_ENDIAN) += -mlittle-endian
39+
40+
ifdef CONFIG_CPU_BIG_ENDIAN
41+
KBUILD_CFLAGS += -mbig-endian
42+
KBUILD_AFLAGS += -mbig-endian
43+
LD += -EB
44+
else
45+
KBUILD_CFLAGS += -mlittle-endian
46+
KBUILD_AFLAGS += -mlittle-endian
47+
LD += -EL
48+
endif
4149

4250
CPUFLAGS-1 += $(call cc-option,-mcpu=v$(CPU_VER))
4351

4452
# r31 holds current when in kernel mode
45-
KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-1) $(CPUFLAGS-2)
46-
47-
LDFLAGS :=
48-
LDFLAGS_vmlinux :=
53+
KBUILD_CFLAGS += -ffixed-r31 $(CPUFLAGS-y) $(CPUFLAGS-1) $(CPUFLAGS-2)
4954

5055
head-y := arch/microblaze/kernel/head.o
5156
libs-y += arch/microblaze/lib/

arch/mips/boot/Makefile

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ $(obj)/vmlinux.its.S: $(addprefix $(srctree)/arch/mips/$(PLATFORM)/,$(ITS_INPUTS
126126

127127
quiet_cmd_cpp_its_S = ITS $@
128128
cmd_cpp_its_S = $(CPP) $(cpp_flags) -P -C -o $@ $< \
129+
-D__ASSEMBLY__ \
129130
-DKERNEL_NAME="\"Linux $(KERNELRELEASE)\"" \
130131
-DVMLINUX_BINARY="\"$(3)\"" \
131132
-DVMLINUX_COMPRESSION="\"$(2)\"" \

arch/mips/include/asm/compat.h

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,6 @@ struct compat_flock {
8686
compat_off_t l_len;
8787
s32 l_sysid;
8888
compat_pid_t l_pid;
89-
short __unused;
9089
s32 pad[4];
9190
};
9291

arch/mips/lib/Makefile

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,4 +16,5 @@ obj-$(CONFIG_CPU_R3000) += r3k_dump_tlb.o
1616
obj-$(CONFIG_CPU_TX39XX) += r3k_dump_tlb.o
1717

1818
# libgcc-style stuff needed in the kernel
19-
obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o ucmpdi2.o
19+
obj-y += ashldi3.o ashrdi3.o bswapsi.o bswapdi.o cmpdi2.o lshrdi3.o multi3.o \
20+
ucmpdi2.o

arch/mips/lib/libgcc.h

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,18 @@ typedef int word_type __attribute__ ((mode (__word__)));
1010
struct DWstruct {
1111
int high, low;
1212
};
13+
14+
struct TWstruct {
15+
long long high, low;
16+
};
1317
#elif defined(__LITTLE_ENDIAN)
1418
struct DWstruct {
1519
int low, high;
1620
};
21+
22+
struct TWstruct {
23+
long long low, high;
24+
};
1725
#else
1826
#error I feel sick.
1927
#endif
@@ -23,4 +31,13 @@ typedef union {
2331
long long ll;
2432
} DWunion;
2533

34+
#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6)
35+
typedef int ti_type __attribute__((mode(TI)));
36+
37+
typedef union {
38+
struct TWstruct s;
39+
ti_type ti;
40+
} TWunion;
41+
#endif
42+
2643
#endif /* __ASM_LIBGCC_H */

arch/mips/lib/multi3.c

Lines changed: 54 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,54 @@
1+
// SPDX-License-Identifier: GPL-2.0
2+
#include <linux/export.h>
3+
4+
#include "libgcc.h"
5+
6+
/*
7+
* GCC 7 suboptimally generates __multi3 calls for mips64r6, so for that
8+
* specific case only we'll implement it here.
9+
*
10+
* See https://gcc.gnu.org/bugzilla/show_bug.cgi?id=82981
11+
*/
12+
#if defined(CONFIG_64BIT) && defined(CONFIG_CPU_MIPSR6) && (__GNUC__ == 7)
13+
14+
/* multiply 64-bit values, low 64-bits returned */
15+
static inline long long notrace dmulu(long long a, long long b)
16+
{
17+
long long res;
18+
19+
asm ("dmulu %0,%1,%2" : "=r" (res) : "r" (a), "r" (b));
20+
return res;
21+
}
22+
23+
/* multiply 64-bit unsigned values, high 64-bits of 128-bit result returned */
24+
static inline long long notrace dmuhu(long long a, long long b)
25+
{
26+
long long res;
27+
28+
asm ("dmuhu %0,%1,%2" : "=r" (res) : "r" (a), "r" (b));
29+
return res;
30+
}
31+
32+
/* multiply 128-bit values, low 128-bits returned */
33+
ti_type notrace __multi3(ti_type a, ti_type b)
34+
{
35+
TWunion res, aa, bb;
36+
37+
aa.ti = a;
38+
bb.ti = b;
39+
40+
/*
41+
* a * b = (a.lo * b.lo)
42+
* + 2^64 * (a.hi * b.lo + a.lo * b.hi)
43+
* [+ 2^128 * (a.hi * b.hi)]
44+
*/
45+
res.s.low = dmulu(aa.s.low, bb.s.low);
46+
res.s.high = dmuhu(aa.s.low, bb.s.low);
47+
res.s.high += dmulu(aa.s.high, bb.s.low);
48+
res.s.high += dmulu(aa.s.low, bb.s.high);
49+
50+
return res.ti;
51+
}
52+
EXPORT_SYMBOL(__multi3);
53+
54+
#endif /* 64BIT && CPU_MIPSR6 && GCC7 */

arch/parisc/include/asm/thread_info.h

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,12 @@ struct thread_info {
3535

3636
/* thread information allocation */
3737

38+
#ifdef CONFIG_IRQSTACKS
39+
#define THREAD_SIZE_ORDER 2 /* PA-RISC requires at least 16k stack */
40+
#else
3841
#define THREAD_SIZE_ORDER 3 /* PA-RISC requires at least 32k stack */
42+
#endif
43+
3944
/* Be sure to hunt all references to this down when you change the size of
4045
* the kernel stack */
4146
#define THREAD_SIZE (PAGE_SIZE << THREAD_SIZE_ORDER)

0 commit comments

Comments
 (0)