Skip to content

Commit 499966d

Browse files
committed
Merge remote-tracking branch 'stable/linux-5.9.y' into v5.9+
2 parents 2fd7ecf + 89bb11d commit 499966d

168 files changed

Lines changed: 1700 additions & 1097 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.

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 = 9
4-
SUBLEVEL = 11
4+
SUBLEVEL = 12
55
EXTRAVERSION =
66
NAME = Kleptomaniac Octopus
77

arch/arc/include/asm/pgtable.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -134,8 +134,10 @@
134134

135135
#ifdef CONFIG_ARC_HAS_PAE40
136136
#define PTE_BITS_NON_RWX_IN_PD1 (0xff00000000 | PAGE_MASK | _PAGE_CACHEABLE)
137+
#define MAX_POSSIBLE_PHYSMEM_BITS 40
137138
#else
138139
#define PTE_BITS_NON_RWX_IN_PD1 (PAGE_MASK | _PAGE_CACHEABLE)
140+
#define MAX_POSSIBLE_PHYSMEM_BITS 32
139141
#endif
140142

141143
/**************************************************************************

arch/arm/boot/dts/dra76x.dtsi

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -32,8 +32,8 @@
3232
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
3333
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>;
3434
interrupt-names = "int0", "int1";
35-
clocks = <&mcan_clk>, <&l3_iclk_div>;
36-
clock-names = "cclk", "hclk";
35+
clocks = <&l3_iclk_div>, <&mcan_clk>;
36+
clock-names = "hclk", "cclk";
3737
bosch,mram-cfg = <0x0 0 0 32 0 0 1 1>;
3838
};
3939
};

arch/arm/include/asm/pgtable-2level.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,8 @@
7575
#define PTE_HWTABLE_OFF (PTE_HWTABLE_PTRS * sizeof(pte_t))
7676
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u32))
7777

78+
#define MAX_POSSIBLE_PHYSMEM_BITS 32
79+
7880
/*
7981
* PMD_SHIFT determines the size of the area a second-level page table can map
8082
* PGDIR_SHIFT determines what a third-level page table entry can map

arch/arm/include/asm/pgtable-3level.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -25,6 +25,8 @@
2525
#define PTE_HWTABLE_OFF (0)
2626
#define PTE_HWTABLE_SIZE (PTRS_PER_PTE * sizeof(u64))
2727

28+
#define MAX_POSSIBLE_PHYSMEM_BITS 40
29+
2830
/*
2931
* PGDIR_SHIFT determines the size a top-level page table entry can map.
3032
*/

arch/arm/mach-omap2/cpuidle44xx.c

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -175,16 +175,18 @@ static int omap_enter_idle_coupled(struct cpuidle_device *dev,
175175
if (mpuss_can_lose_context) {
176176
error = cpu_cluster_pm_enter();
177177
if (error) {
178-
omap_set_pwrdm_state(mpu_pd, PWRDM_POWER_ON);
179-
goto cpu_cluster_pm_out;
178+
index = 0;
179+
cx = state_ptr + index;
180+
pwrdm_set_logic_retst(mpu_pd, cx->mpu_logic_state);
181+
omap_set_pwrdm_state(mpu_pd, cx->mpu_state);
182+
mpuss_can_lose_context = 0;
180183
}
181184
}
182185
}
183186

184187
omap4_enter_lowpower(dev->cpu, cx->cpu_state);
185188
cpu_done[dev->cpu] = true;
186189

187-
cpu_cluster_pm_out:
188190
/* Wakeup CPU1 only if it is not offlined */
189191
if (dev->cpu == 0 && cpumask_test_cpu(1, cpu_online_mask)) {
190192

arch/arm64/boot/dts/nvidia/tegra194-p3668-0000.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@
5454
status = "okay";
5555
};
5656

57-
serial@c280000 {
57+
serial@3100000 {
5858
status = "okay";
5959
};
6060

arch/arm64/boot/dts/nvidia/tegra194.dtsi

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -924,7 +924,7 @@
924924

925925
hsp_aon: hsp@c150000 {
926926
compatible = "nvidia,tegra194-hsp", "nvidia,tegra186-hsp";
927-
reg = <0x0c150000 0xa0000>;
927+
reg = <0x0c150000 0x90000>;
928928
interrupts = <GIC_SPI 133 IRQ_TYPE_LEVEL_HIGH>,
929929
<GIC_SPI 134 IRQ_TYPE_LEVEL_HIGH>,
930930
<GIC_SPI 135 IRQ_TYPE_LEVEL_HIGH>,

arch/arm64/boot/dts/nvidia/tegra210-p2597.dtsi

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -1663,16 +1663,6 @@
16631663
vin-supply = <&vdd_5v0_sys>;
16641664
};
16651665

1666-
vdd_usb_vbus_otg: regulator@11 {
1667-
compatible = "regulator-fixed";
1668-
regulator-name = "USB_VBUS_EN0";
1669-
regulator-min-microvolt = <5000000>;
1670-
regulator-max-microvolt = <5000000>;
1671-
gpio = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_HIGH>;
1672-
enable-active-high;
1673-
vin-supply = <&vdd_5v0_sys>;
1674-
};
1675-
16761666
vdd_hdmi: regulator@10 {
16771667
compatible = "regulator-fixed";
16781668
regulator-name = "VDD_HDMI_5V0";
@@ -1712,4 +1702,14 @@
17121702
enable-active-high;
17131703
vin-supply = <&vdd_3v3_sys>;
17141704
};
1705+
1706+
vdd_usb_vbus_otg: regulator@14 {
1707+
compatible = "regulator-fixed";
1708+
regulator-name = "USB_VBUS_EN0";
1709+
regulator-min-microvolt = <5000000>;
1710+
regulator-max-microvolt = <5000000>;
1711+
gpio = <&gpio TEGRA_GPIO(CC, 4) GPIO_ACTIVE_HIGH>;
1712+
enable-active-high;
1713+
vin-supply = <&vdd_5v0_sys>;
1714+
};
17151715
};

arch/arm64/include/asm/pgtable.h

Lines changed: 18 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -108,18 +108,19 @@ extern unsigned long empty_zero_page[PAGE_SIZE / sizeof(unsigned long)];
108108
#define pte_valid(pte) (!!(pte_val(pte) & PTE_VALID))
109109
#define pte_valid_not_user(pte) \
110110
((pte_val(pte) & (PTE_VALID | PTE_USER)) == PTE_VALID)
111-
#define pte_valid_young(pte) \
112-
((pte_val(pte) & (PTE_VALID | PTE_AF)) == (PTE_VALID | PTE_AF))
113111
#define pte_valid_user(pte) \
114112
((pte_val(pte) & (PTE_VALID | PTE_USER)) == (PTE_VALID | PTE_USER))
115113

116114
/*
117115
* Could the pte be present in the TLB? We must check mm_tlb_flush_pending
118116
* so that we don't erroneously return false for pages that have been
119117
* remapped as PROT_NONE but are yet to be flushed from the TLB.
118+
* Note that we can't make any assumptions based on the state of the access
119+
* flag, since ptep_clear_flush_young() elides a DSB when invalidating the
120+
* TLB.
120121
*/
121122
#define pte_accessible(mm, pte) \
122-
(mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid_young(pte))
123+
(mm_tlb_flush_pending(mm) ? pte_present(pte) : pte_valid(pte))
123124

124125
/*
125126
* p??_access_permitted() is true for valid user mappings (subject to the
@@ -145,13 +146,6 @@ static inline pte_t set_pte_bit(pte_t pte, pgprot_t prot)
145146
return pte;
146147
}
147148

148-
static inline pte_t pte_wrprotect(pte_t pte)
149-
{
150-
pte = clear_pte_bit(pte, __pgprot(PTE_WRITE));
151-
pte = set_pte_bit(pte, __pgprot(PTE_RDONLY));
152-
return pte;
153-
}
154-
155149
static inline pte_t pte_mkwrite(pte_t pte)
156150
{
157151
pte = set_pte_bit(pte, __pgprot(PTE_WRITE));
@@ -177,6 +171,20 @@ static inline pte_t pte_mkdirty(pte_t pte)
177171
return pte;
178172
}
179173

174+
static inline pte_t pte_wrprotect(pte_t pte)
175+
{
176+
/*
177+
* If hardware-dirty (PTE_WRITE/DBM bit set and PTE_RDONLY
178+
* clear), set the PTE_DIRTY bit.
179+
*/
180+
if (pte_hw_dirty(pte))
181+
pte = pte_mkdirty(pte);
182+
183+
pte = clear_pte_bit(pte, __pgprot(PTE_WRITE));
184+
pte = set_pte_bit(pte, __pgprot(PTE_RDONLY));
185+
return pte;
186+
}
187+
180188
static inline pte_t pte_mkold(pte_t pte)
181189
{
182190
return clear_pte_bit(pte, __pgprot(PTE_AF));
@@ -798,12 +806,6 @@ static inline void ptep_set_wrprotect(struct mm_struct *mm, unsigned long addres
798806
pte = READ_ONCE(*ptep);
799807
do {
800808
old_pte = pte;
801-
/*
802-
* If hardware-dirty (PTE_WRITE/DBM bit set and PTE_RDONLY
803-
* clear), set the PTE_DIRTY bit.
804-
*/
805-
if (pte_hw_dirty(pte))
806-
pte = pte_mkdirty(pte);
807809
pte = pte_wrprotect(pte);
808810
pte_val(pte) = cmpxchg_relaxed(&pte_val(*ptep),
809811
pte_val(old_pte), pte_val(pte));

0 commit comments

Comments
 (0)