Skip to content

Commit 08da7a2

Browse files
committed
Merge tag 'v4.18.18' into 4.18-main
This is the 4.18.18 stable release
2 parents 400a3cb + 9966127 commit 08da7a2

File tree

38 files changed

+243
-173
lines changed

38 files changed

+243
-173
lines changed

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 = 4
33
PATCHLEVEL = 18
4-
SUBLEVEL = 17
4+
SUBLEVEL = 18
55
EXTRAVERSION =
66
NAME = Merciless Moray
77

arch/x86/include/asm/fpu/internal.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -528,7 +528,7 @@ static inline void fpregs_activate(struct fpu *fpu)
528528
static inline void
529529
switch_fpu_prepare(struct fpu *old_fpu, int cpu)
530530
{
531-
if (old_fpu->initialized) {
531+
if (static_cpu_has(X86_FEATURE_FPU) && old_fpu->initialized) {
532532
if (!copy_fpregs_to_fpstate(old_fpu))
533533
old_fpu->last_cpu = -1;
534534
else

arch/x86/include/asm/percpu.h

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -185,22 +185,22 @@ do { \
185185
typeof(var) pfo_ret__; \
186186
switch (sizeof(var)) { \
187187
case 1: \
188-
asm(op "b "__percpu_arg(1)",%0" \
188+
asm volatile(op "b "__percpu_arg(1)",%0"\
189189
: "=q" (pfo_ret__) \
190190
: "m" (var)); \
191191
break; \
192192
case 2: \
193-
asm(op "w "__percpu_arg(1)",%0" \
193+
asm volatile(op "w "__percpu_arg(1)",%0"\
194194
: "=r" (pfo_ret__) \
195195
: "m" (var)); \
196196
break; \
197197
case 4: \
198-
asm(op "l "__percpu_arg(1)",%0" \
198+
asm volatile(op "l "__percpu_arg(1)",%0"\
199199
: "=r" (pfo_ret__) \
200200
: "m" (var)); \
201201
break; \
202202
case 8: \
203-
asm(op "q "__percpu_arg(1)",%0" \
203+
asm volatile(op "q "__percpu_arg(1)",%0"\
204204
: "=r" (pfo_ret__) \
205205
: "m" (var)); \
206206
break; \

arch/x86/kernel/pci-swiotlb.c

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,10 +42,8 @@ IOMMU_INIT_FINISH(pci_swiotlb_detect_override,
4242
int __init pci_swiotlb_detect_4gb(void)
4343
{
4444
/* don't initialize swiotlb if iommu=off (no_iommu=1) */
45-
#ifdef CONFIG_X86_64
4645
if (!no_iommu && max_possible_pfn > MAX_DMA32_PFN)
4746
swiotlb = 1;
48-
#endif
4947

5048
/*
5149
* If SME is active then swiotlb will be set to 1 so that bounce

arch/x86/kernel/setup.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1258,7 +1258,7 @@ void __init setup_arch(char **cmdline_p)
12581258
x86_init.hyper.guest_late_init();
12591259

12601260
e820__reserve_resources();
1261-
e820__register_nosave_regions(max_low_pfn);
1261+
e820__register_nosave_regions(max_pfn);
12621262

12631263
x86_init.resources.reserve_resources();
12641264

arch/x86/kernel/time.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,7 @@
2525
#include <asm/time.h>
2626

2727
#ifdef CONFIG_X86_64
28-
__visible volatile unsigned long jiffies __cacheline_aligned = INITIAL_JIFFIES;
28+
__visible volatile unsigned long jiffies __cacheline_aligned_in_smp = INITIAL_JIFFIES;
2929
#endif
3030

3131
unsigned long profile_pc(struct pt_regs *regs)

arch/x86/kernel/tsc.c

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ struct cyc2ns {
6060

6161
static DEFINE_PER_CPU_ALIGNED(struct cyc2ns, cyc2ns);
6262

63-
void cyc2ns_read_begin(struct cyc2ns_data *data)
63+
void __always_inline cyc2ns_read_begin(struct cyc2ns_data *data)
6464
{
6565
int seq, idx;
6666

@@ -77,7 +77,7 @@ void cyc2ns_read_begin(struct cyc2ns_data *data)
7777
} while (unlikely(seq != this_cpu_read(cyc2ns.seq.sequence)));
7878
}
7979

80-
void cyc2ns_read_end(void)
80+
void __always_inline cyc2ns_read_end(void)
8181
{
8282
preempt_enable_notrace();
8383
}
@@ -123,7 +123,7 @@ static void __init cyc2ns_init(int cpu)
123123
seqcount_init(&c2n->seq);
124124
}
125125

126-
static inline unsigned long long cycles_2_ns(unsigned long long cyc)
126+
static __always_inline unsigned long long cycles_2_ns(unsigned long long cyc)
127127
{
128128
struct cyc2ns_data data;
129129
unsigned long long ns;

drivers/clk/sunxi-ng/ccu-sun4i-a10.c

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1434,8 +1434,16 @@ static void __init sun4i_ccu_init(struct device_node *node,
14341434
return;
14351435
}
14361436

1437-
/* Force the PLL-Audio-1x divider to 1 */
14381437
val = readl(reg + SUN4I_PLL_AUDIO_REG);
1438+
1439+
/*
1440+
* Force VCO and PLL bias current to lowest setting. Higher
1441+
* settings interfere with sigma-delta modulation and result
1442+
* in audible noise and distortions when using SPDIF or I2S.
1443+
*/
1444+
val &= ~GENMASK(25, 16);
1445+
1446+
/* Force the PLL-Audio-1x divider to 1 */
14391447
val &= ~GENMASK(29, 26);
14401448
writel(val | (1 << 26), reg + SUN4I_PLL_AUDIO_REG);
14411449

drivers/gpio/gpio-mxs.c

Lines changed: 1 addition & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@
1818
#include <linux/platform_device.h>
1919
#include <linux/slab.h>
2020
#include <linux/gpio/driver.h>
21-
/* FIXME: for gpio_get_value(), replace this by direct register read */
22-
#include <linux/gpio.h>
2321
#include <linux/module.h>
2422

2523
#define MXS_SET 0x4
@@ -86,7 +84,7 @@ static int mxs_gpio_set_irq_type(struct irq_data *d, unsigned int type)
8684
port->both_edges &= ~pin_mask;
8785
switch (type) {
8886
case IRQ_TYPE_EDGE_BOTH:
89-
val = gpio_get_value(port->gc.base + d->hwirq);
87+
val = port->gc.get(&port->gc, d->hwirq);
9088
if (val)
9189
edge = GPIO_INT_FALL_EDGE;
9290
else

drivers/gpu/drm/drm_edid.c

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,9 @@ static const struct edid_quirk {
113113
/* AEO model 0 reports 8 bpc, but is a 6 bpc panel */
114114
{ "AEO", 0, EDID_QUIRK_FORCE_6BPC },
115115

116+
/* BOE model on HP Pavilion 15-n233sl reports 8 bpc, but is a 6 bpc panel */
117+
{ "BOE", 0x78b, EDID_QUIRK_FORCE_6BPC },
118+
116119
/* CPT panel of Asus UX303LA reports 8 bpc, but is a 6 bpc panel */
117120
{ "CPT", 0x17df, EDID_QUIRK_FORCE_6BPC },
118121

@@ -4279,7 +4282,7 @@ static void drm_parse_ycbcr420_deep_color_info(struct drm_connector *connector,
42794282
struct drm_hdmi_info *hdmi = &connector->display_info.hdmi;
42804283

42814284
dc_mask = db[7] & DRM_EDID_YCBCR420_DC_MASK;
4282-
hdmi->y420_dc_modes |= dc_mask;
4285+
hdmi->y420_dc_modes = dc_mask;
42834286
}
42844287

42854288
static void drm_parse_hdmi_forum_vsdb(struct drm_connector *connector,

0 commit comments

Comments
 (0)