[PATCH v3 RESEND 0/7] New DRM driver for Intel VPU
Thomas Zimmermann
tzimmermann at suse.de
Tue Nov 1 08:58:08 UTC 2022
Hi
Am 24.09.22 um 17:11 schrieb Jacek Lawrynowicz:
> Hi,
>
> This patchset contains a new Linux* Kernel Driver for Intel® VPUs.
>
> VPU stands for Versatile Processing Unit and it is an AI inference accelerator
> integrated with Intel non-server CPUs starting from 14th generation.
> VPU enables efficient execution of Deep Learning applications
> like object detection, classification etc.
>
> Driver is part of gpu/drm subsystem because VPU is similar in operation to
> an integrated GPU. Reusing drm driver init, ioctl handling, gem and prime
> helpers and drm_mm allows to minimize code duplication in the kernel.
>
> The whole driver is licensed under GPL-2.0-only except for two headers imported
> from the firmware that are MIT licensed.
>
> User mode driver stack consists of Level Zero API driver and OpenVINO plugin.
> Both should be open-sourced by the end of Q4.
> The firmware for the VPU will be distributed as a closed source binary.
>
> I'm resending v3 patchset with correct Dave's email.
>
> Regards,
> Jacek
>
> v3:
> - Fixed alignment warning in ivpu_ipc.c when building with W=1
>
> v2: https://lore.kernel.org/all/20220913121017.993825-1-jacek.lawrynowicz@linux.intel.com/
> - Rename the driver from "drm/vpu" to "drm/ivpu"
> - Add a TODO file
> - Add support for WC buffers
>
> v1: https://lore.kernel.org/all/20220728131709.1087188-1-jacek.lawrynowicz@linux.intel.com/
>
> Jacek Lawrynowicz (7):
> drm/ivpu: Introduce a new DRM driver for Intel VPU
> drm/ivpu: Add Intel VPU MMU support
> drm/ivpu: Add GEM buffer object management
> drm/ivpu: Add IPC driver and JSM messages
> drm/ivpu: Implement firmware parsing and booting
> drm/ivpu: Add command buffer submission logic
> drm/ivpu: Add PM support
>
> MAINTAINERS | 8 +
> drivers/gpu/drm/Kconfig | 2 +
> drivers/gpu/drm/Makefile | 1 +
> drivers/gpu/drm/ivpu/Kconfig | 12 +
> drivers/gpu/drm/ivpu/Makefile | 16 +
> drivers/gpu/drm/ivpu/TODO | 7 +
> drivers/gpu/drm/ivpu/ivpu_drv.c | 643 ++++++++++++++
> drivers/gpu/drm/ivpu/ivpu_drv.h | 178 ++++
> drivers/gpu/drm/ivpu/ivpu_fw.c | 426 +++++++++
> drivers/gpu/drm/ivpu/ivpu_fw.h | 38 +
> drivers/gpu/drm/ivpu/ivpu_gem.c | 836 ++++++++++++++++++
> drivers/gpu/drm/ivpu/ivpu_gem.h | 128 +++
> drivers/gpu/drm/ivpu/ivpu_hw.h | 169 ++++
> drivers/gpu/drm/ivpu/ivpu_hw_mtl.c | 1060 +++++++++++++++++++++++
> drivers/gpu/drm/ivpu/ivpu_hw_mtl_reg.h | 468 ++++++++++
> drivers/gpu/drm/ivpu/ivpu_hw_reg_io.h | 115 +++
> drivers/gpu/drm/ivpu/ivpu_ipc.c | 508 +++++++++++
> drivers/gpu/drm/ivpu/ivpu_ipc.h | 90 ++
> drivers/gpu/drm/ivpu/ivpu_job.c | 629 ++++++++++++++
> drivers/gpu/drm/ivpu/ivpu_job.h | 73 ++
> drivers/gpu/drm/ivpu/ivpu_jsm_msg.c | 220 +++++
> drivers/gpu/drm/ivpu/ivpu_jsm_msg.h | 25 +
> drivers/gpu/drm/ivpu/ivpu_mmu.c | 888 +++++++++++++++++++
> drivers/gpu/drm/ivpu/ivpu_mmu.h | 53 ++
> drivers/gpu/drm/ivpu/ivpu_mmu_context.c | 419 +++++++++
> drivers/gpu/drm/ivpu/ivpu_mmu_context.h | 49 ++
> drivers/gpu/drm/ivpu/ivpu_pm.c | 352 ++++++++
> drivers/gpu/drm/ivpu/ivpu_pm.h | 38 +
> drivers/gpu/drm/ivpu/vpu_boot_api.h | 241 ++++++
> drivers/gpu/drm/ivpu/vpu_jsm_api.h | 616 +++++++++++++
> include/uapi/drm/ivpu_drm.h | 343 ++++++++
You have to add yourself to MAINTAINERS.
I assume that there's a FOSS userspace available?
Best regards
Thomas
> 31 files changed, 8651 insertions(+)
> create mode 100644 drivers/gpu/drm/ivpu/Kconfig
> create mode 100644 drivers/gpu/drm/ivpu/Makefile
> create mode 100644 drivers/gpu/drm/ivpu/TODO
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_drv.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_drv.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_fw.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_fw.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_gem.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_gem.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_hw.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_hw_mtl.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_hw_mtl_reg.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_hw_reg_io.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_ipc.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_ipc.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_job.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_job.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_jsm_msg.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_jsm_msg.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_mmu.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_mmu.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_mmu_context.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_mmu_context.h
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_pm.c
> create mode 100644 drivers/gpu/drm/ivpu/ivpu_pm.h
> create mode 100644 drivers/gpu/drm/ivpu/vpu_boot_api.h
> create mode 100644 drivers/gpu/drm/ivpu/vpu_jsm_api.h
> create mode 100644 include/uapi/drm/ivpu_drm.h
>
> --
> 2.34.1
--
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Ivo Totev
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/dri-devel/attachments/20221101/8dea7a8c/attachment.sig>
More information about the dri-devel
mailing list