Skip to content

Commit 85fb1a2

Browse files
committed
Merge 5.14-rc7 into usb-next
We need the USB fix in here as well. Signed-off-by: Greg Kroah-Hartman <[email protected]>
2 parents e4788ed + e22ce8e commit 85fb1a2

File tree

210 files changed

+1500
-1108
lines changed

Some content is hidden

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

210 files changed

+1500
-1108
lines changed

Documentation/devicetree/bindings/riscv/sifive-l2-cache.yaml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ allOf:
2424
select:
2525
properties:
2626
compatible:
27-
items:
28-
- enum:
29-
- sifive,fu540-c000-ccache
30-
- sifive,fu740-c000-ccache
27+
contains:
28+
enum:
29+
- sifive,fu540-c000-ccache
30+
- sifive,fu740-c000-ccache
3131

3232
required:
3333
- compatible

MAINTAINERS

Lines changed: 18 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3866,6 +3866,16 @@ L: [email protected]
38663866
S: Maintained
38673867
F: drivers/mtd/nand/raw/brcmnand/
38683868

3869+
BROADCOM STB PCIE DRIVER
3870+
M: Jim Quinlan <[email protected]>
3871+
M: Nicolas Saenz Julienne <[email protected]>
3872+
M: Florian Fainelli <[email protected]>
3873+
3874+
3875+
S: Maintained
3876+
F: Documentation/devicetree/bindings/pci/brcm,stb-pcie.yaml
3877+
F: drivers/pci/controller/pcie-brcmstb.c
3878+
38693879
BROADCOM SYSTEMPORT ETHERNET DRIVER
38703880
M: Florian Fainelli <[email protected]>
38713881
@@ -4498,7 +4508,7 @@ L: [email protected]
44984508
S: Supported
44994509
W: https://clangbuiltlinux.github.io/
45004510
B: https://github.com/ClangBuiltLinux/linux/issues
4501-
C: irc://chat.freenode.net/clangbuiltlinux
4511+
C: irc://irc.libera.chat/clangbuiltlinux
45024512
F: Documentation/kbuild/llvm.rst
45034513
F: include/linux/compiler-clang.h
45044514
F: scripts/clang-tools/
@@ -14430,6 +14440,13 @@ S: Maintained
1443014440
F: Documentation/devicetree/bindings/pci/hisilicon-histb-pcie.txt
1443114441
F: drivers/pci/controller/dwc/pcie-histb.c
1443214442

14443+
PCIE DRIVER FOR INTEL LGM GW SOC
14444+
M: Rahul Tanwar <[email protected]>
14445+
14446+
S: Maintained
14447+
F: Documentation/devicetree/bindings/pci/intel-gw-pcie.yaml
14448+
F: drivers/pci/controller/dwc/pcie-intel-gw.c
14449+
1443314450
PCIE DRIVER FOR MEDIATEK
1443414451
M: Ryder Lee <[email protected]>
1443514452
M: Jianjun Wang <[email protected]>

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 5
33
PATCHLEVEL = 14
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc6
5+
EXTRAVERSION = -rc7
66
NAME = Opossums on Parade
77

88
# *DOCUMENTATION*

arch/arm/configs/nhk8815_defconfig

Lines changed: 3 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -15,8 +15,6 @@ CONFIG_SLAB=y
1515
CONFIG_ARCH_NOMADIK=y
1616
CONFIG_MACH_NOMADIK_8815NHK=y
1717
CONFIG_AEABI=y
18-
CONFIG_ZBOOT_ROM_TEXT=0x0
19-
CONFIG_ZBOOT_ROM_BSS=0x0
2018
CONFIG_MODULES=y
2119
CONFIG_MODULE_UNLOAD=y
2220
# CONFIG_BLK_DEV_BSG is not set
@@ -52,9 +50,9 @@ CONFIG_MTD_BLOCK=y
5250
CONFIG_MTD_ONENAND=y
5351
CONFIG_MTD_ONENAND_VERIFY_WRITE=y
5452
CONFIG_MTD_ONENAND_GENERIC=y
55-
CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
5653
CONFIG_MTD_RAW_NAND=y
5754
CONFIG_MTD_NAND_FSMC=y
55+
CONFIG_MTD_NAND_ECC_SW_HAMMING_SMC=y
5856
CONFIG_BLK_DEV_LOOP=y
5957
CONFIG_BLK_DEV_CRYPTOLOOP=y
6058
CONFIG_BLK_DEV_RAM=y
@@ -97,6 +95,7 @@ CONFIG_REGULATOR=y
9795
CONFIG_DRM=y
9896
CONFIG_DRM_PANEL_TPO_TPG110=y
9997
CONFIG_DRM_PL111=y
98+
CONFIG_FB=y
10099
CONFIG_BACKLIGHT_CLASS_DEVICE=y
101100
CONFIG_BACKLIGHT_PWM=y
102101
CONFIG_FRAMEBUFFER_CONSOLE=y
@@ -136,9 +135,8 @@ CONFIG_NLS_ISO8859_15=y
136135
CONFIG_CRYPTO_MD5=y
137136
CONFIG_CRYPTO_SHA1=y
138137
CONFIG_CRYPTO_DES=y
138+
# CONFIG_DEBUG_BUGVERBOSE is not set
139139
CONFIG_DEBUG_INFO=y
140-
# CONFIG_ENABLE_MUST_CHECK is not set
141140
CONFIG_DEBUG_FS=y
142141
# CONFIG_SCHED_DEBUG is not set
143142
# CONFIG_DEBUG_PREEMPT is not set
144-
# CONFIG_DEBUG_BUGVERBOSE is not set

arch/arm/mach-ixp4xx/include/mach/ixp4xx-regs.h

Lines changed: 24 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -218,30 +218,30 @@
218218
/*
219219
* PCI Control/Status Registers
220220
*/
221-
#define IXP4XX_PCI_CSR(x) ((volatile u32 *)(IXP4XX_PCI_CFG_BASE_VIRT+(x)))
222-
223-
#define PCI_NP_AD IXP4XX_PCI_CSR(PCI_NP_AD_OFFSET)
224-
#define PCI_NP_CBE IXP4XX_PCI_CSR(PCI_NP_CBE_OFFSET)
225-
#define PCI_NP_WDATA IXP4XX_PCI_CSR(PCI_NP_WDATA_OFFSET)
226-
#define PCI_NP_RDATA IXP4XX_PCI_CSR(PCI_NP_RDATA_OFFSET)
227-
#define PCI_CRP_AD_CBE IXP4XX_PCI_CSR(PCI_CRP_AD_CBE_OFFSET)
228-
#define PCI_CRP_WDATA IXP4XX_PCI_CSR(PCI_CRP_WDATA_OFFSET)
229-
#define PCI_CRP_RDATA IXP4XX_PCI_CSR(PCI_CRP_RDATA_OFFSET)
230-
#define PCI_CSR IXP4XX_PCI_CSR(PCI_CSR_OFFSET)
231-
#define PCI_ISR IXP4XX_PCI_CSR(PCI_ISR_OFFSET)
232-
#define PCI_INTEN IXP4XX_PCI_CSR(PCI_INTEN_OFFSET)
233-
#define PCI_DMACTRL IXP4XX_PCI_CSR(PCI_DMACTRL_OFFSET)
234-
#define PCI_AHBMEMBASE IXP4XX_PCI_CSR(PCI_AHBMEMBASE_OFFSET)
235-
#define PCI_AHBIOBASE IXP4XX_PCI_CSR(PCI_AHBIOBASE_OFFSET)
236-
#define PCI_PCIMEMBASE IXP4XX_PCI_CSR(PCI_PCIMEMBASE_OFFSET)
237-
#define PCI_AHBDOORBELL IXP4XX_PCI_CSR(PCI_AHBDOORBELL_OFFSET)
238-
#define PCI_PCIDOORBELL IXP4XX_PCI_CSR(PCI_PCIDOORBELL_OFFSET)
239-
#define PCI_ATPDMA0_AHBADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_AHBADDR_OFFSET)
240-
#define PCI_ATPDMA0_PCIADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_PCIADDR_OFFSET)
241-
#define PCI_ATPDMA0_LENADDR IXP4XX_PCI_CSR(PCI_ATPDMA0_LENADDR_OFFSET)
242-
#define PCI_ATPDMA1_AHBADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_AHBADDR_OFFSET)
243-
#define PCI_ATPDMA1_PCIADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_PCIADDR_OFFSET)
244-
#define PCI_ATPDMA1_LENADDR IXP4XX_PCI_CSR(PCI_ATPDMA1_LENADDR_OFFSET)
221+
#define _IXP4XX_PCI_CSR(x) ((volatile u32 *)(IXP4XX_PCI_CFG_BASE_VIRT+(x)))
222+
223+
#define PCI_NP_AD _IXP4XX_PCI_CSR(PCI_NP_AD_OFFSET)
224+
#define PCI_NP_CBE _IXP4XX_PCI_CSR(PCI_NP_CBE_OFFSET)
225+
#define PCI_NP_WDATA _IXP4XX_PCI_CSR(PCI_NP_WDATA_OFFSET)
226+
#define PCI_NP_RDATA _IXP4XX_PCI_CSR(PCI_NP_RDATA_OFFSET)
227+
#define PCI_CRP_AD_CBE _IXP4XX_PCI_CSR(PCI_CRP_AD_CBE_OFFSET)
228+
#define PCI_CRP_WDATA _IXP4XX_PCI_CSR(PCI_CRP_WDATA_OFFSET)
229+
#define PCI_CRP_RDATA _IXP4XX_PCI_CSR(PCI_CRP_RDATA_OFFSET)
230+
#define PCI_CSR _IXP4XX_PCI_CSR(PCI_CSR_OFFSET)
231+
#define PCI_ISR _IXP4XX_PCI_CSR(PCI_ISR_OFFSET)
232+
#define PCI_INTEN _IXP4XX_PCI_CSR(PCI_INTEN_OFFSET)
233+
#define PCI_DMACTRL _IXP4XX_PCI_CSR(PCI_DMACTRL_OFFSET)
234+
#define PCI_AHBMEMBASE _IXP4XX_PCI_CSR(PCI_AHBMEMBASE_OFFSET)
235+
#define PCI_AHBIOBASE _IXP4XX_PCI_CSR(PCI_AHBIOBASE_OFFSET)
236+
#define PCI_PCIMEMBASE _IXP4XX_PCI_CSR(PCI_PCIMEMBASE_OFFSET)
237+
#define PCI_AHBDOORBELL _IXP4XX_PCI_CSR(PCI_AHBDOORBELL_OFFSET)
238+
#define PCI_PCIDOORBELL _IXP4XX_PCI_CSR(PCI_PCIDOORBELL_OFFSET)
239+
#define PCI_ATPDMA0_AHBADDR _IXP4XX_PCI_CSR(PCI_ATPDMA0_AHBADDR_OFFSET)
240+
#define PCI_ATPDMA0_PCIADDR _IXP4XX_PCI_CSR(PCI_ATPDMA0_PCIADDR_OFFSET)
241+
#define PCI_ATPDMA0_LENADDR _IXP4XX_PCI_CSR(PCI_ATPDMA0_LENADDR_OFFSET)
242+
#define PCI_ATPDMA1_AHBADDR _IXP4XX_PCI_CSR(PCI_ATPDMA1_AHBADDR_OFFSET)
243+
#define PCI_ATPDMA1_PCIADDR _IXP4XX_PCI_CSR(PCI_ATPDMA1_PCIADDR_OFFSET)
244+
#define PCI_ATPDMA1_LENADDR _IXP4XX_PCI_CSR(PCI_ATPDMA1_LENADDR_OFFSET)
245245

246246
/*
247247
* PCI register values and bit definitions

arch/arm64/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -183,6 +183,8 @@ endif
183183
# We use MRPROPER_FILES and CLEAN_FILES now
184184
archclean:
185185
$(Q)$(MAKE) $(clean)=$(boot)
186+
$(Q)$(MAKE) $(clean)=arch/arm64/kernel/vdso
187+
$(Q)$(MAKE) $(clean)=arch/arm64/kernel/vdso32
186188

187189
ifeq ($(KBUILD_EXTMOD),)
188190
# We need to generate vdso-offsets.h before compiling certain files in kernel/.

arch/arm64/boot/dts/qcom/msm8992-bullhead-rev-101.dts

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
// SPDX-License-Identifier: GPL-2.0-only
22
/* Copyright (c) 2015, LGE Inc. All rights reserved.
33
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
4+
* Copyright (c) 2021, Petr Vorel <[email protected]>
45
*/
56

67
/dts-v1/;
@@ -9,6 +10,9 @@
910
#include "pm8994.dtsi"
1011
#include "pmi8994.dtsi"
1112

13+
/* cont_splash_mem has different memory mapping */
14+
/delete-node/ &cont_splash_mem;
15+
1216
/ {
1317
model = "LG Nexus 5X";
1418
compatible = "lg,bullhead", "qcom,msm8992";
@@ -17,6 +21,9 @@
1721
qcom,board-id = <0xb64 0>;
1822
qcom,pmic-id = <0x10009 0x1000A 0x0 0x0>;
1923

24+
/* Bullhead firmware doesn't support PSCI */
25+
/delete-node/ psci;
26+
2027
aliases {
2128
serial0 = &blsp1_uart2;
2229
};
@@ -38,6 +45,11 @@
3845
ftrace-size = <0x10000>;
3946
pmsg-size = <0x20000>;
4047
};
48+
49+
cont_splash_mem: memory@3400000 {
50+
reg = <0 0x03400000 0 0x1200000>;
51+
no-map;
52+
};
4153
};
4254
};
4355

arch/arm64/boot/dts/qcom/msm8994-angler-rev-101.dts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,16 @@
11
// SPDX-License-Identifier: GPL-2.0-only
22
/* Copyright (c) 2015, Huawei Inc. All rights reserved.
33
* Copyright (c) 2016, The Linux Foundation. All rights reserved.
4+
* Copyright (c) 2021, Petr Vorel <[email protected]>
45
*/
56

67
/dts-v1/;
78

89
#include "msm8994.dtsi"
910

11+
/* Angler's firmware does not report where the memory is allocated */
12+
/delete-node/ &cont_splash_mem;
13+
1014
/ {
1115
model = "Huawei Nexus 6P";
1216
compatible = "huawei,angler", "qcom,msm8994";

arch/arm64/boot/dts/qcom/sc7280.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -200,7 +200,7 @@
200200
&BIG_CPU_SLEEP_1
201201
&CLUSTER_SLEEP_0>;
202202
next-level-cache = <&L2_700>;
203-
qcom,freq-domain = <&cpufreq_hw 1>;
203+
qcom,freq-domain = <&cpufreq_hw 2>;
204204
#cooling-cells = <2>;
205205
L2_700: l2-cache {
206206
compatible = "cache";

arch/arm64/boot/dts/qcom/sdm845-oneplus-common.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,7 @@
6969
};
7070
rmtfs_upper_guard: memory@f5d01000 {
7171
no-map;
72-
reg = <0 0xf5d01000 0 0x2000>;
72+
reg = <0 0xf5d01000 0 0x1000>;
7373
};
7474

7575
/*
@@ -78,7 +78,7 @@
7878
*/
7979
removed_region: memory@88f00000 {
8080
no-map;
81-
reg = <0 0x88f00000 0 0x200000>;
81+
reg = <0 0x88f00000 0 0x1c00000>;
8282
};
8383

8484
ramoops: ramoops@ac300000 {

arch/arm64/boot/dts/qcom/sdm850-lenovo-yoga-c630.dts

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -700,15 +700,15 @@
700700
left_spkr: wsa8810-left{
701701
compatible = "sdw10217211000";
702702
reg = <0 3>;
703-
powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
703+
powerdown-gpios = <&wcdgpio 1 GPIO_ACTIVE_HIGH>;
704704
#thermal-sensor-cells = <0>;
705705
sound-name-prefix = "SpkrLeft";
706706
#sound-dai-cells = <0>;
707707
};
708708

709709
right_spkr: wsa8810-right{
710710
compatible = "sdw10217211000";
711-
powerdown-gpios = <&wcdgpio 3 GPIO_ACTIVE_HIGH>;
711+
powerdown-gpios = <&wcdgpio 2 GPIO_ACTIVE_HIGH>;
712712
reg = <0 4>;
713713
#thermal-sensor-cells = <0>;
714714
sound-name-prefix = "SpkrRight";

arch/arm64/include/asm/el2_setup.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,7 @@
3333
* EL2.
3434
*/
3535
.macro __init_el2_timers
36-
mrs x0, cnthctl_el2
37-
orr x0, x0, #3 // Enable EL1 physical timers
36+
mov x0, #3 // Enable EL1 physical timers
3837
msr cnthctl_el2, x0
3938
msr cntvoff_el2, xzr // Clear virtual offset
4039
.endm

arch/powerpc/include/asm/book3s/32/kup.h

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44

55
#include <asm/bug.h>
66
#include <asm/book3s/32/mmu-hash.h>
7+
#include <asm/mmu.h>
8+
#include <asm/synch.h>
79

810
#ifndef __ASSEMBLY__
911

@@ -28,6 +30,15 @@ static inline void kuep_lock(void)
2830
return;
2931

3032
update_user_segments(mfsr(0) | SR_NX);
33+
/*
34+
* This isync() shouldn't be necessary as the kernel is not excepted to
35+
* run any instruction in userspace soon after the update of segments,
36+
* but hash based cores (at least G3) seem to exhibit a random
37+
* behaviour when the 'isync' is not there. 603 cores don't have this
38+
* behaviour so don't do the 'isync' as it saves several CPU cycles.
39+
*/
40+
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
41+
isync(); /* Context sync required after mtsr() */
3142
}
3243

3344
static inline void kuep_unlock(void)
@@ -36,6 +47,15 @@ static inline void kuep_unlock(void)
3647
return;
3748

3849
update_user_segments(mfsr(0) & ~SR_NX);
50+
/*
51+
* This isync() shouldn't be necessary as a 'rfi' will soon be executed
52+
* to return to userspace, but hash based cores (at least G3) seem to
53+
* exhibit a random behaviour when the 'isync' is not there. 603 cores
54+
* don't have this behaviour so don't do the 'isync' as it saves several
55+
* CPU cycles.
56+
*/
57+
if (mmu_has_feature(MMU_FTR_HPTE_TABLE))
58+
isync(); /* Context sync required after mtsr() */
3959
}
4060

4161
#ifdef CONFIG_PPC_KUAP

arch/powerpc/mm/pageattr.c

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -18,16 +18,12 @@
1818
/*
1919
* Updates the attributes of a page in three steps:
2020
*
21-
* 1. invalidate the page table entry
22-
* 2. flush the TLB
23-
* 3. install the new entry with the updated attributes
24-
*
25-
* Invalidating the pte means there are situations where this will not work
26-
* when in theory it should.
27-
* For example:
28-
* - removing write from page whilst it is being executed
29-
* - setting a page read-only whilst it is being read by another CPU
21+
* 1. take the page_table_lock
22+
* 2. install the new entry with the updated attributes
23+
* 3. flush the TLB
3024
*
25+
* This sequence is safe against concurrent updates, and also allows updating the
26+
* attributes of a page currently being executed or accessed.
3127
*/
3228
static int change_page_attr(pte_t *ptep, unsigned long addr, void *data)
3329
{
@@ -36,9 +32,7 @@ static int change_page_attr(pte_t *ptep, unsigned long addr, void *data)
3632

3733
spin_lock(&init_mm.page_table_lock);
3834

39-
/* invalidate the PTE so it's safe to modify */
40-
pte = ptep_get_and_clear(&init_mm, addr, ptep);
41-
flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
35+
pte = ptep_get(ptep);
4236

4337
/* modify the PTE bits as desired, then apply */
4438
switch (action) {
@@ -59,11 +53,14 @@ static int change_page_attr(pte_t *ptep, unsigned long addr, void *data)
5953
break;
6054
}
6155

62-
set_pte_at(&init_mm, addr, ptep, pte);
56+
pte_update(&init_mm, addr, ptep, ~0UL, pte_val(pte), 0);
6357

6458
/* See ptesync comment in radix__set_pte_at() */
6559
if (radix_enabled())
6660
asm volatile("ptesync": : :"memory");
61+
62+
flush_tlb_kernel_range(addr, addr + PAGE_SIZE);
63+
6764
spin_unlock(&init_mm.page_table_lock);
6865

6966
return 0;

arch/powerpc/sysdev/xive/common.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1170,7 +1170,7 @@ static int __init xive_init_ipis(void)
11701170
return ret;
11711171
}
11721172

1173-
static int __init xive_request_ipi(unsigned int cpu)
1173+
static int xive_request_ipi(unsigned int cpu)
11741174
{
11751175
struct xive_ipi_desc *xid = &xive_ipis[early_cpu_to_node(cpu)];
11761176
int ret;

arch/riscv/kernel/setup.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -229,8 +229,8 @@ static void __init init_resources(void)
229229
}
230230

231231
/* Clean-up any unused pre-allocated resources */
232-
mem_res_sz = (num_resources - res_idx + 1) * sizeof(*mem_res);
233-
memblock_free(__pa(mem_res), mem_res_sz);
232+
if (res_idx >= 0)
233+
memblock_free(__pa(mem_res), (res_idx + 1) * sizeof(*mem_res));
234234
return;
235235

236236
error:

0 commit comments

Comments
 (0)