Skip to content

Commit 64b7aad

Browse files
author
Ingo Molnar
committed
Merge branch 'sched/urgent' into sched/core, to pick up fixes before applying new changes
Signed-off-by: Ingo Molnar <[email protected]>
2 parents 078194f + 2548d54 commit 64b7aad

File tree

200 files changed

+1950
-967
lines changed

Some content is hidden

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

200 files changed

+1950
-967
lines changed

Documentation/devicetree/bindings/net/mediatek-net.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,8 @@ have dual GMAC each represented by a child node..
99
Required properties:
1010
- compatible: Should be "mediatek,mt7623-eth"
1111
- reg: Address and length of the register set for the device
12-
- interrupts: Should contain the frame engines interrupt
12+
- interrupts: Should contain the three frame engines interrupts in numeric
13+
order. These are fe_int0, fe_int1 and fe_int2.
1314
- clocks: the clock used by the core
1415
- clock-names: the names of the clock listed in the clocks property. These are
1516
"ethif", "esw", "gp2", "gp1"
@@ -42,7 +43,9 @@ eth: ethernet@1b100000 {
4243
<&ethsys CLK_ETHSYS_GP2>,
4344
<&ethsys CLK_ETHSYS_GP1>;
4445
clock-names = "ethif", "esw", "gp2", "gp1";
45-
interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW>;
46+
interrupts = <GIC_SPI 200 IRQ_TYPE_LEVEL_LOW
47+
GIC_SPI 199 IRQ_TYPE_LEVEL_LOW
48+
GIC_SPI 198 IRQ_TYPE_LEVEL_LOW>;
4649
power-domains = <&scpsys MT2701_POWER_DOMAIN_ETH>;
4750
resets = <&ethsys MT2701_ETHSYS_ETH_RST>;
4851
reset-names = "eth";

Documentation/devicetree/bindings/phy/rockchip-dp-phy.txt

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -8,15 +8,19 @@ Required properties:
88
of memory mapped region.
99
- clock-names: from common clock binding:
1010
Required elements: "24m"
11-
- rockchip,grf: phandle to the syscon managing the "general register files"
1211
- #phy-cells : from the generic PHY bindings, must be 0;
1312

1413
Example:
1514

16-
edp_phy: edp-phy {
17-
compatible = "rockchip,rk3288-dp-phy";
18-
rockchip,grf = <&grf>;
19-
clocks = <&cru SCLK_EDP_24M>;
20-
clock-names = "24m";
21-
#phy-cells = <0>;
15+
grf: syscon@ff770000 {
16+
compatible = "rockchip,rk3288-grf", "syscon", "simple-mfd";
17+
18+
...
19+
20+
edp_phy: edp-phy {
21+
compatible = "rockchip,rk3288-dp-phy";
22+
clocks = <&cru SCLK_EDP_24M>;
23+
clock-names = "24m";
24+
#phy-cells = <0>;
25+
};
2226
};

Documentation/devicetree/bindings/phy/rockchip-emmc-phy.txt

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -3,17 +3,23 @@ Rockchip EMMC PHY
33

44
Required properties:
55
- compatible: rockchip,rk3399-emmc-phy
6-
- rockchip,grf : phandle to the syscon managing the "general
7-
register files"
86
- #phy-cells: must be 0
9-
- reg: PHY configure reg address offset in "general
7+
- reg: PHY register address offset and length in "general
108
register files"
119

1210
Example:
1311

14-
emmcphy: phy {
15-
compatible = "rockchip,rk3399-emmc-phy";
16-
rockchip,grf = <&grf>;
17-
reg = <0xf780>;
18-
#phy-cells = <0>;
12+
13+
grf: syscon@ff770000 {
14+
compatible = "rockchip,rk3399-grf", "syscon", "simple-mfd";
15+
#address-cells = <1>;
16+
#size-cells = <1>;
17+
18+
...
19+
20+
emmcphy: phy@f780 {
21+
compatible = "rockchip,rk3399-emmc-phy";
22+
reg = <0xf780 0x20>;
23+
#phy-cells = <0>;
24+
};
1925
};

Documentation/devicetree/bindings/rtc/s3c-rtc.txt

Lines changed: 4 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -15,9 +15,10 @@ Required properties:
1515
is the rtc tick interrupt. The number of cells representing a interrupt
1616
depends on the parent interrupt controller.
1717
- clocks: Must contain a list of phandle and clock specifier for the rtc
18-
and source clocks.
19-
- clock-names: Must contain "rtc" and "rtc_src" entries sorted in the
20-
same order as the clocks property.
18+
clock and in the case of a s3c6410 compatible controller, also
19+
a source clock.
20+
- clock-names: Must contain "rtc" and for a s3c6410 compatible controller,
21+
a "rtc_src" sorted in the same order as the clocks property.
2122

2223
Example:
2324

Documentation/input/event-codes.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -173,6 +173,10 @@ A few EV_ABS codes have special meanings:
173173
proximity of the device and while the value of the BTN_TOUCH code is 0. If
174174
the input device may be used freely in three dimensions, consider ABS_Z
175175
instead.
176+
- BTN_TOOL_<name> should be set to 1 when the tool comes into detectable
177+
proximity and set to 0 when the tool leaves detectable proximity.
178+
BTN_TOOL_<name> signals the type of tool that is currently detected by the
179+
hardware and is otherwise independent of ABS_DISTANCE and/or BTN_TOUCH.
176180

177181
* ABS_MT_<name>:
178182
- Used to describe multitouch input events. Please see

Documentation/x86/x86_64/mm.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ ffffff0000000000 - ffffff7fffffffff (=39 bits) %esp fixup stacks
1919
ffffffef00000000 - ffffffff00000000 (=64 GB) EFI region mapping space
2020
... unused hole ...
2121
ffffffff80000000 - ffffffffa0000000 (=512 MB) kernel text mapping, from phys 0
22-
ffffffffa0000000 - ffffffffff5fffff (=1525 MB) module mapping space
22+
ffffffffa0000000 - ffffffffff5fffff (=1526 MB) module mapping space
2323
ffffffffff600000 - ffffffffffdfffff (=8 MB) vsyscalls
2424
ffffffffffe00000 - ffffffffffffffff (=2 MB) unused hole
2525

@@ -31,8 +31,8 @@ vmalloc space is lazily synchronized into the different PML4 pages of
3131
the processes using the page fault handler, with init_level4_pgt as
3232
reference.
3333

34-
Current X86-64 implementations only support 40 bits of address space,
35-
but we support up to 46 bits. This expands into MBZ space in the page tables.
34+
Current X86-64 implementations support up to 46 bits of address space (64 TB),
35+
which is our current limit. This expands into MBZ space in the page tables.
3636

3737
We map EFI runtime services in the 'efi_pgd' PGD in a 64Gb large virtual
3838
memory window (this size is arbitrary, it can be raised later if needed).

Makefile

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
VERSION = 4
22
PATCHLEVEL = 6
33
SUBLEVEL = 0
4-
EXTRAVERSION = -rc4
4+
EXTRAVERSION = -rc5
55
NAME = Blurry Fish Butt
66

77
# *DOCUMENTATION*
@@ -1008,7 +1008,8 @@ prepare0: archprepare FORCE
10081008
prepare: prepare0 prepare-objtool
10091009

10101010
ifdef CONFIG_STACK_VALIDATION
1011-
has_libelf := $(shell echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf - &> /dev/null && echo 1 || echo 0)
1011+
has_libelf := $(call try-run,\
1012+
echo "int main() {}" | $(HOSTCC) -xc -o /dev/null -lelf -,1,0)
10121013
ifeq ($(has_libelf),1)
10131014
objtool_target := tools/objtool FORCE
10141015
else

arch/arm/include/asm/cputype.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -276,7 +276,7 @@ static inline int __attribute_const__ cpuid_feature_extract_field(u32 features,
276276
int feature = (features >> field) & 15;
277277

278278
/* feature registers are signed values */
279-
if (feature > 8)
279+
if (feature > 7)
280280
feature -= 16;
281281

282282
return feature;

arch/arm/kernel/setup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -512,7 +512,7 @@ static void __init elf_hwcap_fixup(void)
512512
*/
513513
if (cpuid_feature_extract(CPUID_EXT_ISAR3, 12) > 1 ||
514514
(cpuid_feature_extract(CPUID_EXT_ISAR3, 12) == 1 &&
515-
cpuid_feature_extract(CPUID_EXT_ISAR3, 20) >= 3))
515+
cpuid_feature_extract(CPUID_EXT_ISAR4, 20) >= 3))
516516
elf_hwcap &= ~HWCAP_SWP;
517517
}
518518

arch/arm/mm/dma-mapping.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -762,7 +762,8 @@ static void *__dma_alloc(struct device *dev, size_t size, dma_addr_t *handle,
762762
if (!mask)
763763
return NULL;
764764

765-
buf = kzalloc(sizeof(*buf), gfp);
765+
buf = kzalloc(sizeof(*buf),
766+
gfp & ~(__GFP_DMA | __GFP_DMA32 | __GFP_HIGHMEM));
766767
if (!buf)
767768
return NULL;
768769

arch/arm64/kernel/head.S

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -588,6 +588,15 @@ set_hcr:
588588
msr vpidr_el2, x0
589589
msr vmpidr_el2, x1
590590

591+
/*
592+
* When VHE is not in use, early init of EL2 and EL1 needs to be
593+
* done here.
594+
* When VHE _is_ in use, EL1 will not be used in the host and
595+
* requires no configuration, and all non-hyp-specific EL2 setup
596+
* will be done via the _EL1 system register aliases in __cpu_setup.
597+
*/
598+
cbnz x2, 1f
599+
591600
/* sctlr_el1 */
592601
mov x0, #0x0800 // Set/clear RES{1,0} bits
593602
CPU_BE( movk x0, #0x33d0, lsl #16 ) // Set EE and E0E on BE systems
@@ -597,6 +606,7 @@ CPU_LE( movk x0, #0x30d0, lsl #16 ) // Clear EE and E0E on LE systems
597606
/* Coprocessor traps. */
598607
mov x0, #0x33ff
599608
msr cptr_el2, x0 // Disable copro. traps to EL2
609+
1:
600610

601611
#ifdef CONFIG_COMPAT
602612
msr hstr_el2, xzr // Disable CP15 traps to EL2
@@ -734,7 +744,8 @@ ENDPROC(__secondary_switched)
734744

735745
.macro update_early_cpu_boot_status status, tmp1, tmp2
736746
mov \tmp2, #\status
737-
str_l \tmp2, __early_cpu_boot_status, \tmp1
747+
adr_l \tmp1, __early_cpu_boot_status
748+
str \tmp2, [\tmp1]
738749
dmb sy
739750
dc ivac, \tmp1 // Invalidate potentially stale cache line
740751
.endm

arch/arm64/kernel/smp_spin_table.c

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,7 @@ static void write_pen_release(u64 val)
5252
static int smp_spin_table_cpu_init(unsigned int cpu)
5353
{
5454
struct device_node *dn;
55+
int ret;
5556

5657
dn = of_get_cpu_node(cpu, NULL);
5758
if (!dn)
@@ -60,15 +61,15 @@ static int smp_spin_table_cpu_init(unsigned int cpu)
6061
/*
6162
* Determine the address from which the CPU is polling.
6263
*/
63-
if (of_property_read_u64(dn, "cpu-release-addr",
64-
&cpu_release_addr[cpu])) {
64+
ret = of_property_read_u64(dn, "cpu-release-addr",
65+
&cpu_release_addr[cpu]);
66+
if (ret)
6567
pr_err("CPU %d: missing or invalid cpu-release-addr property\n",
6668
cpu);
6769

68-
return -1;
69-
}
70+
of_node_put(dn);
7071

71-
return 0;
72+
return ret;
7273
}
7374

7475
static int smp_spin_table_cpu_prepare(unsigned int cpu)

arch/powerpc/include/uapi/asm/cputable.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@
3131
#define PPC_FEATURE_PSERIES_PERFMON_COMPAT \
3232
0x00000040
3333

34+
/* Reserved - do not use 0x00000004 */
3435
#define PPC_FEATURE_TRUE_LE 0x00000002
3536
#define PPC_FEATURE_PPC_LE 0x00000001
3637

arch/powerpc/kernel/prom.c

Lines changed: 15 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -148,23 +148,25 @@ static struct ibm_pa_feature {
148148
unsigned long cpu_features; /* CPU_FTR_xxx bit */
149149
unsigned long mmu_features; /* MMU_FTR_xxx bit */
150150
unsigned int cpu_user_ftrs; /* PPC_FEATURE_xxx bit */
151+
unsigned int cpu_user_ftrs2; /* PPC_FEATURE2_xxx bit */
151152
unsigned char pabyte; /* byte number in ibm,pa-features */
152153
unsigned char pabit; /* bit number (big-endian) */
153154
unsigned char invert; /* if 1, pa bit set => clear feature */
154155
} ibm_pa_features[] __initdata = {
155-
{0, 0, PPC_FEATURE_HAS_MMU, 0, 0, 0},
156-
{0, 0, PPC_FEATURE_HAS_FPU, 0, 1, 0},
157-
{CPU_FTR_CTRL, 0, 0, 0, 3, 0},
158-
{CPU_FTR_NOEXECUTE, 0, 0, 0, 6, 0},
159-
{CPU_FTR_NODSISRALIGN, 0, 0, 1, 1, 1},
160-
{0, MMU_FTR_CI_LARGE_PAGE, 0, 1, 2, 0},
161-
{CPU_FTR_REAL_LE, PPC_FEATURE_TRUE_LE, 5, 0, 0},
156+
{0, 0, PPC_FEATURE_HAS_MMU, 0, 0, 0, 0},
157+
{0, 0, PPC_FEATURE_HAS_FPU, 0, 0, 1, 0},
158+
{CPU_FTR_CTRL, 0, 0, 0, 0, 3, 0},
159+
{CPU_FTR_NOEXECUTE, 0, 0, 0, 0, 6, 0},
160+
{CPU_FTR_NODSISRALIGN, 0, 0, 0, 1, 1, 1},
161+
{0, MMU_FTR_CI_LARGE_PAGE, 0, 0, 1, 2, 0},
162+
{CPU_FTR_REAL_LE, 0, PPC_FEATURE_TRUE_LE, 0, 5, 0, 0},
162163
/*
163-
* If the kernel doesn't support TM (ie. CONFIG_PPC_TRANSACTIONAL_MEM=n),
164-
* we don't want to turn on CPU_FTR_TM here, so we use CPU_FTR_TM_COMP
165-
* which is 0 if the kernel doesn't support TM.
164+
* If the kernel doesn't support TM (ie CONFIG_PPC_TRANSACTIONAL_MEM=n),
165+
* we don't want to turn on TM here, so we use the *_COMP versions
166+
* which are 0 if the kernel doesn't support TM.
166167
*/
167-
{CPU_FTR_TM_COMP, 0, 0, 22, 0, 0},
168+
{CPU_FTR_TM_COMP, 0, 0,
169+
PPC_FEATURE2_HTM_COMP|PPC_FEATURE2_HTM_NOSC_COMP, 22, 0, 0},
168170
};
169171

170172
static void __init scan_features(unsigned long node, const unsigned char *ftrs,
@@ -195,10 +197,12 @@ static void __init scan_features(unsigned long node, const unsigned char *ftrs,
195197
if (bit ^ fp->invert) {
196198
cur_cpu_spec->cpu_features |= fp->cpu_features;
197199
cur_cpu_spec->cpu_user_features |= fp->cpu_user_ftrs;
200+
cur_cpu_spec->cpu_user_features2 |= fp->cpu_user_ftrs2;
198201
cur_cpu_spec->mmu_features |= fp->mmu_features;
199202
} else {
200203
cur_cpu_spec->cpu_features &= ~fp->cpu_features;
201204
cur_cpu_spec->cpu_user_features &= ~fp->cpu_user_ftrs;
205+
cur_cpu_spec->cpu_user_features2 &= ~fp->cpu_user_ftrs2;
202206
cur_cpu_spec->mmu_features &= ~fp->mmu_features;
203207
}
204208
}

arch/s390/Kconfig

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,9 @@ config MMU
44
config ZONE_DMA
55
def_bool y
66

7+
config CPU_BIG_ENDIAN
8+
def_bool y
9+
710
config LOCKDEP_SUPPORT
811
def_bool y
912

arch/s390/include/asm/pci.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -44,7 +44,8 @@ struct zpci_fmb {
4444
u64 rpcit_ops;
4545
u64 dma_rbytes;
4646
u64 dma_wbytes;
47-
} __packed __aligned(64);
47+
u64 pad[2];
48+
} __packed __aligned(128);
4849

4950
enum zpci_state {
5051
ZPCI_FN_STATE_RESERVED,

arch/s390/include/asm/seccomp.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,4 +13,6 @@
1313
#define __NR_seccomp_exit_32 __NR_exit
1414
#define __NR_seccomp_sigreturn_32 __NR_sigreturn
1515

16+
#include <asm-generic/seccomp.h>
17+
1618
#endif /* _ASM_S390_SECCOMP_H */

arch/s390/lib/spinlock.c

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -105,6 +105,7 @@ void arch_spin_lock_wait_flags(arch_spinlock_t *lp, unsigned long flags)
105105
if (_raw_compare_and_swap(&lp->lock, 0, cpu))
106106
return;
107107
local_irq_restore(flags);
108+
continue;
108109
}
109110
/* Check if the lock owner is running. */
110111
if (first_diag && cpu_is_preempted(~owner)) {

arch/x86/crypto/sha-mb/sha1_mb.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -453,10 +453,10 @@ static int sha_complete_job(struct mcryptd_hash_request_ctx *rctx,
453453

454454
req = cast_mcryptd_ctx_to_req(req_ctx);
455455
if (irqs_disabled())
456-
rctx->complete(&req->base, ret);
456+
req_ctx->complete(&req->base, ret);
457457
else {
458458
local_bh_disable();
459-
rctx->complete(&req->base, ret);
459+
req_ctx->complete(&req->base, ret);
460460
local_bh_enable();
461461
}
462462
}

arch/x86/include/asm/hugetlb.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
#include <asm/page.h>
55
#include <asm-generic/hugetlb.h>
66

7+
#define hugepages_supported() cpu_has_pse
78

89
static inline int is_hugepage_only_range(struct mm_struct *mm,
910
unsigned long addr,

arch/x86/kernel/cpu/mshyperv.c

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -152,6 +152,11 @@ static struct clocksource hyperv_cs = {
152152
.flags = CLOCK_SOURCE_IS_CONTINUOUS,
153153
};
154154

155+
static unsigned char hv_get_nmi_reason(void)
156+
{
157+
return 0;
158+
}
159+
155160
static void __init ms_hyperv_init_platform(void)
156161
{
157162
/*
@@ -191,6 +196,13 @@ static void __init ms_hyperv_init_platform(void)
191196
machine_ops.crash_shutdown = hv_machine_crash_shutdown;
192197
#endif
193198
mark_tsc_unstable("running on Hyper-V");
199+
200+
/*
201+
* Generation 2 instances don't support reading the NMI status from
202+
* 0x61 port.
203+
*/
204+
if (efi_enabled(EFI_BOOT))
205+
x86_platform.get_nmi_reason = hv_get_nmi_reason;
194206
}
195207

196208
const __refconst struct hypervisor_x86 x86_hyper_ms_hyperv = {

0 commit comments

Comments
 (0)