Skip to content

Commit d76ea1c

Browse files
committed
Merge remote-tracking branch 'stable/linux-5.7.y' into v5.7+
2 parents 2d48202 + 66dfe45 commit d76ea1c

399 files changed

Lines changed: 3999 additions & 2004 deletions

File tree

Some content is hidden

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

Documentation/devicetree/bindings/display/mediatek/mediatek,dpi.txt

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,9 @@ Required properties:
1717
Documentation/devicetree/bindings/graph.txt. This port should be connected
1818
to the input port of an attached HDMI or LVDS encoder chip.
1919

20+
Optional properties:
21+
- pinctrl-names: Contain "default" and "sleep".
22+
2023
Example:
2124

2225
dpi0: dpi@1401d000 {
@@ -27,6 +30,9 @@ dpi0: dpi@1401d000 {
2730
<&mmsys CLK_MM_DPI_ENGINE>,
2831
<&apmixedsys CLK_APMIXED_TVDPLL>;
2932
clock-names = "pixel", "engine", "pll";
33+
pinctrl-names = "default", "sleep";
34+
pinctrl-0 = <&dpi_pin_func>;
35+
pinctrl-1 = <&dpi_pin_idle>;
3036

3137
port {
3238
dpi0_out: endpoint {

Documentation/virt/kvm/api.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5067,9 +5067,11 @@ EOI was received.
50675067
#define KVM_EXIT_HYPERV_SYNIC 1
50685068
#define KVM_EXIT_HYPERV_HCALL 2
50695069
__u32 type;
5070+
__u32 pad1;
50705071
union {
50715072
struct {
50725073
__u32 msr;
5074+
__u32 pad2;
50735075
__u64 control;
50745076
__u64 evt_page;
50755077
__u64 msg_page;

Makefile

Lines changed: 9 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# SPDX-License-Identifier: GPL-2.0
22
VERSION = 5
33
PATCHLEVEL = 7
4-
SUBLEVEL = 4
4+
SUBLEVEL = 5
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

@@ -608,12 +608,8 @@ KBUILD_MODULES :=
608608
KBUILD_BUILTIN := 1
609609

610610
# If we have only "make modules", don't compile built-in objects.
611-
# When we're building modules with modversions, we need to consider
612-
# the built-in objects during the descend as well, in order to
613-
# make sure the checksums are up to date before we record them.
614-
615611
ifeq ($(MAKECMDGOALS),modules)
616-
KBUILD_BUILTIN := $(if $(CONFIG_MODVERSIONS),1)
612+
KBUILD_BUILTIN :=
617613
endif
618614

619615
# If we have "make <whatever> modules", compile modules
@@ -1312,6 +1308,13 @@ ifdef CONFIG_MODULES
13121308

13131309
all: modules
13141310

1311+
# When we're building modules with modversions, we need to consider
1312+
# the built-in objects during the descend as well, in order to
1313+
# make sure the checksums are up to date before we record them.
1314+
ifdef CONFIG_MODVERSIONS
1315+
KBUILD_BUILTIN := 1
1316+
endif
1317+
13151318
# Build modules
13161319
#
13171320
# A module can be listed more than once in obj-m resulting in

arch/alpha/include/asm/io.h

Lines changed: 59 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -310,14 +310,18 @@ static inline int __is_mmio(const volatile void __iomem *addr)
310310
#if IO_CONCAT(__IO_PREFIX,trivial_io_bw)
311311
extern inline unsigned int ioread8(void __iomem *addr)
312312
{
313-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread8)(addr);
313+
unsigned int ret;
314+
mb();
315+
ret = IO_CONCAT(__IO_PREFIX,ioread8)(addr);
314316
mb();
315317
return ret;
316318
}
317319

318320
extern inline unsigned int ioread16(void __iomem *addr)
319321
{
320-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread16)(addr);
322+
unsigned int ret;
323+
mb();
324+
ret = IO_CONCAT(__IO_PREFIX,ioread16)(addr);
321325
mb();
322326
return ret;
323327
}
@@ -358,7 +362,9 @@ extern inline void outw(u16 b, unsigned long port)
358362
#if IO_CONCAT(__IO_PREFIX,trivial_io_lq)
359363
extern inline unsigned int ioread32(void __iomem *addr)
360364
{
361-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread32)(addr);
365+
unsigned int ret;
366+
mb();
367+
ret = IO_CONCAT(__IO_PREFIX,ioread32)(addr);
362368
mb();
363369
return ret;
364370
}
@@ -403,14 +409,18 @@ extern inline void __raw_writew(u16 b, volatile void __iomem *addr)
403409

404410
extern inline u8 readb(const volatile void __iomem *addr)
405411
{
406-
u8 ret = __raw_readb(addr);
412+
u8 ret;
413+
mb();
414+
ret = __raw_readb(addr);
407415
mb();
408416
return ret;
409417
}
410418

411419
extern inline u16 readw(const volatile void __iomem *addr)
412420
{
413-
u16 ret = __raw_readw(addr);
421+
u16 ret;
422+
mb();
423+
ret = __raw_readw(addr);
414424
mb();
415425
return ret;
416426
}
@@ -451,14 +461,18 @@ extern inline void __raw_writeq(u64 b, volatile void __iomem *addr)
451461

452462
extern inline u32 readl(const volatile void __iomem *addr)
453463
{
454-
u32 ret = __raw_readl(addr);
464+
u32 ret;
465+
mb();
466+
ret = __raw_readl(addr);
455467
mb();
456468
return ret;
457469
}
458470

459471
extern inline u64 readq(const volatile void __iomem *addr)
460472
{
461-
u64 ret = __raw_readq(addr);
473+
u64 ret;
474+
mb();
475+
ret = __raw_readq(addr);
462476
mb();
463477
return ret;
464478
}
@@ -487,14 +501,44 @@ extern inline void writeq(u64 b, volatile void __iomem *addr)
487501
#define outb_p outb
488502
#define outw_p outw
489503
#define outl_p outl
490-
#define readb_relaxed(addr) __raw_readb(addr)
491-
#define readw_relaxed(addr) __raw_readw(addr)
492-
#define readl_relaxed(addr) __raw_readl(addr)
493-
#define readq_relaxed(addr) __raw_readq(addr)
494-
#define writeb_relaxed(b, addr) __raw_writeb(b, addr)
495-
#define writew_relaxed(b, addr) __raw_writew(b, addr)
496-
#define writel_relaxed(b, addr) __raw_writel(b, addr)
497-
#define writeq_relaxed(b, addr) __raw_writeq(b, addr)
504+
505+
extern u8 readb_relaxed(const volatile void __iomem *addr);
506+
extern u16 readw_relaxed(const volatile void __iomem *addr);
507+
extern u32 readl_relaxed(const volatile void __iomem *addr);
508+
extern u64 readq_relaxed(const volatile void __iomem *addr);
509+
510+
#if IO_CONCAT(__IO_PREFIX,trivial_io_bw)
511+
extern inline u8 readb_relaxed(const volatile void __iomem *addr)
512+
{
513+
mb();
514+
return __raw_readb(addr);
515+
}
516+
517+
extern inline u16 readw_relaxed(const volatile void __iomem *addr)
518+
{
519+
mb();
520+
return __raw_readw(addr);
521+
}
522+
#endif
523+
524+
#if IO_CONCAT(__IO_PREFIX,trivial_io_lq)
525+
extern inline u32 readl_relaxed(const volatile void __iomem *addr)
526+
{
527+
mb();
528+
return __raw_readl(addr);
529+
}
530+
531+
extern inline u64 readq_relaxed(const volatile void __iomem *addr)
532+
{
533+
mb();
534+
return __raw_readq(addr);
535+
}
536+
#endif
537+
538+
#define writeb_relaxed writeb
539+
#define writew_relaxed writew
540+
#define writel_relaxed writel
541+
#define writeq_relaxed writeq
498542

499543
/*
500544
* String version of IO memory access ops:

arch/alpha/kernel/io.c

Lines changed: 53 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -16,21 +16,27 @@
1616
unsigned int
1717
ioread8(void __iomem *addr)
1818
{
19-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread8)(addr);
19+
unsigned int ret;
20+
mb();
21+
ret = IO_CONCAT(__IO_PREFIX,ioread8)(addr);
2022
mb();
2123
return ret;
2224
}
2325

2426
unsigned int ioread16(void __iomem *addr)
2527
{
26-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread16)(addr);
28+
unsigned int ret;
29+
mb();
30+
ret = IO_CONCAT(__IO_PREFIX,ioread16)(addr);
2731
mb();
2832
return ret;
2933
}
3034

3135
unsigned int ioread32(void __iomem *addr)
3236
{
33-
unsigned int ret = IO_CONCAT(__IO_PREFIX,ioread32)(addr);
37+
unsigned int ret;
38+
mb();
39+
ret = IO_CONCAT(__IO_PREFIX,ioread32)(addr);
3440
mb();
3541
return ret;
3642
}
@@ -148,28 +154,36 @@ EXPORT_SYMBOL(__raw_writeq);
148154

149155
u8 readb(const volatile void __iomem *addr)
150156
{
151-
u8 ret = __raw_readb(addr);
157+
u8 ret;
158+
mb();
159+
ret = __raw_readb(addr);
152160
mb();
153161
return ret;
154162
}
155163

156164
u16 readw(const volatile void __iomem *addr)
157165
{
158-
u16 ret = __raw_readw(addr);
166+
u16 ret;
167+
mb();
168+
ret = __raw_readw(addr);
159169
mb();
160170
return ret;
161171
}
162172

163173
u32 readl(const volatile void __iomem *addr)
164174
{
165-
u32 ret = __raw_readl(addr);
175+
u32 ret;
176+
mb();
177+
ret = __raw_readl(addr);
166178
mb();
167179
return ret;
168180
}
169181

170182
u64 readq(const volatile void __iomem *addr)
171183
{
172-
u64 ret = __raw_readq(addr);
184+
u64 ret;
185+
mb();
186+
ret = __raw_readq(addr);
173187
mb();
174188
return ret;
175189
}
@@ -207,6 +221,38 @@ EXPORT_SYMBOL(writew);
207221
EXPORT_SYMBOL(writel);
208222
EXPORT_SYMBOL(writeq);
209223

224+
/*
225+
* The _relaxed functions must be ordered w.r.t. each other, but they don't
226+
* have to be ordered w.r.t. other memory accesses.
227+
*/
228+
u8 readb_relaxed(const volatile void __iomem *addr)
229+
{
230+
mb();
231+
return __raw_readb(addr);
232+
}
233+
234+
u16 readw_relaxed(const volatile void __iomem *addr)
235+
{
236+
mb();
237+
return __raw_readw(addr);
238+
}
239+
240+
u32 readl_relaxed(const volatile void __iomem *addr)
241+
{
242+
mb();
243+
return __raw_readl(addr);
244+
}
245+
246+
u64 readq_relaxed(const volatile void __iomem *addr)
247+
{
248+
mb();
249+
return __raw_readq(addr);
250+
}
251+
252+
EXPORT_SYMBOL(readb_relaxed);
253+
EXPORT_SYMBOL(readw_relaxed);
254+
EXPORT_SYMBOL(readl_relaxed);
255+
EXPORT_SYMBOL(readq_relaxed);
210256

211257
/*
212258
* Read COUNT 8-bit bytes from port PORT into memory starting at SRC.

arch/arm/boot/compressed/.gitignore

Lines changed: 0 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,12 +7,3 @@ hyp-stub.S
77
piggy_data
88
vmlinux
99
vmlinux.lds
10-
11-
# borrowed libfdt files
12-
fdt.c
13-
fdt.h
14-
fdt_ro.c
15-
fdt_rw.c
16-
fdt_wip.c
17-
libfdt.h
18-
libfdt_internal.h

arch/arm/boot/compressed/Makefile

Lines changed: 15 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -76,29 +76,30 @@ compress-$(CONFIG_KERNEL_LZMA) = lzma
7676
compress-$(CONFIG_KERNEL_XZ) = xzkern
7777
compress-$(CONFIG_KERNEL_LZ4) = lz4
7878

79-
# Borrowed libfdt files for the ATAG compatibility mode
80-
81-
libfdt := fdt_rw.c fdt_ro.c fdt_wip.c fdt.c
82-
libfdt_hdrs := fdt.h libfdt.h libfdt_internal.h
83-
84-
libfdt_objs := $(addsuffix .o, $(basename $(libfdt)))
85-
86-
$(addprefix $(obj)/,$(libfdt) $(libfdt_hdrs)): $(obj)/%: $(srctree)/scripts/dtc/libfdt/%
87-
$(call cmd,shipped)
88-
89-
$(addprefix $(obj)/,$(libfdt_objs) atags_to_fdt.o): \
90-
$(addprefix $(obj)/,$(libfdt_hdrs))
79+
libfdt_objs := fdt_rw.o fdt_ro.o fdt_wip.o fdt.o
9180

9281
ifeq ($(CONFIG_ARM_ATAG_DTB_COMPAT),y)
9382
OBJS += $(libfdt_objs) atags_to_fdt.o
9483
endif
9584

85+
# -fstack-protector-strong triggers protection checks in this code,
86+
# but it is being used too early to link to meaningful stack_chk logic.
87+
nossp-flags-$(CONFIG_CC_HAS_STACKPROTECTOR_NONE) := -fno-stack-protector
88+
$(foreach o, $(libfdt_objs) atags_to_fdt.o, \
89+
$(eval CFLAGS_$(o) := -I $(srctree)/scripts/dtc/libfdt $(nossp-flags-y)))
90+
91+
# These were previously generated C files. When you are building the kernel
92+
# with O=, make sure to remove the stale files in the output tree. Otherwise,
93+
# the build system wrongly compiles the stale ones.
94+
ifdef building_out_of_srctree
95+
$(shell rm -f $(addprefix $(obj)/, fdt_rw.c fdt_ro.c fdt_wip.c fdt.c))
96+
endif
97+
9698
targets := vmlinux vmlinux.lds piggy_data piggy.o \
9799
lib1funcs.o ashldi3.o bswapsdi2.o \
98100
head.o $(OBJS)
99101

100-
clean-files += piggy_data lib1funcs.S ashldi3.S bswapsdi2.S \
101-
$(libfdt) $(libfdt_hdrs) hyp-stub.S
102+
clean-files += piggy_data lib1funcs.S ashldi3.S bswapsdi2.S hyp-stub.S
102103

103104
KBUILD_CFLAGS += -DDISABLE_BRANCH_PROFILING
104105

@@ -107,15 +108,6 @@ ORIG_CFLAGS := $(KBUILD_CFLAGS)
107108
KBUILD_CFLAGS = $(subst -pg, , $(ORIG_CFLAGS))
108109
endif
109110

110-
# -fstack-protector-strong triggers protection checks in this code,
111-
# but it is being used too early to link to meaningful stack_chk logic.
112-
nossp-flags-$(CONFIG_CC_HAS_STACKPROTECTOR_NONE) := -fno-stack-protector
113-
CFLAGS_atags_to_fdt.o := $(nossp-flags-y)
114-
CFLAGS_fdt.o := $(nossp-flags-y)
115-
CFLAGS_fdt_ro.o := $(nossp-flags-y)
116-
CFLAGS_fdt_rw.o := $(nossp-flags-y)
117-
CFLAGS_fdt_wip.o := $(nossp-flags-y)
118-
119111
ccflags-y := -fpic $(call cc-option,-mno-single-pic-base,) -fno-builtin \
120112
-I$(obj) $(DISABLE_ARM_SSP_PER_TASK_PLUGIN)
121113
asflags-y := -DZIMAGE

arch/arm/boot/compressed/atags_to_fdt.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
// SPDX-License-Identifier: GPL-2.0
2+
#include <linux/libfdt_env.h>
23
#include <asm/setup.h>
34
#include <libfdt.h>
45

arch/arm/boot/compressed/fdt.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
#include "../../../../lib/fdt.c"

arch/arm/boot/compressed/fdt_ro.c

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
// SPDX-License-Identifier: GPL-2.0-only
2+
#include "../../../../lib/fdt_ro.c"

0 commit comments

Comments
 (0)