linux-arm-kernel.lists.infradead.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/5] Add support for Verisilicon IOMMU used by media codec blocks
@ 2025-06-16 14:55 Benjamin Gaignard
  2025-06-16 14:55 ` [PATCH 1/5] dt-bindings: vendor-prefixes: Add Verisilicon Benjamin Gaignard
                   ` (4 more replies)
  0 siblings, 5 replies; 23+ messages in thread
From: Benjamin Gaignard @ 2025-06-16 14:55 UTC (permalink / raw)
  To: joro, will, robin.murphy, robh, krzk+dt, conor+dt, heiko,
	nicolas.dufresne, p.zabel, mchehab
  Cc: iommu, devicetree, linux-kernel, linux-arm-kernel, linux-rockchip,
	linux-media, kernel, Benjamin Gaignard

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #1: Type: text/plain; charset=y, Size: 1832 bytes --]

Hi all,

This patch series adds support for the Verisilicon IOMMU, which is found in front
of hardware encoder and decoder blocks in several SoCs using Verisilicon IP. 
A first implementation of this IOMMU is available on the Rockchip RK3588 SoC.

Rockchip provides a driver for this hardware in their 6.1 kernel branch:
https://github.com/rockchip-linux/kernel/blob/develop-6.1/drivers/iommu/rockchip-iommu-av1d.c

This series includes:
- a new binding for the Verisilicon IOMMU
- a basic driver implementation
- DT updates for RK3588
- integration with the Verisilicon VPU driver.

The driver was forward-ported from Rockchip’s 6.1 implementation, 
the prefix was renamed to vsi for generality, and several fixes were applied.

AV1 decoding was tested using the stateless VPU driver and Fluster.
The test results show a score of 205/239, which confirms that no regressions
were introduced by this series.

Feedback and testing welcome.

Thanks,
Benjamin

Benjamin Gaignard (5):
  dt-bindings: vendor-prefixes: Add Verisilicon
  dt-bindings: iommu: verisilicon: Add binding for VSI IOMMU
  iommu: Add verisilicon IOMMU driver
  arm64: dts: rockchip: Add verisilicon IOMMU node on RK3588
  media: verisilicon: Flush IOMMU before decoding a frame

 .../bindings/iommu/verisilicon,iommu.yaml     |  71 ++
 .../devicetree/bindings/vendor-prefixes.yaml  |   2 +
 arch/arm64/boot/dts/rockchip/rk3588-base.dtsi |  11 +
 drivers/iommu/Kconfig                         |   8 +
 drivers/iommu/Makefile                        |   1 +
 drivers/iommu/vsi-iommu.c                     | 900 ++++++++++++++++++
 .../media/platform/verisilicon/hantro_drv.c   |  11 +
 7 files changed, 1004 insertions(+)
 create mode 100644 Documentation/devicetree/bindings/iommu/verisilicon,iommu.yaml
 create mode 100644 drivers/iommu/vsi-iommu.c

-- 
2.43.0



^ permalink raw reply	[flat|nested] 23+ messages in thread

end of thread, other threads:[~2025-06-18 15:18 UTC | newest]

Thread overview: 23+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-06-16 14:55 [PATCH 0/5] Add support for Verisilicon IOMMU used by media codec blocks Benjamin Gaignard
2025-06-16 14:55 ` [PATCH 1/5] dt-bindings: vendor-prefixes: Add Verisilicon Benjamin Gaignard
2025-06-16 15:15   ` Conor Dooley
2025-06-16 14:55 ` [PATCH 2/5] dt-bindings: iommu: verisilicon: Add binding for VSI IOMMU Benjamin Gaignard
2025-06-16 15:14   ` Conor Dooley
2025-06-16 15:30     ` Benjamin Gaignard
2025-06-16 15:42       ` Conor Dooley
2025-06-16 15:50         ` Benjamin Gaignard
2025-06-16 15:58           ` Conor Dooley
2025-06-16 16:06             ` Benjamin Gaignard
2025-06-16 21:19     ` Nicolas Dufresne
2025-06-16 14:55 ` [PATCH 3/5] iommu: Add verisilicon IOMMU driver Benjamin Gaignard
2025-06-17 13:04   ` Diederik de Haas
2025-06-17 13:48     ` Benjamin Gaignard
2025-06-17 16:32   ` Jason Gunthorpe
2025-06-18 12:04     ` Benjamin Gaignard
2025-06-18 13:27       ` Jason Gunthorpe
2025-06-18  4:53   ` kernel test robot
2025-06-16 14:55 ` [PATCH 4/5] arm64: dts: rockchip: Add verisilicon IOMMU node on RK3588 Benjamin Gaignard
2025-06-16 14:55 ` [PATCH 5/5] media: verisilicon: Flush IOMMU before decoding a frame Benjamin Gaignard
2025-06-17 15:58   ` Jason Gunthorpe
2025-06-17 16:01     ` Benjamin Gaignard
2025-06-17 16:04       ` Robin Murphy

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).