StarFive's StarLink Cache Controller flush/invalidates cache using non- conventional RISC-V Zicbom extension instructions. This driver provides the cache handling on StarFive RISC-V SoC. Changes in v4: - Move cache controller initialization to arch_initcall() - Link to v3: https://lore.kernel.org/all/20240424075856.145850-1-joshua.yeong@xxxxxxxxxxxxxxxx/ Changes in v3: - Fix code syntax - Link to v2: https://lore.kernel.org/all/20240423072639.143450-1-joshua.yeong@xxxxxxxxxxxxxxxx/ Changes in v2: - Change patch title from 'Add StarFive's StarLink-500 Cache Controller' - Remove StarFive alternative from errata framework - Fixes warning from https://lore.kernel.org/oe-kbuild-all/202403151625.boKDjHGr-lkp@xxxxxxxxx/ - Flush completion through atomic timeout function - Link to v1: https://lore.kernel.org/lkml/20240314061205.26143-1-joshua.yeong@xxxxxxxxxxxxxxxx/ Joshua Yeong (2): cache: Add StarFive StarLink cache management for StarFive JH8100 dt-bindings: cache: Add docs for StarFive Starlink cache controller Joshua Yeong (2): cache: Add StarFive StarLink cache management dt-bindings: cache: Add docs for StarFive Starlink cache controller .../cache/starfive,jh8100-starlink-cache.yaml | 66 +++++++++ drivers/cache/Kconfig | 9 ++ drivers/cache/Makefile | 5 +- drivers/cache/starfive_starlink_cache.c | 130 ++++++++++++++++++ 4 files changed, 208 insertions(+), 2 deletions(-) create mode 100644 Documentation/devicetree/bindings/cache/starfive,jh8100-starlink-cache.yaml create mode 100644 drivers/cache/starfive_starlink_cache.c -- 2.25.1