Skip to content

Commit 2845940

Browse files
authored
Merge pull request torvalds#129 from zandrey/5.4.x+fslc
Update 5.4.x+fslc to v5.4.64
2 parents 6faf9e0 + 31aa5e3 commit 2845940

File tree

141 files changed

+1503
-502
lines changed

Some content is hidden

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

141 files changed

+1503
-502
lines changed

Documentation/devicetree/bindings/mmc/mtk-sd.txt

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,8 @@ Optional properties:
4949
error caused by stop clock(fifo full)
5050
Valid range = [0:0x7]. if not present, default value is 0.
5151
applied to compatible "mediatek,mt2701-mmc".
52+
- resets: Phandle and reset specifier pair to softreset line of MSDC IP.
53+
- reset-names: Should be "hrst".
5254

5355
Examples:
5456
mmc0: mmc@11230000 {

Documentation/filesystems/affs.txt

Lines changed: 10 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -93,13 +93,15 @@ The Amiga protection flags RWEDRWEDHSPARWED are handled as follows:
9393

9494
- R maps to r for user, group and others. On directories, R implies x.
9595

96-
- If both W and D are allowed, w will be set.
96+
- W maps to w.
9797

9898
- E maps to x.
9999

100-
- H and P are always retained and ignored under Linux.
100+
- D is ignored.
101101

102-
- A is always reset when a file is written to.
102+
- H, S and P are always retained and ignored under Linux.
103+
104+
- A is cleared when a file is written to.
103105

104106
User id and group id will be used unless set[gu]id are given as mount
105107
options. Since most of the Amiga file systems are single user systems
@@ -111,11 +113,13 @@ Linux -> Amiga:
111113

112114
The Linux rwxrwxrwx file mode is handled as follows:
113115

114-
- r permission will set R for user, group and others.
116+
- r permission will allow R for user, group and others.
117+
118+
- w permission will allow W for user, group and others.
115119

116-
- w permission will set W and D for user, group and others.
120+
- x permission of the user will allow E for plain files.
117121

118-
- x permission of the user will set E for plain files.
122+
- D will be allowed for user, group and others.
119123

120124
- All other flags (suid, sgid, ...) are ignored and will
121125
not be retained.

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 = 5
33
PATCHLEVEL = 4
4-
SUBLEVEL = 63
4+
SUBLEVEL = 64
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

arch/arc/kernel/perf_event.c

Lines changed: 4 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -562,7 +562,7 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
562562
{
563563
struct arc_reg_pct_build pct_bcr;
564564
struct arc_reg_cc_build cc_bcr;
565-
int i, has_interrupts;
565+
int i, has_interrupts, irq;
566566
int counter_size; /* in bits */
567567

568568
union cc_name {
@@ -637,13 +637,7 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
637637
.attr_groups = arc_pmu->attr_groups,
638638
};
639639

640-
if (has_interrupts) {
641-
int irq = platform_get_irq(pdev, 0);
642-
643-
if (irq < 0) {
644-
pr_err("Cannot get IRQ number for the platform\n");
645-
return -ENODEV;
646-
}
640+
if (has_interrupts && (irq = platform_get_irq(pdev, 0) >= 0)) {
647641

648642
arc_pmu->irq = irq;
649643

@@ -652,9 +646,9 @@ static int arc_pmu_device_probe(struct platform_device *pdev)
652646
this_cpu_ptr(&arc_pmu_cpu));
653647

654648
on_each_cpu(arc_cpu_pmu_irq_init, &irq, 1);
655-
656-
} else
649+
} else {
657650
arc_pmu->pmu.capabilities |= PERF_PMU_CAP_NO_INTERRUPT;
651+
}
658652

659653
/*
660654
* perf parser doesn't really like '-' symbol in events name, so let's

arch/arm64/boot/dts/mediatek/mt7622.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -686,6 +686,8 @@
686686
clocks = <&pericfg CLK_PERI_MSDC30_0_PD>,
687687
<&topckgen CLK_TOP_MSDC50_0_SEL>;
688688
clock-names = "source", "hclk";
689+
resets = <&pericfg MT7622_PERI_MSDC0_SW_RST>;
690+
reset-names = "hrst";
689691
status = "disabled";
690692
};
691693

arch/mips/kernel/smp-bmips.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -241,6 +241,8 @@ static int bmips_boot_secondary(int cpu, struct task_struct *idle)
241241
*/
242242
static void bmips_init_secondary(void)
243243
{
244+
bmips_cpu_setup();
245+
244246
switch (current_cpu_type()) {
245247
case CPU_BMIPS4350:
246248
case CPU_BMIPS4380:

arch/mips/kernel/traps.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1240,6 +1240,18 @@ static int enable_restore_fp_context(int msa)
12401240
err = own_fpu_inatomic(1);
12411241
if (msa && !err) {
12421242
enable_msa();
1243+
/*
1244+
* with MSA enabled, userspace can see MSACSR
1245+
* and MSA regs, but the values in them are from
1246+
* other task before current task, restore them
1247+
* from saved fp/msa context
1248+
*/
1249+
write_msa_csr(current->thread.fpu.msacsr);
1250+
/*
1251+
* own_fpu_inatomic(1) just restore low 64bit,
1252+
* fix the high 64bit
1253+
*/
1254+
init_msa_upper();
12431255
set_thread_flag(TIF_USEDMSA);
12441256
set_thread_flag(TIF_MSA_CTX_LIVE);
12451257
}

arch/mips/mm/c-r4k.c

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1676,7 +1676,11 @@ static void setup_scache(void)
16761676
printk("MIPS secondary cache %ldkB, %s, linesize %d bytes.\n",
16771677
scache_size >> 10,
16781678
way_string[c->scache.ways], c->scache.linesz);
1679+
1680+
if (current_cpu_type() == CPU_BMIPS5000)
1681+
c->options |= MIPS_CPU_INCLUSIVE_CACHES;
16791682
}
1683+
16801684
#else
16811685
if (!(c->scache.flags & MIPS_CACHE_NOT_PRESENT))
16821686
panic("Dunno how to handle MIPS32 / MIPS64 second level cache");

arch/s390/include/asm/percpu.h

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -29,15 +29,15 @@
2929
typedef typeof(pcp) pcp_op_T__; \
3030
pcp_op_T__ old__, new__, prev__; \
3131
pcp_op_T__ *ptr__; \
32-
preempt_disable(); \
32+
preempt_disable_notrace(); \
3333
ptr__ = raw_cpu_ptr(&(pcp)); \
3434
prev__ = *ptr__; \
3535
do { \
3636
old__ = prev__; \
3737
new__ = old__ op (val); \
3838
prev__ = cmpxchg(ptr__, old__, new__); \
3939
} while (prev__ != old__); \
40-
preempt_enable(); \
40+
preempt_enable_notrace(); \
4141
new__; \
4242
})
4343

@@ -68,7 +68,7 @@
6868
typedef typeof(pcp) pcp_op_T__; \
6969
pcp_op_T__ val__ = (val); \
7070
pcp_op_T__ old__, *ptr__; \
71-
preempt_disable(); \
71+
preempt_disable_notrace(); \
7272
ptr__ = raw_cpu_ptr(&(pcp)); \
7373
if (__builtin_constant_p(val__) && \
7474
((szcast)val__ > -129) && ((szcast)val__ < 128)) { \
@@ -84,7 +84,7 @@
8484
: [val__] "d" (val__) \
8585
: "cc"); \
8686
} \
87-
preempt_enable(); \
87+
preempt_enable_notrace(); \
8888
}
8989

9090
#define this_cpu_add_4(pcp, val) arch_this_cpu_add(pcp, val, "laa", "asi", int)
@@ -95,14 +95,14 @@
9595
typedef typeof(pcp) pcp_op_T__; \
9696
pcp_op_T__ val__ = (val); \
9797
pcp_op_T__ old__, *ptr__; \
98-
preempt_disable(); \
98+
preempt_disable_notrace(); \
9999
ptr__ = raw_cpu_ptr(&(pcp)); \
100100
asm volatile( \
101101
op " %[old__],%[val__],%[ptr__]\n" \
102102
: [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \
103103
: [val__] "d" (val__) \
104104
: "cc"); \
105-
preempt_enable(); \
105+
preempt_enable_notrace(); \
106106
old__ + val__; \
107107
})
108108

@@ -114,14 +114,14 @@
114114
typedef typeof(pcp) pcp_op_T__; \
115115
pcp_op_T__ val__ = (val); \
116116
pcp_op_T__ old__, *ptr__; \
117-
preempt_disable(); \
117+
preempt_disable_notrace(); \
118118
ptr__ = raw_cpu_ptr(&(pcp)); \
119119
asm volatile( \
120120
op " %[old__],%[val__],%[ptr__]\n" \
121121
: [old__] "=d" (old__), [ptr__] "+Q" (*ptr__) \
122122
: [val__] "d" (val__) \
123123
: "cc"); \
124-
preempt_enable(); \
124+
preempt_enable_notrace(); \
125125
}
126126

127127
#define this_cpu_and_4(pcp, val) arch_this_cpu_to_op(pcp, val, "lan")
@@ -136,10 +136,10 @@
136136
typedef typeof(pcp) pcp_op_T__; \
137137
pcp_op_T__ ret__; \
138138
pcp_op_T__ *ptr__; \
139-
preempt_disable(); \
139+
preempt_disable_notrace(); \
140140
ptr__ = raw_cpu_ptr(&(pcp)); \
141141
ret__ = cmpxchg(ptr__, oval, nval); \
142-
preempt_enable(); \
142+
preempt_enable_notrace(); \
143143
ret__; \
144144
})
145145

@@ -152,10 +152,10 @@
152152
({ \
153153
typeof(pcp) *ptr__; \
154154
typeof(pcp) ret__; \
155-
preempt_disable(); \
155+
preempt_disable_notrace(); \
156156
ptr__ = raw_cpu_ptr(&(pcp)); \
157157
ret__ = xchg(ptr__, nval); \
158-
preempt_enable(); \
158+
preempt_enable_notrace(); \
159159
ret__; \
160160
})
161161

@@ -171,11 +171,11 @@
171171
typeof(pcp1) *p1__; \
172172
typeof(pcp2) *p2__; \
173173
int ret__; \
174-
preempt_disable(); \
174+
preempt_disable_notrace(); \
175175
p1__ = raw_cpu_ptr(&(pcp1)); \
176176
p2__ = raw_cpu_ptr(&(pcp2)); \
177177
ret__ = __cmpxchg_double(p1__, p2__, o1__, o2__, n1__, n2__); \
178-
preempt_enable(); \
178+
preempt_enable_notrace(); \
179179
ret__; \
180180
})
181181

arch/x86/include/asm/ptrace.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -309,8 +309,8 @@ static inline unsigned long regs_get_kernel_argument(struct pt_regs *regs,
309309
static const unsigned int argument_offs[] = {
310310
#ifdef __i386__
311311
offsetof(struct pt_regs, ax),
312-
offsetof(struct pt_regs, cx),
313312
offsetof(struct pt_regs, dx),
313+
offsetof(struct pt_regs, cx),
314314
#define NR_REG_ARGUMENTS 3
315315
#else
316316
offsetof(struct pt_regs, di),

0 commit comments

Comments
 (0)