mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2025-12-27 12:21:22 -05:00
Hydra Home Agent is a device used to maintain cache coherency. Add support for explicit cache maintenance operations using it. A system has multiple of these agents. Whilst only one agent is responsible for a given cache line, interleave means that for a range operation, responsibility for the cache lines making up the range will typically be spread across multiple instances. Put this driver on a new Kconfig menu under drivers/cache. The short description as memory hotplug like operations is intended to cover the somewhat complex set of cases where this unit applies and differentiate it clearly from typical non coherent DMA flows. Co-developed-by: Yicong Yang <yangyicong@hisilicon.com> Signed-off-by: Yicong Yang <yangyicong@hisilicon.com> Signed-off-by: Yushan Wang <wangyushan12@huawei.com> Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com> Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
57 lines
1.6 KiB
Plaintext
57 lines
1.6 KiB
Plaintext
# SPDX-License-Identifier: GPL-2.0
|
|
|
|
menuconfig CACHEMAINT_FOR_DMA
|
|
bool "Cache management for noncoherent DMA"
|
|
depends on RISCV
|
|
default y
|
|
help
|
|
These drivers implement support for noncoherent DMA master devices
|
|
on platforms that lack the standard CPU interfaces for this.
|
|
|
|
if CACHEMAINT_FOR_DMA
|
|
|
|
config AX45MP_L2_CACHE
|
|
bool "Andes Technology AX45MP L2 Cache controller"
|
|
select RISCV_NONSTANDARD_CACHE_OPS
|
|
help
|
|
Support for the L2 cache controller on Andes Technology AX45MP platforms.
|
|
|
|
config SIFIVE_CCACHE
|
|
bool "Sifive Composable Cache controller"
|
|
depends on ARCH_SIFIVE || ARCH_STARFIVE
|
|
help
|
|
Support for the composable cache controller on SiFive platforms.
|
|
|
|
config STARFIVE_STARLINK_CACHE
|
|
bool "StarFive StarLink Cache controller"
|
|
depends on ARCH_STARFIVE
|
|
depends on 64BIT
|
|
select RISCV_DMA_NONCOHERENT
|
|
select RISCV_NONSTANDARD_CACHE_OPS
|
|
help
|
|
Support for the StarLink cache controller IP from StarFive.
|
|
|
|
endif #CACHEMAINT_FOR_DMA
|
|
|
|
menuconfig CACHEMAINT_FOR_HOTPLUG
|
|
bool "Cache management for memory hot plug like operations"
|
|
depends on GENERIC_CPU_CACHE_MAINTENANCE
|
|
help
|
|
These drivers implement cache management for flows where it is necessary
|
|
to flush data from all host caches.
|
|
|
|
if CACHEMAINT_FOR_HOTPLUG
|
|
|
|
config HISI_SOC_HHA
|
|
tristate "HiSilicon Hydra Home Agent (HHA) device driver"
|
|
depends on (ARM64 && ACPI) || COMPILE_TEST
|
|
help
|
|
The Hydra Home Agent (HHA) is responsible for cache coherency
|
|
on the SoC. This drivers enables the cache maintenance functions of
|
|
the HHA.
|
|
|
|
This driver can be built as a module. If so, the module will be
|
|
called hisi_soc_hha.
|
|
|
|
endif #CACHEMAINT_FOR_HOTPLUG
|