Skip to content

Commit 9d020d3

Browse files
author
Ingo Molnar
committed
Merge branch 'linus' into perf/urgent, to resolve conflict
Conflicts: arch/powerpc/configs/85xx/kmp204x_defconfig Signed-off-by: Ingo Molnar <[email protected]>
2 parents 6b0b755 + 4977ab6 commit 9d020d3

File tree

195 files changed

+13074
-6901
lines changed

Some content is hidden

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

195 files changed

+13074
-6901
lines changed

Documentation/devicetree/bindings/pwm/imx-pwm.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,8 +6,8 @@ Required properties:
66
- "fsl,imx1-pwm" for PWM compatible with the one integrated on i.MX1
77
- "fsl,imx27-pwm" for PWM compatible with the one integrated on i.MX27
88
- reg: physical base address and length of the controller's registers
9-
- #pwm-cells: should be 2. See pwm.txt in this directory for a description of
10-
the cells format.
9+
- #pwm-cells: 2 for i.MX1 and 3 for i.MX27 and newer SoCs. See pwm.txt
10+
in this directory for a description of the cells format.
1111
- clocks : Clock specifiers for both ipg and per clocks.
1212
- clock-names : Clock names should include both "ipg" and "per"
1313
See the clock consumer binding,
@@ -17,7 +17,7 @@ See the clock consumer binding,
1717
Example:
1818

1919
pwm1: pwm@53fb4000 {
20-
#pwm-cells = <2>;
20+
#pwm-cells = <3>;
2121
compatible = "fsl,imx53-pwm", "fsl,imx27-pwm";
2222
reg = <0x53fb4000 0x4000>;
2323
clocks = <&clks IMX5_CLK_PWM1_IPG_GATE>,

Documentation/devicetree/bindings/thermal/qoriq-thermal.txt

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,12 @@ Required properties:
1717
calibration data, as specified by the SoC reference manual.
1818
The first cell of each pair is the value to be written to TTCFGR,
1919
and the second is the value to be written to TSCFGR.
20+
- #thermal-sensor-cells : Must be 1. The sensor specifier is the monitoring
21+
site ID, and represents the "n" in TRITSRn and TRATSRn.
22+
23+
Optional property:
24+
- little-endian : If present, the TMU registers are little endian. If absent,
25+
the default is big endian.
2026

2127
Example:
2228

@@ -60,4 +66,5 @@ tmu@f0000 {
6066

6167
0x00030000 0x00000012
6268
0x00030001 0x0000001d>;
69+
#thermal-sensor-cells = <1>;
6370
};
Lines changed: 56 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
* DT bindings for Renesas R-Car Gen3 Thermal Sensor driver
2+
3+
On R-Car Gen3 SoCs, the thermal sensor controllers (TSC) control the thermal
4+
sensors (THS) which are the analog circuits for measuring temperature (Tj)
5+
inside the LSI.
6+
7+
Required properties:
8+
- compatible : "renesas,<soctype>-thermal",
9+
Examples with soctypes are:
10+
- "renesas,r8a7795-thermal" (R-Car H3)
11+
- "renesas,r8a7796-thermal" (R-Car M3-W)
12+
- reg : Address ranges of the thermal registers. Each sensor
13+
needs one address range. Sorting must be done in
14+
increasing order according to datasheet, i.e.
15+
TSC1, TSC2, ...
16+
- clocks : Must contain a reference to the functional clock.
17+
- #thermal-sensor-cells : must be <1>.
18+
19+
Optional properties:
20+
21+
- interrupts : interrupts routed to the TSC (3 for H3 and M3-W)
22+
- power-domain : Must contain a reference to the power domain. This
23+
property is mandatory if the thermal sensor instance
24+
is part of a controllable power domain.
25+
26+
Example:
27+
28+
tsc: thermal@e6198000 {
29+
compatible = "renesas,r8a7795-thermal";
30+
reg = <0 0xe6198000 0 0x68>,
31+
<0 0xe61a0000 0 0x5c>,
32+
<0 0xe61a8000 0 0x5c>;
33+
interrupts = <GIC_SPI 67 IRQ_TYPE_LEVEL_HIGH>,
34+
<GIC_SPI 68 IRQ_TYPE_LEVEL_HIGH>,
35+
<GIC_SPI 69 IRQ_TYPE_LEVEL_HIGH>;
36+
clocks = <&cpg CPG_MOD 522>;
37+
power-domains = <&sysc R8A7795_PD_ALWAYS_ON>;
38+
#thermal-sensor-cells = <1>;
39+
status = "okay";
40+
};
41+
42+
thermal-zones {
43+
sensor_thermal1: sensor-thermal1 {
44+
polling-delay-passive = <250>;
45+
polling-delay = <1000>;
46+
thermal-sensors = <&tsc 0>;
47+
48+
trips {
49+
sensor1_crit: sensor1-crit {
50+
temperature = <90000>;
51+
hysteresis = <2000>;
52+
type = "critical";
53+
};
54+
};
55+
};
56+
};
Lines changed: 116 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,116 @@
1+
* ZTE zx2967 family Thermal
2+
3+
Required Properties:
4+
- compatible: should be one of the following.
5+
* zte,zx296718-thermal
6+
- reg: physical base address of the controller and length of memory mapped
7+
region.
8+
- clocks : Pairs of phandle and specifier referencing the controller's clocks.
9+
- clock-names: "topcrm" for the topcrm clock.
10+
"apb" for the apb clock.
11+
- #thermal-sensor-cells: must be 0.
12+
13+
Please note: slope coefficient defined in thermal-zones section need to be
14+
multiplied by 1000.
15+
16+
Example for tempsensor:
17+
18+
tempsensor: tempsensor@148a000 {
19+
compatible = "zte,zx296718-thermal";
20+
reg = <0x0148a000 0x20>;
21+
clocks = <&topcrm TEMPSENSOR_GATE>, <&audiocrm AUDIO_TS_PCLK>;
22+
clock-names = "topcrm", "apb";
23+
#thermal-sensor-cells = <0>;
24+
};
25+
26+
Example for cooling device:
27+
28+
cooling_dev: cooling_dev {
29+
cluster0_cooling_dev: cluster0-cooling-dev {
30+
#cooling-cells = <2>;
31+
cpumask = <0xf>;
32+
capacitance = <1500>;
33+
};
34+
35+
cluster1_cooling_dev: cluster1-cooling-dev {
36+
#cooling-cells = <2>;
37+
cpumask = <0x30>;
38+
capacitance = <2000>;
39+
};
40+
};
41+
42+
Example for thermal zones:
43+
44+
thermal-zones {
45+
zx296718_thermal: zx296718_thermal {
46+
polling-delay-passive = <500>;
47+
polling-delay = <1000>;
48+
sustainable-power = <6500>;
49+
50+
thermal-sensors = <&tempsensor 0>;
51+
/*
52+
* slope need to be multiplied by 1000.
53+
*/
54+
coefficients = <1951 (-922)>;
55+
56+
trips {
57+
trip0: switch_on_temperature {
58+
temperature = <90000>;
59+
hysteresis = <2000>;
60+
type = "passive";
61+
};
62+
63+
trip1: desired_temperature {
64+
temperature = <100000>;
65+
hysteresis = <2000>;
66+
type = "passive";
67+
};
68+
69+
crit: critical_temperature {
70+
temperature = <110000>;
71+
hysteresis = <2000>;
72+
type = "critical";
73+
};
74+
};
75+
76+
cooling-maps {
77+
map0 {
78+
trip = <&trip0>;
79+
cooling-device = <&gpu 2 5>;
80+
};
81+
82+
map1 {
83+
trip = <&trip0>;
84+
cooling-device = <&cluster0_cooling_dev 1 2>;
85+
};
86+
87+
map2 {
88+
trip = <&trip1>;
89+
cooling-device = <&cluster0_cooling_dev 1 2>;
90+
};
91+
92+
map3 {
93+
trip = <&crit>;
94+
cooling-device = <&cluster0_cooling_dev 1 2>;
95+
};
96+
97+
map4 {
98+
trip = <&trip0>;
99+
cooling-device = <&cluster1_cooling_dev 1 2>;
100+
contribution = <9000>;
101+
};
102+
103+
map5 {
104+
trip = <&trip1>;
105+
cooling-device = <&cluster1_cooling_dev 1 2>;
106+
contribution = <4096>;
107+
};
108+
109+
map6 {
110+
trip = <&crit>;
111+
cooling-device = <&cluster1_cooling_dev 1 2>;
112+
contribution = <4096>;
113+
};
114+
};
115+
};
116+
};

Documentation/filesystems/f2fs.txt

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -125,13 +125,14 @@ active_logs=%u Support configuring the number of active logs. In the
125125
disable_ext_identify Disable the extension list configured by mkfs, so f2fs
126126
does not aware of cold files such as media files.
127127
inline_xattr Enable the inline xattrs feature.
128+
noinline_xattr Disable the inline xattrs feature.
128129
inline_data Enable the inline data feature: New created small(<~3.4k)
129130
files can be written into inode block.
130131
inline_dentry Enable the inline dir feature: data in new created
131132
directory entries can be written into inode block. The
132133
space of inode block which is used to store inline
133134
dentries is limited to ~3.4k.
134-
noinline_dentry Diable the inline dentry feature.
135+
noinline_dentry Disable the inline dentry feature.
135136
flush_merge Merge concurrent cache_flush commands as much as possible
136137
to eliminate redundant command issues. If the underlying
137138
device handles the cache_flush command relatively slowly,
@@ -157,6 +158,8 @@ data_flush Enable data flushing before checkpoint in order to
157158
mode=%s Control block allocation mode which supports "adaptive"
158159
and "lfs". In "lfs" mode, there should be no random
159160
writes towards main area.
161+
io_bits=%u Set the bit size of write IO requests. It should be set
162+
with "mode=lfs".
160163

161164
================================================================================
162165
DEBUGFS ENTRIES
@@ -174,7 +177,7 @@ f2fs. Each file shows the whole f2fs information.
174177
SYSFS ENTRIES
175178
================================================================================
176179

177-
Information about mounted f2f2 file systems can be found in
180+
Information about mounted f2fs file systems can be found in
178181
/sys/fs/f2fs. Each mounted filesystem will have a directory in
179182
/sys/fs/f2fs based on its device name (i.e., /sys/fs/f2fs/sda).
180183
The files in each per-device directory are shown in table below.

MAINTAINERS

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7483,18 +7483,24 @@ L: [email protected]
74837483
Q: http://patchwork.ozlabs.org/project/linuxppc-dev/list/
74847484
T: git git://git.kernel.org/pub/scm/linux/kernel/git/powerpc/linux.git
74857485
S: Supported
7486+
F: Documentation/ABI/stable/sysfs-firmware-opal-*
7487+
F: Documentation/devicetree/bindings/powerpc/opal/
7488+
F: Documentation/devicetree/bindings/rtc/rtc-opal.txt
7489+
F: Documentation/devicetree/bindings/i2c/i2c-opal.txt
74867490
F: Documentation/powerpc/
74877491
F: arch/powerpc/
74887492
F: drivers/char/tpm/tpm_ibmvtpm*
74897493
F: drivers/crypto/nx/
74907494
F: drivers/crypto/vmx/
7495+
F: drivers/i2c/busses/i2c-opal.c
74917496
F: drivers/net/ethernet/ibm/ibmveth.*
74927497
F: drivers/net/ethernet/ibm/ibmvnic.*
74937498
F: drivers/pci/hotplug/pnv_php.c
74947499
F: drivers/pci/hotplug/rpa*
7500+
F: drivers/rtc/rtc-opal.c
74957501
F: drivers/scsi/ibmvscsi/
7502+
F: drivers/tty/hvc/hvc_opal.c
74967503
F: tools/testing/selftests/powerpc
7497-
N: opal
74987504
N: /pmac
74997505
N: powermac
75007506
N: powernv

arch/arm64/include/asm/cpufeature.h

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -184,16 +184,22 @@ static inline u64 arm64_ftr_reg_user_value(const struct arm64_ftr_reg *reg)
184184
}
185185

186186
static inline int __attribute_const__
187-
cpuid_feature_extract_field(u64 features, int field, bool sign)
187+
cpuid_feature_extract_field_width(u64 features, int field, int width, bool sign)
188188
{
189189
return (sign) ?
190-
cpuid_feature_extract_signed_field(features, field) :
191-
cpuid_feature_extract_unsigned_field(features, field);
190+
cpuid_feature_extract_signed_field_width(features, field, width) :
191+
cpuid_feature_extract_unsigned_field_width(features, field, width);
192+
}
193+
194+
static inline int __attribute_const__
195+
cpuid_feature_extract_field(u64 features, int field, bool sign)
196+
{
197+
return cpuid_feature_extract_field_width(features, field, 4, sign);
192198
}
193199

194200
static inline s64 arm64_ftr_value(const struct arm64_ftr_bits *ftrp, u64 val)
195201
{
196-
return (s64)cpuid_feature_extract_field(val, ftrp->shift, ftrp->sign);
202+
return (s64)cpuid_feature_extract_field_width(val, ftrp->shift, ftrp->width, ftrp->sign);
197203
}
198204

199205
static inline bool id_aa64mmfr0_mixed_endian_el0(u64 mmfr0)

arch/arm64/mm/mmu.c

Lines changed: 4 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -109,10 +109,8 @@ static bool pgattr_change_is_safe(u64 old, u64 new)
109109
static void alloc_init_pte(pmd_t *pmd, unsigned long addr,
110110
unsigned long end, unsigned long pfn,
111111
pgprot_t prot,
112-
phys_addr_t (*pgtable_alloc)(void),
113-
bool page_mappings_only)
112+
phys_addr_t (*pgtable_alloc)(void))
114113
{
115-
pgprot_t __prot = prot;
116114
pte_t *pte;
117115

118116
BUG_ON(pmd_sect(*pmd));
@@ -130,18 +128,7 @@ static void alloc_init_pte(pmd_t *pmd, unsigned long addr,
130128
do {
131129
pte_t old_pte = *pte;
132130

133-
/*
134-
* Set the contiguous bit for the subsequent group of PTEs if
135-
* its size and alignment are appropriate.
136-
*/
137-
if (((addr | PFN_PHYS(pfn)) & ~CONT_PTE_MASK) == 0) {
138-
if (end - addr >= CONT_PTE_SIZE && !page_mappings_only)
139-
__prot = __pgprot(pgprot_val(prot) | PTE_CONT);
140-
else
141-
__prot = prot;
142-
}
143-
144-
set_pte(pte, pfn_pte(pfn, __prot));
131+
set_pte(pte, pfn_pte(pfn, prot));
145132
pfn++;
146133

147134
/*
@@ -160,7 +147,6 @@ static void alloc_init_pmd(pud_t *pud, unsigned long addr, unsigned long end,
160147
phys_addr_t (*pgtable_alloc)(void),
161148
bool page_mappings_only)
162149
{
163-
pgprot_t __prot = prot;
164150
pmd_t *pmd;
165151
unsigned long next;
166152

@@ -187,18 +173,7 @@ static void alloc_init_pmd(pud_t *pud, unsigned long addr, unsigned long end,
187173
/* try section mapping first */
188174
if (((addr | next | phys) & ~SECTION_MASK) == 0 &&
189175
!page_mappings_only) {
190-
/*
191-
* Set the contiguous bit for the subsequent group of
192-
* PMDs if its size and alignment are appropriate.
193-
*/
194-
if (((addr | phys) & ~CONT_PMD_MASK) == 0) {
195-
if (end - addr >= CONT_PMD_SIZE)
196-
__prot = __pgprot(pgprot_val(prot) |
197-
PTE_CONT);
198-
else
199-
__prot = prot;
200-
}
201-
pmd_set_huge(pmd, phys, __prot);
176+
pmd_set_huge(pmd, phys, prot);
202177

203178
/*
204179
* After the PMD entry has been populated once, we
@@ -208,8 +183,7 @@ static void alloc_init_pmd(pud_t *pud, unsigned long addr, unsigned long end,
208183
pmd_val(*pmd)));
209184
} else {
210185
alloc_init_pte(pmd, addr, next, __phys_to_pfn(phys),
211-
prot, pgtable_alloc,
212-
page_mappings_only);
186+
prot, pgtable_alloc);
213187

214188
BUG_ON(pmd_val(old_pmd) != 0 &&
215189
pmd_val(old_pmd) != pmd_val(*pmd));

arch/arm64/mm/proc.S

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -138,7 +138,7 @@ ENDPROC(cpu_do_resume)
138138
* - pgd_phys - physical address of new TTB
139139
*/
140140
ENTRY(cpu_do_switch_mm)
141-
pre_ttbr0_update_workaround x0, x1, x2
141+
pre_ttbr0_update_workaround x0, x2, x3
142142
mmid x1, x1 // get mm->context.id
143143
bfi x0, x1, #48, #16 // set the ASID
144144
msr ttbr0_el1, x0 // set TTBR0

arch/powerpc/Kconfig

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -115,7 +115,7 @@ config PPC
115115
select HAVE_PERF_REGS
116116
select HAVE_PERF_USER_STACK_DUMP
117117
select HAVE_REGS_AND_STACK_ACCESS_API
118-
select HAVE_HW_BREAKPOINT if PERF_EVENTS && PPC_BOOK3S_64
118+
select HAVE_HW_BREAKPOINT if PERF_EVENTS && (PPC_BOOK3S || PPC_8xx)
119119
select ARCH_WANT_IPC_PARSE_VERSION
120120
select SPARSE_IRQ
121121
select IRQ_DOMAIN

0 commit comments

Comments
 (0)