[PATCH v4 1/7] accel/ivpu: Introduce a new DRM driver for Intel VPU

Jacek Lawrynowicz jacek.lawrynowicz at linux.intel.com
Wed Dec 21 08:25:28 UTC 2022


Hi,

On 20.12.2022 21:17, Oded Gabbay wrote:
> 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.
> 

Sure, I will rename it.

Regards,
Jacek



More information about the dri-devel mailing list