[PATCH v4 1/7] accel/ivpu: Introduce a new DRM driver for Intel VPU
Oded Gabbay
oded.gabbay at gmail.com
Tue Dec 20 20:17:30 UTC 2022
On Thu, Dec 8, 2022 at 1:08 PM Jacek Lawrynowicz
<jacek.lawrynowicz at linux.intel.com> wrote:
>
> VPU stands for Versatile Processing Unit and it's a CPU-integrated
> inference accelerator for Computer Vision and Deep Learning
> applications.
>
> The VPU device consist of following components:
> - Buttress - provides CPU to VPU integration, interrupt, frequency and
> power management.
> - Memory Management Unit (based on ARM MMU-600) - translates VPU to
> host DMA addresses, isolates user workloads.
> - RISC based microcontroller - executes firmware that provides job
> execution API for the kernel-mode driver
> - Neural Compute Subsystem (NCS) - does the actual work, provides
> Compute and Copy engines.
> - Network on Chip (NoC) - network fabric connecting all the components
>
> This driver supports VPU IP v2.7 integrated into Intel Meteor Lake
> client CPUs (14th generation).
>
> Module sources are at drivers/accel/ivpu and module name is
> "intel_vpu.ko".
>
> This patch includes only very besic functionality:
> - module, PCI device and IRQ initialization
> - register definitions and low level register manipulation functions
> - SET/GET_PARAM ioctls
> - power up without firmware
>
> Co-developed-by: Krystian Pradzynski <krystian.pradzynski at linux.intel.com>
> Signed-off-by: Krystian Pradzynski <krystian.pradzynski at linux.intel.com>
> Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz at linux.intel.com>
> ---
> MAINTAINERS | 9 +
> drivers/Makefile | 1 +
> drivers/accel/Kconfig | 2 +
> drivers/accel/Makefile | 3 +
> drivers/accel/ivpu/Kconfig | 15 +
> drivers/accel/ivpu/Makefile | 8 +
> drivers/accel/ivpu/TODO | 7 +
> drivers/accel/ivpu/ivpu_drv.c | 359 +++++++++
> drivers/accel/ivpu/ivpu_drv.h | 162 ++++
> drivers/accel/ivpu/ivpu_hw.h | 170 +++++
> drivers/accel/ivpu/ivpu_hw_mtl.c | 1048 ++++++++++++++++++++++++++
> drivers/accel/ivpu/ivpu_hw_mtl_reg.h | 280 +++++++
> drivers/accel/ivpu/ivpu_hw_reg_io.h | 115 +++
> include/uapi/drm/ivpu_drm.h | 95 +++
> 14 files changed, 2274 insertions(+)
Another thing I would like to ask you to do is to rename ivpu_drm.h to
ivpu_accel.h to make it clear this is an accel uapi file and not a
classic drm driver uapi file.
i.e. to make it clear it exposes the accel device char nodes, sysfs, etc.
But leave it in include/uapi/drm, because we might still need drm.h
down the road.
Thanks,
Oded
More information about the dri-devel
mailing list