accel/rocket: Add a new driver for Rockchip's NPUThis initial version supports the NPU as shipped in the RK3588 SoC anddescribed in the first part of its TRM, in Chapter 36.This NPU contains 3 i
accel/rocket: Add a new driver for Rockchip's NPUThis initial version supports the NPU as shipped in the RK3588 SoC anddescribed in the first part of its TRM, in Chapter 36.This NPU contains 3 independent cores that the driver can submit jobsto.This commit adds just hardware initialization and power management.v2:- Split cores and IOMMUs as independent devices (Sebastian Reichel)- Add some documentation (Jeffrey Hugo)- Be more explicit in the Kconfig documentation (Jeffrey Hugo)- Remove resets, as these haven't been found useful so far (Zenghui Yu)- Repack structs (Jeffrey Hugo)- Use DEFINE_DRM_ACCEL_FOPS (Jeffrey Hugo)- Use devm_drm_dev_alloc (Jeffrey Hugo)- Use probe log helper (Jeffrey Hugo)- Introduce UABI header in a later patch (Jeffrey Hugo)v3:- Adapt to a split of the register block in the DT bindings (Nicolas Frattaroli)- Move registers header to its own commit (Thomas Zimmermann)- Misc. cleanups (Thomas Zimmermann and Jeff Hugo)- Make use of GPL-2.0-only for the copyright notice (Jeff Hugo)- PM improvements (Nicolas Frattaroli)v4:- Use bulk clk API (Krzysztof Kozlowski)v6:- Remove mention to NVDLA, as the hardware is only incidentally related (Kever Yang)- Use calloc instead of GFP_ZERO (Jeff Hugo)- Explicitly include linux/container_of.h (Jeff Hugo)- pclk and npu clocks are now needed by all cores (Rob Herring)v7:- Assign its own IOMMU domain to each client, for isolation (Daniel Stone and Robin Murphy)v8:- Kconfig: fix depends to be more explicit about Rockchip, and remove superfluous selects (Robin Murphy)- Use reset lines to reset the cores (Robin Murphy)- Reference count the module- Set dma_set_max_seg_size- Correctly acquire a reference to the IOMMU (Robin Murphy)- Remove notion of top core (Robin Murphy)Reviewed-by: Robert Foss <rfoss@kernel.org>Tested-by: Heiko Stuebner <heiko@sntech.de>Reviewed-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>Signed-off-by: Tomeu Vizoso <tomeu@tomeuvizoso.net>Signed-off-by: Jeff Hugo <jeff.hugo@oss.qualcomm.com>Link: https://lore.kernel.org/r/20250721-6-10-rocket-v9-2-77ebd484941e@tomeuvizoso.net
show more ...