From: Daniel Vetter <daniel@ffwll.ch>
To: Oded Gabbay <oded.gabbay@gmail.com>
Cc: quic_jhugo@quicinc.com, tzimmermann@suse.de,
dri-devel@lists.freedesktop.org,
stanislaw.gruszka@linux.intel.com,
Jacek Lawrynowicz <jacek.lawrynowicz@linux.intel.com>,
andrzej.kacprowski@linux.intel.com
Subject: Re: [PATCH v5 0/7] New DRM accel driver for Intel VPU
Date: Thu, 19 Jan 2023 10:07:09 +0100 [thread overview]
Message-ID: <Y8kIPSNus5fcmJmd@phenom.ffwll.local> (raw)
In-Reply-To: <CAFCwf12AT4qwdHhKpqYhYCpRKvfbjximF7V-frWedUU0=VvFbg@mail.gmail.com>
On Tue, Jan 10, 2023 at 09:34:00PM +0200, Oded Gabbay wrote:
> On Mon, Jan 9, 2023 at 2:23 PM Jacek Lawrynowicz
> <jacek.lawrynowicz@linux.intel.com> wrote:
> >
> > 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.
> >
> > 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 was open sourced in December 2022 and it is available at:
> > https://github.com/intel/linux-vpu-driver
> >
> > The firmware for the VPU will be distributed as a closed source binary.
> >
> > There are no major chcnages in this version of the patchset.
> > Detailed changes are listed below.
> >
> > Regards,
> > Jacek
>
> Hi Jacek,
> For patches 1-4 and 6 (assuming you fix the small issue in patch 3) you can add
> Reviewed-by: Oded Gabbay <ogabbay@kernel.org>
>
> For patch 5 I had a comment/question, please reply to it. Once we sort
> that thing that patch is also r-b by me.
>
> Patch 7 - I prefer someone else who knows about PM to look at it. In
> habana we don't support power management (in the driver) so I have
> never dealt with that and therefore I have no idea if you use the kapi
> correctly.
Usually the hard part is deadlocks between runtime_resume calls and the
rpm suspend callback. I'm not sure whether lockdep catches these I'm not
sure whether lockdep catches these.
From a very quick look it looks reasonable.
-Daniel
>
> Thanks,
> Oded
>
>
> >
> > Changelog
> >
> > v5:
> > - Rename ivpu_drm.h to ivpu_accel.h
> > - Cleanup ivpu_mmu_config_check()
> > - Optimize locking in ivpu_mmu_cd_add()
> > - Invalidate user context if it has MMU faults
> > - Move ivpu_ipc_match_consumer() outside ivpu_ipc_dispatch()
> >
> > v4: https://lore.kernel.org/all/20221208110733.5498-1-jacek.lawrynowicz@linux.intel.com/
> > - Switch to the accel framework (DRIVER_COMPUTE_ACCEL)
> > - Move the driver from drivers/gpu/drm to drivers/accel
> > - Rename kconfig DRM_IVPU option to DRM_ACCEL_IVPU and update dependencies
> > - Create context on open() instead of lazy allocating it
> > - Remove status_offset from submit ioctl, as status is now reported in bo_wait ioctl
> > - Use managed resources in ivpu_drv.c
> > - Optimize locking in ivpu_ipc.c - add new rx_msg_lock for consumer msg list
> > - Refactor vpu_hw_mtl_reg.h to use BIT_MASK() and GENMASK() macros
> > - Use module_pci_driver() for mudule init
> > - Remove mutex from "struct ivpu_pm_info"
> > - Add explicit "vdev" arg to ivpu_dbg()
> > - Use drm_WARN_ON() instead of WARN_ON() where possible
> > - Add comments for boot related functions
> > - Update firmware API headers
> >
> > v3: https://lore.kernel.org/all/20220924151149.323622-1-jacek.lawrynowicz@linux.intel.com/
> > - 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):
> > accel/ivpu: Introduce a new DRM driver for Intel VPU
> > accel/ivpu: Add Intel VPU MMU support
> > accel/ivpu: Add GEM buffer object management
> > accel/ivpu: Add IPC driver and JSM messages
> > accel/ivpu: Implement firmware parsing and booting
> > accel/ivpu: Add command buffer submission logic
> > accel/ivpu: Add PM support
> >
> > MAINTAINERS | 9 +
> > drivers/Makefile | 1 +
> > drivers/accel/Kconfig | 2 +
> > drivers/accel/Makefile | 3 +
> > drivers/accel/ivpu/Kconfig | 15 +
> > drivers/accel/ivpu/Makefile | 16 +
> > drivers/accel/ivpu/TODO | 9 +
> > drivers/accel/ivpu/ivpu_drv.c | 661 +++++++++++++++
> > drivers/accel/ivpu/ivpu_drv.h | 190 +++++
> > drivers/accel/ivpu/ivpu_fw.c | 423 ++++++++++
> > drivers/accel/ivpu/ivpu_fw.h | 38 +
> > drivers/accel/ivpu/ivpu_gem.c | 846 +++++++++++++++++++
> > drivers/accel/ivpu/ivpu_gem.h | 129 +++
> > drivers/accel/ivpu/ivpu_hw.h | 170 ++++
> > drivers/accel/ivpu/ivpu_hw_mtl.c | 1084 +++++++++++++++++++++++++
> > drivers/accel/ivpu/ivpu_hw_mtl_reg.h | 280 +++++++
> > drivers/accel/ivpu/ivpu_hw_reg_io.h | 115 +++
> > drivers/accel/ivpu/ivpu_ipc.c | 508 ++++++++++++
> > drivers/accel/ivpu/ivpu_ipc.h | 93 +++
> > drivers/accel/ivpu/ivpu_job.c | 614 ++++++++++++++
> > drivers/accel/ivpu/ivpu_job.h | 67 ++
> > drivers/accel/ivpu/ivpu_jsm_msg.c | 170 ++++
> > drivers/accel/ivpu/ivpu_jsm_msg.h | 23 +
> > drivers/accel/ivpu/ivpu_mmu.c | 883 ++++++++++++++++++++
> > drivers/accel/ivpu/ivpu_mmu.h | 50 ++
> > drivers/accel/ivpu/ivpu_mmu_context.c | 398 +++++++++
> > drivers/accel/ivpu/ivpu_mmu_context.h | 50 ++
> > drivers/accel/ivpu/ivpu_pm.c | 329 ++++++++
> > drivers/accel/ivpu/ivpu_pm.h | 38 +
> > drivers/accel/ivpu/vpu_boot_api.h | 349 ++++++++
> > drivers/accel/ivpu/vpu_jsm_api.h | 999 +++++++++++++++++++++++
> > include/uapi/drm/ivpu_accel.h | 339 ++++++++
> > 32 files changed, 8901 insertions(+)
> > create mode 100644 drivers/accel/Makefile
> > create mode 100644 drivers/accel/ivpu/Kconfig
> > create mode 100644 drivers/accel/ivpu/Makefile
> > create mode 100644 drivers/accel/ivpu/TODO
> > create mode 100644 drivers/accel/ivpu/ivpu_drv.c
> > create mode 100644 drivers/accel/ivpu/ivpu_drv.h
> > create mode 100644 drivers/accel/ivpu/ivpu_fw.c
> > create mode 100644 drivers/accel/ivpu/ivpu_fw.h
> > create mode 100644 drivers/accel/ivpu/ivpu_gem.c
> > create mode 100644 drivers/accel/ivpu/ivpu_gem.h
> > create mode 100644 drivers/accel/ivpu/ivpu_hw.h
> > create mode 100644 drivers/accel/ivpu/ivpu_hw_mtl.c
> > create mode 100644 drivers/accel/ivpu/ivpu_hw_mtl_reg.h
> > create mode 100644 drivers/accel/ivpu/ivpu_hw_reg_io.h
> > create mode 100644 drivers/accel/ivpu/ivpu_ipc.c
> > create mode 100644 drivers/accel/ivpu/ivpu_ipc.h
> > create mode 100644 drivers/accel/ivpu/ivpu_job.c
> > create mode 100644 drivers/accel/ivpu/ivpu_job.h
> > create mode 100644 drivers/accel/ivpu/ivpu_jsm_msg.c
> > create mode 100644 drivers/accel/ivpu/ivpu_jsm_msg.h
> > create mode 100644 drivers/accel/ivpu/ivpu_mmu.c
> > create mode 100644 drivers/accel/ivpu/ivpu_mmu.h
> > create mode 100644 drivers/accel/ivpu/ivpu_mmu_context.c
> > create mode 100644 drivers/accel/ivpu/ivpu_mmu_context.h
> > create mode 100644 drivers/accel/ivpu/ivpu_pm.c
> > create mode 100644 drivers/accel/ivpu/ivpu_pm.h
> > create mode 100644 drivers/accel/ivpu/vpu_boot_api.h
> > create mode 100644 drivers/accel/ivpu/vpu_jsm_api.h
> > create mode 100644 include/uapi/drm/ivpu_accel.h
> >
> >
> > base-commit: 03a0a1040895711e12c15ab28d4d1812928e171d
> > prerequisite-patch-id: 1283b537f4791511769ad3446d0eafd98193e86f
> > --
> > 2.34.1
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
next prev parent reply other threads:[~2023-01-19 9:07 UTC|newest]
Thread overview: 28+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-01-09 12:23 [PATCH v5 0/7] New DRM accel driver for Intel VPU Jacek Lawrynowicz
2023-01-09 12:23 ` [PATCH v5 1/7] accel/ivpu: Introduce a new DRM " Jacek Lawrynowicz
2023-01-12 17:34 ` Jeffrey Hugo
2023-01-13 8:23 ` Jacek Lawrynowicz
2023-01-13 16:28 ` Jeffrey Hugo
2023-01-09 12:23 ` [PATCH v5 2/7] accel/ivpu: Add Intel VPU MMU support Jacek Lawrynowicz
2023-01-12 17:41 ` Jeffrey Hugo
2023-01-09 12:23 ` [PATCH v5 3/7] accel/ivpu: Add GEM buffer object management Jacek Lawrynowicz
2023-01-10 14:34 ` Oded Gabbay
2023-01-11 7:58 ` Jacek Lawrynowicz
2023-01-12 17:52 ` Jeffrey Hugo
2023-01-13 8:33 ` Jacek Lawrynowicz
2023-01-09 12:23 ` [PATCH v5 4/7] accel/ivpu: Add IPC driver and JSM messages Jacek Lawrynowicz
2023-01-12 18:18 ` Jeffrey Hugo
2023-01-13 8:46 ` Jacek Lawrynowicz
2023-01-09 12:23 ` [PATCH v5 5/7] accel/ivpu: Implement firmware parsing and booting Jacek Lawrynowicz
2023-01-10 15:34 ` Oded Gabbay
2023-01-11 8:15 ` Jacek Lawrynowicz
2023-01-11 8:20 ` Oded Gabbay
2023-01-12 18:22 ` Jeffrey Hugo
2023-01-09 12:23 ` [PATCH v5 6/7] accel/ivpu: Add command buffer submission logic Jacek Lawrynowicz
2023-01-12 18:32 ` Jeffrey Hugo
2023-01-09 12:23 ` [PATCH v5 7/7] accel/ivpu: Add PM support Jacek Lawrynowicz
2023-01-12 19:03 ` Jeffrey Hugo
2023-01-10 19:34 ` [PATCH v5 0/7] New DRM accel driver for Intel VPU Oded Gabbay
2023-01-19 9:07 ` Daniel Vetter [this message]
2023-01-12 17:10 ` Jeffrey Hugo
2023-01-13 9:32 ` Jacek Lawrynowicz
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Y8kIPSNus5fcmJmd@phenom.ffwll.local \
--to=daniel@ffwll.ch \
--cc=andrzej.kacprowski@linux.intel.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=jacek.lawrynowicz@linux.intel.com \
--cc=oded.gabbay@gmail.com \
--cc=quic_jhugo@quicinc.com \
--cc=stanislaw.gruszka@linux.intel.com \
--cc=tzimmermann@suse.de \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.