Skip to content

Commit 11efc1c

Browse files
committed
Merge tag 'soc-drivers-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc
Pull more SoC driver updates from Arnd Bergmann: "These updates came a little late, or were based on a later 6.18-rc tag than the others: - A new driver for cache management on cxl devices with memory shared in a coherent cluster. This is part of the drivers/cache/ tree, but unlike the other drivers that back the dma-mapping interfaces, this one is needed only during CPU hotplug. - A shared branch for reset controllers using swnode infrastructure - Added support for new SoC variants in the Amlogic soc_device identification - Minor updates in Freescale, Microchip, Samsung, and Apple SoC drivers" * tag 'soc-drivers-6.19-2' of git://git.kernel.org/pub/scm/linux/kernel/git/soc/soc: (24 commits) soc: samsung: exynos-pmu: fix device leak on regmap lookup soc: samsung: exynos-pmu: Fix structure initialization soc: fsl: qbman: use kmalloc_array() instead of kmalloc() soc: fsl: qbman: add WQ_PERCPU to alloc_workqueue users MAINTAINERS: Update email address for Christophe Leroy MAINTAINERS: refer to intended file in STANDALONE CACHE CONTROLLER DRIVERS cache: Support cache maintenance for HiSilicon SoC Hydra Home Agent cache: Make top level Kconfig menu a boolean dependent on RISCV MAINTAINERS: Add Jonathan Cameron to drivers/cache and add lib/cache_maint.c + header arm64: Select GENERIC_CPU_CACHE_MAINTENANCE lib: Support ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION soc: amlogic: meson-gx-socinfo: add new SoCs id dt-bindings: arm: amlogic: meson-gx-ao-secure: support more SoCs memregion: Support fine grained invalidate by cpu_cache_invalidate_memregion() memregion: Drop unused IORES_DESC_* parameter from cpu_cache_invalidate_memregion() dt-bindings: cache: sifive,ccache0: add a pic64gx compatible MAINTAINERS: rename Microchip RISC-V entry MAINTAINERS: add new soc drivers to Microchip RISC-V entry soc: microchip: add mfd drivers for two syscon regions on PolarFire SoC dt-bindings: soc: microchip: document the simple-mfd syscon on PolarFire SoC ...
2 parents 208eed9 + 68f9bbf commit 11efc1c

29 files changed

Lines changed: 648 additions & 47 deletions

.mailmap

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -186,6 +186,9 @@ Christian Brauner <brauner@kernel.org> <christian@brauner.io>
186186
Christian Brauner <brauner@kernel.org> <christian.brauner@canonical.com>
187187
Christian Brauner <brauner@kernel.org> <christian.brauner@ubuntu.com>
188188
Christian Marangi <ansuelsmth@gmail.com>
189+
Christophe Leroy <chleroy@kernel.org> <christophe.leroy@c-s.fr>
190+
Christophe Leroy <chleroy@kernel.org> <christophe.leroy@csgroup.eu>
191+
Christophe Leroy <chleroy@kernel.org> <christophe.leroy2@cs-soprasteria.com>
189192
Christophe Ricard <christophe.ricard@gmail.com>
190193
Christopher Obbard <christopher.obbard@linaro.org> <chris.obbard@collabora.com>
191194
Christoph Hellwig <hch@lst.de>

Documentation/devicetree/bindings/arm/amlogic/amlogic,meson-gx-ao-secure.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,9 @@ properties:
3434
- amlogic,a4-ao-secure
3535
- amlogic,c3-ao-secure
3636
- amlogic,s4-ao-secure
37+
- amlogic,s6-ao-secure
38+
- amlogic,s7-ao-secure
39+
- amlogic,s7d-ao-secure
3740
- amlogic,t7-ao-secure
3841
- const: amlogic,meson-gx-ao-secure
3942
- const: syscon

Documentation/devicetree/bindings/cache/sifive,ccache0.yaml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,11 @@ properties:
4848
- const: microchip,mpfs-ccache
4949
- const: sifive,fu540-c000-ccache
5050
- const: cache
51+
- items:
52+
- const: microchip,pic64gx-ccache
53+
- const: microchip,mpfs-ccache
54+
- const: sifive,fu540-c000-ccache
55+
- const: cache
5156

5257
cache-block-size:
5358
const: 64
Lines changed: 47 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
# SPDX-License-Identifier: GPL-2.0-only OR BSD-2-Clause
2+
%YAML 1.2
3+
---
4+
$id: http://devicetree.org/schemas/soc/microchip/microchip,mpfs-mss-top-sysreg.yaml#
5+
$schema: http://devicetree.org/meta-schemas/core.yaml#
6+
7+
title: Microchip PolarFire SoC Microprocessor Subsystem (MSS) sysreg register region
8+
9+
maintainers:
10+
- Conor Dooley <conor.dooley@microchip.com>
11+
12+
description:
13+
An wide assortment of registers that control elements of the MSS on PolarFire
14+
SoC, including pinmuxing, resets and clocks among others.
15+
16+
properties:
17+
compatible:
18+
items:
19+
- const: microchip,mpfs-mss-top-sysreg
20+
- const: syscon
21+
22+
reg:
23+
maxItems: 1
24+
25+
'#reset-cells':
26+
description:
27+
The AHB/AXI peripherals on the PolarFire SoC have reset support, so
28+
from CLK_ENVM to CLK_CFM. The reset consumer should specify the
29+
desired peripheral via the clock ID in its "resets" phandle cell.
30+
See include/dt-bindings/clock/microchip,mpfs-clock.h for the full list
31+
of PolarFire clock/reset IDs.
32+
const: 1
33+
34+
required:
35+
- compatible
36+
- reg
37+
38+
additionalProperties: false
39+
40+
examples:
41+
- |
42+
syscon@20002000 {
43+
compatible = "microchip,mpfs-mss-top-sysreg", "syscon";
44+
reg = <0x20002000 0x1000>;
45+
#reset-cells = <1>;
46+
};
47+

MAINTAINERS

Lines changed: 11 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -4590,7 +4590,7 @@ F: drivers/net/ethernet/netronome/nfp/bpf/
45904590

45914591
BPF JIT for POWERPC (32-BIT AND 64-BIT)
45924592
M: Hari Bathini <hbathini@linux.ibm.com>
4593-
M: Christophe Leroy <christophe.leroy@csgroup.eu>
4593+
M: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
45944594
R: Naveen N Rao <naveen@kernel.org>
45954595
L: bpf@vger.kernel.org
45964596
S: Supported
@@ -10082,7 +10082,7 @@ F: drivers/spi/spi-fsl-qspi.c
1008210082

1008310083
FREESCALE QUICC ENGINE LIBRARY
1008410084
M: Qiang Zhao <qiang.zhao@nxp.com>
10085-
M: Christophe Leroy <christophe.leroy@csgroup.eu>
10085+
M: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
1008610086
L: linuxppc-dev@lists.ozlabs.org
1008710087
S: Maintained
1008810088
F: drivers/soc/fsl/qe/
@@ -10135,7 +10135,7 @@ S: Maintained
1013510135
F: drivers/tty/serial/ucc_uart.c
1013610136

1013710137
FREESCALE SOC DRIVERS
10138-
M: Christophe Leroy <christophe.leroy@csgroup.eu>
10138+
M: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
1013910139
L: linuxppc-dev@lists.ozlabs.org
1014010140
L: linux-arm-kernel@lists.infradead.org (moderated for non-subscribers)
1014110141
S: Maintained
@@ -14400,7 +14400,7 @@ LINUX FOR POWERPC (32-BIT AND 64-BIT)
1440014400
M: Madhavan Srinivasan <maddy@linux.ibm.com>
1440114401
M: Michael Ellerman <mpe@ellerman.id.au>
1440214402
R: Nicholas Piggin <npiggin@gmail.com>
14403-
R: Christophe Leroy <christophe.leroy@csgroup.eu>
14403+
R: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
1440414404
L: linuxppc-dev@lists.ozlabs.org
1440514405
S: Supported
1440614406
W: https://github.com/linuxppc/wiki/wiki
@@ -14456,7 +14456,7 @@ F: Documentation/devicetree/bindings/powerpc/fsl/
1445614456
F: arch/powerpc/platforms/85xx/
1445714457

1445814458
LINUX FOR POWERPC EMBEDDED PPC8XX AND PPC83XX
14459-
M: Christophe Leroy <christophe.leroy@csgroup.eu>
14459+
M: Christophe Leroy (CS GROUP) <chleroy@kernel.org>
1446014460
L: linuxppc-dev@lists.ozlabs.org
1446114461
S: Maintained
1446214462
F: arch/powerpc/platforms/8xx/
@@ -22316,7 +22316,7 @@ T: git git://git.kernel.org/pub/scm/linux/kernel/git/iommu/linux.git
2231622316
F: Documentation/devicetree/bindings/iommu/riscv,iommu.yaml
2231722317
F: drivers/iommu/riscv/
2231822318

22319-
RISC-V MICROCHIP FPGA SUPPORT
22319+
RISC-V MICROCHIP SUPPORT
2232022320
M: Conor Dooley <conor.dooley@microchip.com>
2232122321
M: Daire McNamara <daire.mcnamara@microchip.com>
2232222322
L: linux-riscv@lists.infradead.org
@@ -22343,6 +22343,8 @@ F: drivers/pci/controller/plda/pcie-microchip-host.c
2234322343
F: drivers/pwm/pwm-microchip-core.c
2234422344
F: drivers/reset/reset-mpfs.c
2234522345
F: drivers/rtc/rtc-mpfs.c
22346+
F: drivers/soc/microchip/mpfs-control-scb.c
22347+
F: drivers/soc/microchip/mpfs-mss-top-sysreg.c
2234622348
F: drivers/soc/microchip/mpfs-sys-controller.c
2234722349
F: drivers/spi/spi-microchip-core-qspi.c
2234822350
F: drivers/spi/spi-mpfs.c
@@ -24696,10 +24698,13 @@ F: drivers/staging/
2469624698

2469724699
STANDALONE CACHE CONTROLLER DRIVERS
2469824700
M: Conor Dooley <conor@kernel.org>
24701+
M: Jonathan Cameron <jonathan.cameron@huawei.com>
2469924702
S: Maintained
2470024703
T: git https://git.kernel.org/pub/scm/linux/kernel/git/conor/linux.git/
2470124704
F: Documentation/devicetree/bindings/cache/
2470224705
F: drivers/cache
24706+
F: include/linux/cache_coherency.h
24707+
F: lib/cache_maint.c
2470324708

2470424709
STARFIRE/DURALAN NETWORK DRIVER
2470524710
M: Ion Badulescu <ionut@badula.org>

arch/arm64/Kconfig

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ config ARM64
2121
select ARCH_ENABLE_THP_MIGRATION if TRANSPARENT_HUGEPAGE
2222
select ARCH_HAS_CACHE_LINE_SIZE
2323
select ARCH_HAS_CC_PLATFORM
24+
select ARCH_HAS_CPU_CACHE_INVALIDATE_MEMREGION
2425
select ARCH_HAS_CURRENT_STACK_POINTER
2526
select ARCH_HAS_DEBUG_VIRTUAL
2627
select ARCH_HAS_DEBUG_VM_PGTABLE
@@ -148,6 +149,7 @@ config ARM64
148149
select GENERIC_ARCH_TOPOLOGY
149150
select GENERIC_CLOCKEVENTS_BROADCAST
150151
select GENERIC_CPU_AUTOPROBE
152+
select GENERIC_CPU_CACHE_MAINTENANCE
151153
select GENERIC_CPU_DEVICES
152154
select GENERIC_CPU_VULNERABILITIES
153155
select GENERIC_EARLY_IOREMAP

arch/x86/mm/pat/set_memory.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -368,7 +368,7 @@ bool cpu_cache_has_invalidate_memregion(void)
368368
}
369369
EXPORT_SYMBOL_NS_GPL(cpu_cache_has_invalidate_memregion, "DEVMEM");
370370

371-
int cpu_cache_invalidate_memregion(int res_desc)
371+
int cpu_cache_invalidate_memregion(phys_addr_t start, size_t len)
372372
{
373373
if (WARN_ON_ONCE(!cpu_cache_has_invalidate_memregion()))
374374
return -ENXIO;

drivers/cache/Kconfig

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,17 @@
11
# SPDX-License-Identifier: GPL-2.0
2-
menu "Cache Drivers"
2+
3+
menuconfig CACHEMAINT_FOR_DMA
4+
bool "Cache management for noncoherent DMA"
5+
depends on RISCV
6+
default y
7+
help
8+
These drivers implement support for noncoherent DMA master devices
9+
on platforms that lack the standard CPU interfaces for this.
10+
11+
if CACHEMAINT_FOR_DMA
312

413
config AX45MP_L2_CACHE
514
bool "Andes Technology AX45MP L2 Cache controller"
6-
depends on RISCV
715
select RISCV_NONSTANDARD_CACHE_OPS
816
help
917
Support for the L2 cache controller on Andes Technology AX45MP platforms.
@@ -16,12 +24,33 @@ config SIFIVE_CCACHE
1624

1725
config STARFIVE_STARLINK_CACHE
1826
bool "StarFive StarLink Cache controller"
19-
depends on RISCV
2027
depends on ARCH_STARFIVE
2128
depends on 64BIT
2229
select RISCV_DMA_NONCOHERENT
2330
select RISCV_NONSTANDARD_CACHE_OPS
2431
help
2532
Support for the StarLink cache controller IP from StarFive.
2633

27-
endmenu
34+
endif #CACHEMAINT_FOR_DMA
35+
36+
menuconfig CACHEMAINT_FOR_HOTPLUG
37+
bool "Cache management for memory hot plug like operations"
38+
depends on GENERIC_CPU_CACHE_MAINTENANCE
39+
help
40+
These drivers implement cache management for flows where it is necessary
41+
to flush data from all host caches.
42+
43+
if CACHEMAINT_FOR_HOTPLUG
44+
45+
config HISI_SOC_HHA
46+
tristate "HiSilicon Hydra Home Agent (HHA) device driver"
47+
depends on (ARM64 && ACPI) || COMPILE_TEST
48+
help
49+
The Hydra Home Agent (HHA) is responsible for cache coherency
50+
on the SoC. This drivers enables the cache maintenance functions of
51+
the HHA.
52+
53+
This driver can be built as a module. If so, the module will be
54+
called hisi_soc_hha.
55+
56+
endif #CACHEMAINT_FOR_HOTPLUG

drivers/cache/Makefile

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,3 +3,5 @@
33
obj-$(CONFIG_AX45MP_L2_CACHE) += ax45mp_cache.o
44
obj-$(CONFIG_SIFIVE_CCACHE) += sifive_ccache.o
55
obj-$(CONFIG_STARFIVE_STARLINK_CACHE) += starfive_starlink_cache.o
6+
7+
obj-$(CONFIG_HISI_SOC_HHA) += hisi_soc_hha.o

0 commit comments

Comments
 (0)