Skip to content

Commit 4de51e8

Browse files
committed
spi: spi-fsl-lpspi: Generic fixes and support for
Merge series from James Clark <[email protected]>: Various fixes for LPSI along with some refactorings. None of the fixes are strictly related to S32G, however these changes all originate from the work to support S32G devices. The only commits that are strictly related are for the new s32g2 and s32g3 compatible strings.
2 parents 7446284 + 431f6c8 commit 4de51e8

File tree

323 files changed

+3028
-2017
lines changed

Some content is hidden

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

323 files changed

+3028
-2017
lines changed

CREDITS

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3222,6 +3222,10 @@ D: AIC5800 IEEE 1394, RAW I/O on 1394
32223222
D: Starter of Linux1394 effort
32233223
S: ask per mail for current address
32243224

3225+
N: Boris Pismenny
3226+
3227+
D: Kernel TLS implementation and offload support.
3228+
32253229
N: Nicolas Pitre
32263230
32273231
D: StrongARM SA1100 support integrator & hacker
@@ -4168,6 +4172,9 @@ S: 1513 Brewster Dr.
41684172
S: Carrollton, TX 75010
41694173
S: USA
41704174

4175+
N: Dave Watson
4176+
D: Kernel TLS implementation.
4177+
41714178
N: Tim Waugh
41724179
41734180
D: Co-architect of the parallel-port sharing system

Documentation/admin-guide/hw-vuln/attack_vector_controls.rst

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -215,7 +215,7 @@ Spectre_v2 X X
215215
Spectre_v2_user X X * (Note 1)
216216
SRBDS X X X X
217217
SRSO X X X X
218-
SSB (Note 4)
218+
SSB X
219219
TAA X X X X * (Note 2)
220220
TSA X X X X
221221
=============== ============== ============ ============= ============== ============ ========
@@ -229,9 +229,6 @@ Notes:
229229
3 -- Disables SMT if cross-thread mitigations are fully enabled, the CPU is
230230
vulnerable, and STIBP is not supported
231231

232-
4 -- Speculative store bypass is always enabled by default (no kernel
233-
mitigation applied) unless overridden with spec_store_bypass_disable option
234-
235232
When an attack-vector is disabled, all mitigations for the vulnerabilities
236233
listed in the above table are disabled, unless mitigation is required for a
237234
different enabled attack-vector or a mitigation is explicitly selected via a

Documentation/devicetree/bindings/display/msm/qcom,mdp5.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,6 @@ properties:
6060
- const: bus
6161
- const: core
6262
- const: vsync
63-
- const: lut
6463
- const: tbu
6564
- const: tbu_rt
6665
# MSM8996 has additional iommu clock

Documentation/devicetree/bindings/spi/spi-fsl-lpspi.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -20,13 +20,18 @@ properties:
2020
- enum:
2121
- fsl,imx7ulp-spi
2222
- fsl,imx8qxp-spi
23+
- nxp,s32g2-lpspi
2324
- items:
2425
- enum:
2526
- fsl,imx8ulp-spi
2627
- fsl,imx93-spi
2728
- fsl,imx94-spi
2829
- fsl,imx95-spi
2930
- const: fsl,imx7ulp-spi
31+
- items:
32+
- const: nxp,s32g3-lpspi
33+
- const: nxp,s32g2-lpspi
34+
3035
reg:
3136
maxItems: 1
3237

Documentation/devicetree/bindings/vendor-prefixes.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -507,6 +507,8 @@ patternProperties:
507507
description: Espressif Systems Co. Ltd.
508508
"^est,.*":
509509
description: ESTeem Wireless Modems
510+
"^eswin,.*":
511+
description: Beijing ESWIN Technology Group Co. Ltd.
510512
"^ettus,.*":
511513
description: NI Ettus Research
512514
"^eukrea,.*":

MAINTAINERS

Lines changed: 6 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -931,13 +931,13 @@ F: Documentation/devicetree/bindings/dma/altr,msgdma.yaml
931931
F: drivers/dma/altera-msgdma.c
932932

933933
ALTERA PIO DRIVER
934-
M: Mun Yew Tham <mun.yew.tham@intel.com>
934+
M: Adrian Ng <adrianhoyin.ng@altera.com>
935935
936936
S: Maintained
937937
F: drivers/gpio/gpio-altera.c
938938

939939
ALTERA TRIPLE SPEED ETHERNET DRIVER
940-
M: Joyce Ooi <joyce.ooi@intel.com>
940+
M: Boon Khai Ng <boon.khai.ng@altera.com>
941941
942942
S: Maintained
943943
F: drivers/net/ethernet/altera/
@@ -4205,7 +4205,7 @@ W: http://www.baycom.org/~tom/ham/ham.html
42054205
F: drivers/net/hamradio/baycom*
42064206

42074207
BCACHE (BLOCK LAYER CACHE)
4208-
M: Coly Li <colyli@kernel.org>
4208+
M: Coly Li <colyli@fnnas.com>
42094209
M: Kent Overstreet <[email protected]>
42104210
42114211
S: Maintained
@@ -4216,7 +4216,7 @@ F: drivers/md/bcache/
42164216
BCACHEFS
42174217
M: Kent Overstreet <[email protected]>
42184218
4219-
S: Supported
4219+
S: Externally maintained
42204220
C: irc://irc.oftc.net/bcache
42214221
P: Documentation/filesystems/bcachefs/SubmittingPatches.rst
42224222
T: git https://evilpiepirate.org/git/bcachefs.git
@@ -17848,7 +17848,6 @@ F: net/ipv6/syncookies.c
1784817848
F: net/ipv6/tcp*.c
1784917849

1785017850
NETWORKING [TLS]
17851-
M: Boris Pismenny <[email protected]>
1785217851
M: John Fastabend <[email protected]>
1785317852
M: Jakub Kicinski <[email protected]>
1785417853
@@ -20878,8 +20877,8 @@ S: Maintained
2087820877
F: drivers/firmware/qcom/qcom_qseecom_uefisecapp.c
2087920878

2088020879
QUALCOMM RMNET DRIVER
20881-
M: Subash Abhinov Kasiviswanathan <quic_subashab@quicinc.com>
20882-
M: Sean Tranchetti <quic_stranche@quicinc.com>
20880+
M: Subash Abhinov Kasiviswanathan <[email protected].com>
20881+
M: Sean Tranchetti <[email protected].com>
2088320882
2088420883
S: Maintained
2088520884
F: Documentation/networking/device_drivers/cellular/qualcomm/rmnet.rst

Makefile

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
VERSION = 6
33
PATCHLEVEL = 17
44
SUBLEVEL = 0
5-
EXTRAVERSION = -rc3
5+
EXTRAVERSION = -rc4
66
NAME = Baby Opossum Posse
77

88
# *DOCUMENTATION*

arch/arm/include/asm/stacktrace.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,9 @@
22
#ifndef __ASM_STACKTRACE_H
33
#define __ASM_STACKTRACE_H
44

5-
#include <asm/ptrace.h>
65
#include <linux/llist.h>
6+
#include <asm/ptrace.h>
7+
#include <asm/sections.h>
78

89
struct stackframe {
910
/*

arch/arm64/include/asm/kvm_host.h

Lines changed: 2 additions & 109 deletions
Original file line numberDiff line numberDiff line change
@@ -1160,115 +1160,8 @@ u64 kvm_vcpu_apply_reg_masks(const struct kvm_vcpu *, enum vcpu_sysreg, u64);
11601160
__v; \
11611161
})
11621162

1163-
u64 vcpu_read_sys_reg(const struct kvm_vcpu *vcpu, int reg);
1164-
void vcpu_write_sys_reg(struct kvm_vcpu *vcpu, u64 val, int reg);
1165-
1166-
static inline bool __vcpu_read_sys_reg_from_cpu(int reg, u64 *val)
1167-
{
1168-
/*
1169-
* *** VHE ONLY ***
1170-
*
1171-
* System registers listed in the switch are not saved on every
1172-
* exit from the guest but are only saved on vcpu_put.
1173-
*
1174-
* SYSREGS_ON_CPU *MUST* be checked before using this helper.
1175-
*
1176-
* Note that MPIDR_EL1 for the guest is set by KVM via VMPIDR_EL2 but
1177-
* should never be listed below, because the guest cannot modify its
1178-
* own MPIDR_EL1 and MPIDR_EL1 is accessed for VCPU A from VCPU B's
1179-
* thread when emulating cross-VCPU communication.
1180-
*/
1181-
if (!has_vhe())
1182-
return false;
1183-
1184-
switch (reg) {
1185-
case SCTLR_EL1: *val = read_sysreg_s(SYS_SCTLR_EL12); break;
1186-
case CPACR_EL1: *val = read_sysreg_s(SYS_CPACR_EL12); break;
1187-
case TTBR0_EL1: *val = read_sysreg_s(SYS_TTBR0_EL12); break;
1188-
case TTBR1_EL1: *val = read_sysreg_s(SYS_TTBR1_EL12); break;
1189-
case TCR_EL1: *val = read_sysreg_s(SYS_TCR_EL12); break;
1190-
case TCR2_EL1: *val = read_sysreg_s(SYS_TCR2_EL12); break;
1191-
case PIR_EL1: *val = read_sysreg_s(SYS_PIR_EL12); break;
1192-
case PIRE0_EL1: *val = read_sysreg_s(SYS_PIRE0_EL12); break;
1193-
case POR_EL1: *val = read_sysreg_s(SYS_POR_EL12); break;
1194-
case ESR_EL1: *val = read_sysreg_s(SYS_ESR_EL12); break;
1195-
case AFSR0_EL1: *val = read_sysreg_s(SYS_AFSR0_EL12); break;
1196-
case AFSR1_EL1: *val = read_sysreg_s(SYS_AFSR1_EL12); break;
1197-
case FAR_EL1: *val = read_sysreg_s(SYS_FAR_EL12); break;
1198-
case MAIR_EL1: *val = read_sysreg_s(SYS_MAIR_EL12); break;
1199-
case VBAR_EL1: *val = read_sysreg_s(SYS_VBAR_EL12); break;
1200-
case CONTEXTIDR_EL1: *val = read_sysreg_s(SYS_CONTEXTIDR_EL12);break;
1201-
case TPIDR_EL0: *val = read_sysreg_s(SYS_TPIDR_EL0); break;
1202-
case TPIDRRO_EL0: *val = read_sysreg_s(SYS_TPIDRRO_EL0); break;
1203-
case TPIDR_EL1: *val = read_sysreg_s(SYS_TPIDR_EL1); break;
1204-
case AMAIR_EL1: *val = read_sysreg_s(SYS_AMAIR_EL12); break;
1205-
case CNTKCTL_EL1: *val = read_sysreg_s(SYS_CNTKCTL_EL12); break;
1206-
case ELR_EL1: *val = read_sysreg_s(SYS_ELR_EL12); break;
1207-
case SPSR_EL1: *val = read_sysreg_s(SYS_SPSR_EL12); break;
1208-
case PAR_EL1: *val = read_sysreg_par(); break;
1209-
case DACR32_EL2: *val = read_sysreg_s(SYS_DACR32_EL2); break;
1210-
case IFSR32_EL2: *val = read_sysreg_s(SYS_IFSR32_EL2); break;
1211-
case DBGVCR32_EL2: *val = read_sysreg_s(SYS_DBGVCR32_EL2); break;
1212-
case ZCR_EL1: *val = read_sysreg_s(SYS_ZCR_EL12); break;
1213-
case SCTLR2_EL1: *val = read_sysreg_s(SYS_SCTLR2_EL12); break;
1214-
default: return false;
1215-
}
1216-
1217-
return true;
1218-
}
1219-
1220-
static inline bool __vcpu_write_sys_reg_to_cpu(u64 val, int reg)
1221-
{
1222-
/*
1223-
* *** VHE ONLY ***
1224-
*
1225-
* System registers listed in the switch are not restored on every
1226-
* entry to the guest but are only restored on vcpu_load.
1227-
*
1228-
* SYSREGS_ON_CPU *MUST* be checked before using this helper.
1229-
*
1230-
* Note that MPIDR_EL1 for the guest is set by KVM via VMPIDR_EL2 but
1231-
* should never be listed below, because the MPIDR should only be set
1232-
* once, before running the VCPU, and never changed later.
1233-
*/
1234-
if (!has_vhe())
1235-
return false;
1236-
1237-
switch (reg) {
1238-
case SCTLR_EL1: write_sysreg_s(val, SYS_SCTLR_EL12); break;
1239-
case CPACR_EL1: write_sysreg_s(val, SYS_CPACR_EL12); break;
1240-
case TTBR0_EL1: write_sysreg_s(val, SYS_TTBR0_EL12); break;
1241-
case TTBR1_EL1: write_sysreg_s(val, SYS_TTBR1_EL12); break;
1242-
case TCR_EL1: write_sysreg_s(val, SYS_TCR_EL12); break;
1243-
case TCR2_EL1: write_sysreg_s(val, SYS_TCR2_EL12); break;
1244-
case PIR_EL1: write_sysreg_s(val, SYS_PIR_EL12); break;
1245-
case PIRE0_EL1: write_sysreg_s(val, SYS_PIRE0_EL12); break;
1246-
case POR_EL1: write_sysreg_s(val, SYS_POR_EL12); break;
1247-
case ESR_EL1: write_sysreg_s(val, SYS_ESR_EL12); break;
1248-
case AFSR0_EL1: write_sysreg_s(val, SYS_AFSR0_EL12); break;
1249-
case AFSR1_EL1: write_sysreg_s(val, SYS_AFSR1_EL12); break;
1250-
case FAR_EL1: write_sysreg_s(val, SYS_FAR_EL12); break;
1251-
case MAIR_EL1: write_sysreg_s(val, SYS_MAIR_EL12); break;
1252-
case VBAR_EL1: write_sysreg_s(val, SYS_VBAR_EL12); break;
1253-
case CONTEXTIDR_EL1: write_sysreg_s(val, SYS_CONTEXTIDR_EL12);break;
1254-
case TPIDR_EL0: write_sysreg_s(val, SYS_TPIDR_EL0); break;
1255-
case TPIDRRO_EL0: write_sysreg_s(val, SYS_TPIDRRO_EL0); break;
1256-
case TPIDR_EL1: write_sysreg_s(val, SYS_TPIDR_EL1); break;
1257-
case AMAIR_EL1: write_sysreg_s(val, SYS_AMAIR_EL12); break;
1258-
case CNTKCTL_EL1: write_sysreg_s(val, SYS_CNTKCTL_EL12); break;
1259-
case ELR_EL1: write_sysreg_s(val, SYS_ELR_EL12); break;
1260-
case SPSR_EL1: write_sysreg_s(val, SYS_SPSR_EL12); break;
1261-
case PAR_EL1: write_sysreg_s(val, SYS_PAR_EL1); break;
1262-
case DACR32_EL2: write_sysreg_s(val, SYS_DACR32_EL2); break;
1263-
case IFSR32_EL2: write_sysreg_s(val, SYS_IFSR32_EL2); break;
1264-
case DBGVCR32_EL2: write_sysreg_s(val, SYS_DBGVCR32_EL2); break;
1265-
case ZCR_EL1: write_sysreg_s(val, SYS_ZCR_EL12); break;
1266-
case SCTLR2_EL1: write_sysreg_s(val, SYS_SCTLR2_EL12); break;
1267-
default: return false;
1268-
}
1269-
1270-
return true;
1271-
}
1163+
u64 vcpu_read_sys_reg(const struct kvm_vcpu *, enum vcpu_sysreg);
1164+
void vcpu_write_sys_reg(struct kvm_vcpu *, u64, enum vcpu_sysreg);
12721165

12731166
struct kvm_vm_stat {
12741167
struct kvm_vm_stat_generic generic;

arch/arm64/include/asm/kvm_mmu.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -180,6 +180,7 @@ void kvm_free_stage2_pgd(struct kvm_s2_mmu *mmu);
180180
int kvm_phys_addr_ioremap(struct kvm *kvm, phys_addr_t guest_ipa,
181181
phys_addr_t pa, unsigned long size, bool writable);
182182

183+
int kvm_handle_guest_sea(struct kvm_vcpu *vcpu);
183184
int kvm_handle_guest_abort(struct kvm_vcpu *vcpu);
184185

185186
phys_addr_t kvm_mmu_get_httbr(void);

0 commit comments

Comments
 (0)