[PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU)
Jeffrey Hugo
quic_jhugo at quicinc.com
Wed May 17 08:12:09 PDT 2023
On 5/17/2023 8:52 AM, Alexandre Bailon wrote:
> This adds a DRM driver that implements communication between the CPU and an
> APU. The driver target embedded device that usually run inference using some
> prebuilt models. The goal is to provide common infrastructure that could be
> re-used to support many accelerators. Both kernel, userspace and firmware tries
> to use standard and existing to leverage the development and maintenance effort.
> The series implements two platform drivers, one for simulation and another one for
> the mt8183 (compatible with mt8365).
This looks like the 3 existing Accel drivers. Why is this in DRM?
> For the people interested by the firmware or userspace library,
> the sources are available here:
> https://gitlab.baylibre.com/baylibre/libapu/libapu
I don't see a compiler. What am I missing?
> The support of APU has to be upstreamed to libdrm.
> Until this is done, you could find the source here:
> https://gitlab.baylibre.com/baylibre/libapu/libdrm/-/tree/abailon/main
>
> The driver for mt8183 depends on this series (which is currently blocked):
> https://patchwork.kernel.org/project/linux-arm-kernel/list/?series=620429
>
> Alexandre Bailon (5):
> drm: Add support of AI Processor Unit (APU)
> drm/apu: Add memory allocator
> drm/apu: Add support of requests
> drm/apu: Add support of IOMMU
> dt-bindings: Add bidings for mtk,apu-drm
>
> Julien Stephan (2):
> drm/apu: allow platform driver to implement their own mmap function
> drm/apu: Add support for a simulated APU
>
> .../devicetree/bindings/gpu/mtk,apu-drm.yaml | 38 ++
> drivers/gpu/drm/Kconfig | 2 +
> drivers/gpu/drm/Makefile | 1 +
> drivers/gpu/drm/apu/Kconfig | 22 +
> drivers/gpu/drm/apu/Makefile | 10 +
> drivers/gpu/drm/apu/apu_drv.c | 282 +++++++++
> drivers/gpu/drm/apu/apu_gem.c | 230 +++++++
> drivers/gpu/drm/apu/apu_internal.h | 205 ++++++
> drivers/gpu/drm/apu/apu_sched.c | 592 ++++++++++++++++++
> drivers/gpu/drm/apu/simu_apu.c | 313 +++++++++
> include/uapi/drm/apu_drm.h | 81 +++
"apu" seems too generic. We already have 3 "AI processing units" over
in drivers/accel already...
> 11 files changed, 1776 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpu/mtk,apu-drm.yaml
> create mode 100644 drivers/gpu/drm/apu/Kconfig
> create mode 100644 drivers/gpu/drm/apu/Makefile
> create mode 100644 drivers/gpu/drm/apu/apu_drv.c
> create mode 100644 drivers/gpu/drm/apu/apu_gem.c
> create mode 100644 drivers/gpu/drm/apu/apu_internal.h
> create mode 100644 drivers/gpu/drm/apu/apu_sched.c
> create mode 100644 drivers/gpu/drm/apu/simu_apu.c
> create mode 100644 include/uapi/drm/apu_drm.h
>
I feel like device/driver based documentation in Documentation/ would
really help in reviews.
-Jeff
More information about the linux-arm-kernel
mailing list