On Thu, Dec 8, 2022 at 1:08 PM Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxxxxxxxx> 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@xxxxxxxxxxxxxxx> > Signed-off-by: Krystian Pradzynski <krystian.pradzynski@xxxxxxxxxxxxxxx> > Signed-off-by: Jacek Lawrynowicz <jacek.lawrynowicz@xxxxxxxxxxxxxxx> > --- > 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