devicetree.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v15 0/3] iommu/arm-smmu-v3: Add stall support
@ 2021-05-26 16:19 Jean-Philippe Brucker
  2021-05-26 16:19 ` [PATCH v15 1/3] dt-bindings: document stall property for IOMMU masters Jean-Philippe Brucker
                   ` (3 more replies)
  0 siblings, 4 replies; 6+ messages in thread
From: Jean-Philippe Brucker @ 2021-05-26 16:19 UTC (permalink / raw)
  To: joro, will
  Cc: robh+dt, lorenzo.pieralisi, guohanjun, sudeep.holla, rjw, lenb,
	robin.murphy, Jonathan.Cameron, eric.auger, zhangfei.gao,
	wangzhou1, iommu, devicetree, linux-acpi, linux-arm-kernel,
	Jean-Philippe Brucker

Add stall support for SMMUv3, enabling I/O page faults and SVA for
compatible devices. No change since last version [1], but I'd still like
this to be considered for upstream, because there exists hardware and
applications.

Stall is implemented by the Kunpeng 920 processor for its compression
and crypto accelerators, with which I tested the SVA infrastructure.
Using the userspace accelerator API [2], a program can obtain a queue
from one of these devices and submit compression or encryption work
within the program's address space. UADK [3] provides a library to do
this, and there is an openssl plugin [4] to use it.

That's probably as far as we can go in terms of real users of SVA at the
moment, since userspace won't progress much further without upstream
kernel support - these three patches.

Stall is only enabled if the firmware declares that the device supports
stalling (explicit flags from patches 1 and 2) or, in the case of the
Kunpeng 920, with a quirk [5]. If that property is not set, stall will
still be disabled in the STE and CD, and this series should not have any
negative impact on existing systems.

[1] https://lore.kernel.org/linux-iommu/20210401154718.307519-1-jean-philippe@linaro.org/
[2] Documentation/misc-devices/uacce.rst
[3] https://github.com/Linaro/uadk
[4] https://github.com/Linaro/openssl-uadk
[5] https://lore.kernel.org/linux-pci/1615258837-12189-1-git-send-email-zhangfei.gao@linaro.org/
    FWIW future devices should implement PRI:
    https://lore.kernel.org/linux-pci/5FD9EE6E.1040505@hisilicon.com/

Jean-Philippe Brucker (3):
  dt-bindings: document stall property for IOMMU masters
  ACPI/IORT: Enable stall support for platform devices
  iommu/arm-smmu-v3: Add stall support for platform devices

 .../devicetree/bindings/iommu/iommu.txt       |  18 ++
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.h   |  43 ++++
 drivers/acpi/arm64/iort.c                     |   4 +-
 .../iommu/arm/arm-smmu-v3/arm-smmu-v3-sva.c   |  59 +++++-
 drivers/iommu/arm/arm-smmu-v3/arm-smmu-v3.c   | 196 +++++++++++++++++-
 5 files changed, 304 insertions(+), 16 deletions(-)

-- 
2.31.1


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

end of thread, other threads:[~2021-06-09  9:44 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-05-26 16:19 [PATCH v15 0/3] iommu/arm-smmu-v3: Add stall support Jean-Philippe Brucker
2021-05-26 16:19 ` [PATCH v15 1/3] dt-bindings: document stall property for IOMMU masters Jean-Philippe Brucker
2021-05-26 16:19 ` [PATCH v15 2/3] ACPI/IORT: Enable stall support for platform devices Jean-Philippe Brucker
2021-05-26 16:19 ` [PATCH v15 3/3] iommu/arm-smmu-v3: Add " Jean-Philippe Brucker
2021-06-08 11:42 ` [PATCH v15 0/3] iommu/arm-smmu-v3: Add stall support Will Deacon
2021-06-09  9:43   ` Jean-Philippe Brucker

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).