Skip to content

Commit 923d836

Browse files
author
Simao Gomes Viana
committed
Merge remote-tracking branch 'zen/5.5/master' into v5.5+
2 parents a19933b + 363ceb7 commit 923d836

141 files changed

Lines changed: 1417 additions & 497 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/net/fsl-fman.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -110,6 +110,13 @@ PROPERTIES
110110
Usage: required
111111
Definition: See soc/fsl/qman.txt and soc/fsl/bman.txt
112112

113+
- fsl,erratum-a050385
114+
Usage: optional
115+
Value type: boolean
116+
Definition: A boolean property. Indicates the presence of the
117+
erratum A050385 which indicates that DMA transactions that are
118+
split can result in a FMan lock.
119+
113120
=============================================================================
114121
FMan MURAM Node
115122

Documentation/filesystems/porting.rst

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -850,3 +850,11 @@ business doing so.
850850
d_alloc_pseudo() is internal-only; uses outside of alloc_file_pseudo() are
851851
very suspect (and won't work in modules). Such uses are very likely to
852852
be misspelled d_alloc_anon().
853+
854+
---
855+
856+
**mandatory**
857+
858+
[should've been added in 2016] stale comment in finish_open() nonwithstanding,
859+
failure exits in ->atomic_open() instances should *NOT* fput() the file,
860+
no matter what. Everything is handled by the caller.

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

arch/arc/include/asm/linkage.h

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,8 @@
2929
.endm
3030

3131
#define ASM_NL ` /* use '`' to mark new line in macro */
32+
#define __ALIGN .align 4
33+
#define __ALIGN_STR __stringify(__ALIGN)
3234

3335
/* annotation for data we want in DCCM - if enabled in .config */
3436
.macro ARCFP_DATA nm

arch/arm64/boot/dts/freescale/fsl-ls1043-post.dtsi

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,6 +20,8 @@
2020
};
2121

2222
&fman0 {
23+
fsl,erratum-a050385;
24+
2325
/* these aliases provide the FMan ports mapping */
2426
enet0: ethernet@e0000 {
2527
};

arch/mips/boot/dts/ingenic/ci20.dts

Lines changed: 28 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,8 @@
44
#include "jz4780.dtsi"
55
#include <dt-bindings/clock/ingenic,tcu.h>
66
#include <dt-bindings/gpio/gpio.h>
7+
#include <dt-bindings/interrupt-controller/irq.h>
8+
#include <dt-bindings/regulator/active-semi,8865-regulator.h>
79

810
/ {
911
compatible = "img,ci20", "ingenic,jz4780";
@@ -163,63 +165,71 @@
163165

164166
regulators {
165167
vddcore: SUDCDC1 {
166-
regulator-name = "VDDCORE";
168+
regulator-name = "DCDC_REG1";
167169
regulator-min-microvolt = <1100000>;
168170
regulator-max-microvolt = <1100000>;
169171
regulator-always-on;
170172
};
171173
vddmem: SUDCDC2 {
172-
regulator-name = "VDDMEM";
174+
regulator-name = "DCDC_REG2";
173175
regulator-min-microvolt = <1500000>;
174176
regulator-max-microvolt = <1500000>;
175177
regulator-always-on;
176178
};
177179
vcc_33: SUDCDC3 {
178-
regulator-name = "VCC33";
180+
regulator-name = "DCDC_REG3";
179181
regulator-min-microvolt = <3300000>;
180182
regulator-max-microvolt = <3300000>;
181183
regulator-always-on;
182184
};
183185
vcc_50: SUDCDC4 {
184-
regulator-name = "VCC50";
186+
regulator-name = "SUDCDC_REG4";
185187
regulator-min-microvolt = <5000000>;
186188
regulator-max-microvolt = <5000000>;
187189
regulator-always-on;
188190
};
189191
vcc_25: LDO_REG5 {
190-
regulator-name = "VCC25";
192+
regulator-name = "LDO_REG5";
191193
regulator-min-microvolt = <2500000>;
192194
regulator-max-microvolt = <2500000>;
193195
regulator-always-on;
194196
};
195197
wifi_io: LDO_REG6 {
196-
regulator-name = "WIFIIO";
198+
regulator-name = "LDO_REG6";
197199
regulator-min-microvolt = <2500000>;
198200
regulator-max-microvolt = <2500000>;
199201
regulator-always-on;
200202
};
201203
vcc_28: LDO_REG7 {
202-
regulator-name = "VCC28";
204+
regulator-name = "LDO_REG7";
203205
regulator-min-microvolt = <2800000>;
204206
regulator-max-microvolt = <2800000>;
205207
regulator-always-on;
206208
};
207209
vcc_15: LDO_REG8 {
208-
regulator-name = "VCC15";
210+
regulator-name = "LDO_REG8";
209211
regulator-min-microvolt = <1500000>;
210212
regulator-max-microvolt = <1500000>;
211213
regulator-always-on;
212214
};
213-
vcc_18: LDO_REG9 {
214-
regulator-name = "VCC18";
215-
regulator-min-microvolt = <1800000>;
216-
regulator-max-microvolt = <1800000>;
215+
vrtc_18: LDO_REG9 {
216+
regulator-name = "LDO_REG9";
217+
/* Despite the datasheet stating 3.3V
218+
* for REG9 and the driver expecting that,
219+
* REG9 outputs 1.8V.
220+
* Likely the CI20 uses a proprietary
221+
* factory programmed chip variant.
222+
* Since this is a simple on/off LDO the
223+
* exact values do not matter.
224+
*/
225+
regulator-min-microvolt = <3300000>;
226+
regulator-max-microvolt = <3300000>;
217227
regulator-always-on;
218228
};
219229
vcc_11: LDO_REG10 {
220-
regulator-name = "VCC11";
221-
regulator-min-microvolt = <1100000>;
222-
regulator-max-microvolt = <1100000>;
230+
regulator-name = "LDO_REG10";
231+
regulator-min-microvolt = <1200000>;
232+
regulator-max-microvolt = <1200000>;
223233
regulator-always-on;
224234
};
225235
};
@@ -261,7 +271,9 @@
261271
rtc@51 {
262272
compatible = "nxp,pcf8563";
263273
reg = <0x51>;
264-
interrupts = <110>;
274+
275+
interrupt-parent = <&gpf>;
276+
interrupts = <30 IRQ_TYPE_LEVEL_LOW>;
265277
};
266278
};
267279

arch/mips/kernel/setup.c

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -606,7 +606,8 @@ static void __init bootcmdline_init(char **cmdline_p)
606606
* If we're configured to take boot arguments from DT, look for those
607607
* now.
608608
*/
609-
if (IS_ENABLED(CONFIG_MIPS_CMDLINE_FROM_DTB))
609+
if (IS_ENABLED(CONFIG_MIPS_CMDLINE_FROM_DTB) ||
610+
IS_ENABLED(CONFIG_MIPS_CMDLINE_DTB_EXTEND))
610611
of_scan_flat_dt(bootcmdline_scan_chosen, &dt_bootargs);
611612
#endif
612613

arch/x86/events/amd/uncore.c

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -190,15 +190,12 @@ static int amd_uncore_event_init(struct perf_event *event)
190190

191191
/*
192192
* NB and Last level cache counters (MSRs) are shared across all cores
193-
* that share the same NB / Last level cache. Interrupts can be directed
194-
* to a single target core, however, event counts generated by processes
195-
* running on other cores cannot be masked out. So we do not support
196-
* sampling and per-thread events.
193+
* that share the same NB / Last level cache. On family 16h and below,
194+
* Interrupts can be directed to a single target core, however, event
195+
* counts generated by processes running on other cores cannot be masked
196+
* out. So we do not support sampling and per-thread events via
197+
* CAP_NO_INTERRUPT, and we do not enable counter overflow interrupts:
197198
*/
198-
if (is_sampling_event(event) || event->attach_state & PERF_ATTACH_TASK)
199-
return -EINVAL;
200-
201-
/* and we do not enable counter overflow interrupts */
202199
hwc->config = event->attr.config & AMD64_RAW_EVENT_MASK_NB;
203200
hwc->idx = -1;
204201

@@ -306,7 +303,7 @@ static struct pmu amd_nb_pmu = {
306303
.start = amd_uncore_start,
307304
.stop = amd_uncore_stop,
308305
.read = amd_uncore_read,
309-
.capabilities = PERF_PMU_CAP_NO_EXCLUDE,
306+
.capabilities = PERF_PMU_CAP_NO_EXCLUDE | PERF_PMU_CAP_NO_INTERRUPT,
310307
};
311308

312309
static struct pmu amd_llc_pmu = {
@@ -317,7 +314,7 @@ static struct pmu amd_llc_pmu = {
317314
.start = amd_uncore_start,
318315
.stop = amd_uncore_stop,
319316
.read = amd_uncore_read,
320-
.capabilities = PERF_PMU_CAP_NO_EXCLUDE,
317+
.capabilities = PERF_PMU_CAP_NO_EXCLUDE | PERF_PMU_CAP_NO_INTERRUPT,
321318
};
322319

323320
static struct amd_uncore *amd_uncore_alloc(unsigned int cpu)

arch/x86/kernel/cpu/mce/intel.c

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -492,17 +492,18 @@ static void intel_ppin_init(struct cpuinfo_x86 *c)
492492
return;
493493

494494
if ((val & 3UL) == 1UL) {
495-
/* PPIN available but disabled: */
495+
/* PPIN locked in disabled mode */
496496
return;
497497
}
498498

499-
/* If PPIN is disabled, but not locked, try to enable: */
500-
if (!(val & 3UL)) {
499+
/* If PPIN is disabled, try to enable */
500+
if (!(val & 2UL)) {
501501
wrmsrl_safe(MSR_PPIN_CTL, val | 2UL);
502502
rdmsrl_safe(MSR_PPIN_CTL, &val);
503503
}
504504

505-
if ((val & 3UL) == 2UL)
505+
/* Is the enable bit set? */
506+
if (val & 2UL)
506507
set_cpu_cap(c, X86_FEATURE_INTEL_PPIN);
507508
}
508509
}

arch/x86/kernel/cpu/mce/therm_throt.c

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -486,9 +486,14 @@ static int thermal_throttle_offline(unsigned int cpu)
486486
{
487487
struct thermal_state *state = &per_cpu(thermal_state, cpu);
488488
struct device *dev = get_cpu_device(cpu);
489+
u32 l;
490+
491+
/* Mask the thermal vector before draining evtl. pending work */
492+
l = apic_read(APIC_LVTTHMR);
493+
apic_write(APIC_LVTTHMR, l | APIC_LVT_MASKED);
489494

490-
cancel_delayed_work(&state->package_throttle.therm_work);
491-
cancel_delayed_work(&state->core_throttle.therm_work);
495+
cancel_delayed_work_sync(&state->package_throttle.therm_work);
496+
cancel_delayed_work_sync(&state->core_throttle.therm_work);
492497

493498
state->package_throttle.rate_control_active = false;
494499
state->core_throttle.rate_control_active = false;

0 commit comments

Comments
 (0)