From: Kevin Hilman <khilman@baylibre.com>
To: Jeffrey Hugo <quic_jhugo@quicinc.com>,
Alexandre Bailon <abailon@baylibre.com>,
airlied@gmail.com, daniel@ffwll.ch,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org,
bero@baylibre.com, jstephan@baylibre.com,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
christian.koenig@amd.com, linaro-mm-sig@lists.linaro.org,
robh+dt@kernel.org, linux-mediatek@lists.infradead.org,
nbelin@baylibre.com, krzysztof.kozlowski+dt@linaro.org,
matthias.bgg@gmail.com, linux-media@vger.kernel.org,
sumit.semwal@linaro.org, linux-arm-kernel@lists.infradead.org,
angelogioacchino.delregno@collabora.com
Subject: Re: [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU)
Date: Tue, 23 May 2023 16:34:08 -0700 [thread overview]
Message-ID: <7ha5xud3m7.fsf@baylibre.com> (raw)
In-Reply-To: <d0807fe4-dba2-8244-f655-d04e80973572@quicinc.com>
Jeffrey Hugo <quic_jhugo@quicinc.com> writes:
> On 5/17/2023 8:52 AM, Alexandre Bailon wrote:
>> This adds a DRM driver that implements communication between the CPU and an
>> APU. The driver target embedded device that usually run inference using some
>> prebuilt models. The goal is to provide common infrastructure that could be
>> re-used to support many accelerators. Both kernel, userspace and firmware tries
>> to use standard and existing to leverage the development and maintenance effort.
>> The series implements two platform drivers, one for simulation and another one for
>> the mt8183 (compatible with mt8365).
>
> This looks like the 3 existing Accel drivers. Why is this in DRM?
Yes, this belongs in accel. I think Alex had some issues around the
infra in accel with device nodes not appearing/opening properly, but
I'll let him comment there. But either way, the right approach should
be to fix any issues in accel and move it there.
[...]
>> .../devicetree/bindings/gpu/mtk,apu-drm.yaml | 38 ++
>> drivers/gpu/drm/Kconfig | 2 +
>> drivers/gpu/drm/Makefile | 1 +
>> drivers/gpu/drm/apu/Kconfig | 22 +
>> drivers/gpu/drm/apu/Makefile | 10 +
>> drivers/gpu/drm/apu/apu_drv.c | 282 +++++++++
>> drivers/gpu/drm/apu/apu_gem.c | 230 +++++++
>> drivers/gpu/drm/apu/apu_internal.h | 205 ++++++
>> drivers/gpu/drm/apu/apu_sched.c | 592 ++++++++++++++++++
>> drivers/gpu/drm/apu/simu_apu.c | 313 +++++++++
>> include/uapi/drm/apu_drm.h | 81 +++
>
> "apu" seems too generic. We already have 3 "AI processing units" over
> in drivers/accel already...
Indeed, it is generic, but that's kind of the point for this driver
since it's targetted at generalizing the interface with "AI processing
units" on a growing number of embedded SoCs (ARM, RISC-V, etc.) In
addition, the generic naming is intentional because the goal is bigger
than the kernel and is working towards a generic, shared "libAPU"
userspace[1], but also common firmware for DSP-style inference engines
(e.g. analgous Sound Open Firmware for audio DSPs.)
As usual, the various SoC vendors use different names (APU, NPU, NN
unit, etc.) but we'd like a generic name for the class of devices
targetted by this driver. And unfortunately, it looks like the equally
generic "Versatile processing unit" is already taken Intel's
drivers/accel/ivpu. :)
Maybe since this is more about generalizing the interface between the
CPU running linux and the APU, what about the name apu_if? But I guess
that applies to the other 3 drivers in drivers/accell also. Hmmm...
Naming things is hard[2], so we're definitly open to other ideas. Any
suggestions?
Kevin
[1] https://gitlab.baylibre.com/baylibre/libapu/libapu
[2]
"There are 2 hard problems in computer science: cache invalidation,
naming things and off-by-1 errors."
-- https://twitter.com/secretGeek/status/7269997868
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Jeffrey Hugo <quic_jhugo@quicinc.com>,
Alexandre Bailon <abailon@baylibre.com>,
airlied@gmail.com, daniel@ffwll.ch,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org,
bero@baylibre.com, jstephan@baylibre.com,
linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org,
christian.koenig@amd.com, linaro-mm-sig@lists.linaro.org,
robh+dt@kernel.org, linux-mediatek@lists.infradead.org,
nbelin@baylibre.com, krzysztof.kozlowski+dt@linaro.org,
matthias.bgg@gmail.com, linux-media@vger.kernel.org,
sumit.semwal@linaro.org, linux-arm-kernel@lists.infradead.org,
angelogioacchino.delregno@collabora.com
Subject: Re: [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU)
Date: Tue, 23 May 2023 16:34:08 -0700 [thread overview]
Message-ID: <7ha5xud3m7.fsf@baylibre.com> (raw)
In-Reply-To: <d0807fe4-dba2-8244-f655-d04e80973572@quicinc.com>
Jeffrey Hugo <quic_jhugo@quicinc.com> writes:
> On 5/17/2023 8:52 AM, Alexandre Bailon wrote:
>> This adds a DRM driver that implements communication between the CPU and an
>> APU. The driver target embedded device that usually run inference using some
>> prebuilt models. The goal is to provide common infrastructure that could be
>> re-used to support many accelerators. Both kernel, userspace and firmware tries
>> to use standard and existing to leverage the development and maintenance effort.
>> The series implements two platform drivers, one for simulation and another one for
>> the mt8183 (compatible with mt8365).
>
> This looks like the 3 existing Accel drivers. Why is this in DRM?
Yes, this belongs in accel. I think Alex had some issues around the
infra in accel with device nodes not appearing/opening properly, but
I'll let him comment there. But either way, the right approach should
be to fix any issues in accel and move it there.
[...]
>> .../devicetree/bindings/gpu/mtk,apu-drm.yaml | 38 ++
>> drivers/gpu/drm/Kconfig | 2 +
>> drivers/gpu/drm/Makefile | 1 +
>> drivers/gpu/drm/apu/Kconfig | 22 +
>> drivers/gpu/drm/apu/Makefile | 10 +
>> drivers/gpu/drm/apu/apu_drv.c | 282 +++++++++
>> drivers/gpu/drm/apu/apu_gem.c | 230 +++++++
>> drivers/gpu/drm/apu/apu_internal.h | 205 ++++++
>> drivers/gpu/drm/apu/apu_sched.c | 592 ++++++++++++++++++
>> drivers/gpu/drm/apu/simu_apu.c | 313 +++++++++
>> include/uapi/drm/apu_drm.h | 81 +++
>
> "apu" seems too generic. We already have 3 "AI processing units" over
> in drivers/accel already...
Indeed, it is generic, but that's kind of the point for this driver
since it's targetted at generalizing the interface with "AI processing
units" on a growing number of embedded SoCs (ARM, RISC-V, etc.) In
addition, the generic naming is intentional because the goal is bigger
than the kernel and is working towards a generic, shared "libAPU"
userspace[1], but also common firmware for DSP-style inference engines
(e.g. analgous Sound Open Firmware for audio DSPs.)
As usual, the various SoC vendors use different names (APU, NPU, NN
unit, etc.) but we'd like a generic name for the class of devices
targetted by this driver. And unfortunately, it looks like the equally
generic "Versatile processing unit" is already taken Intel's
drivers/accel/ivpu. :)
Maybe since this is more about generalizing the interface between the
CPU running linux and the APU, what about the name apu_if? But I guess
that applies to the other 3 drivers in drivers/accell also. Hmmm...
Naming things is hard[2], so we're definitly open to other ideas. Any
suggestions?
Kevin
[1] https://gitlab.baylibre.com/baylibre/libapu/libapu
[2]
"There are 2 hard problems in computer science: cache invalidation,
naming things and off-by-1 errors."
-- https://twitter.com/secretGeek/status/7269997868
_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
WARNING: multiple messages have this Message-ID (diff)
From: Kevin Hilman <khilman@baylibre.com>
To: Jeffrey Hugo <quic_jhugo@quicinc.com>,
Alexandre Bailon <abailon@baylibre.com>,
airlied@gmail.com, daniel@ffwll.ch,
maarten.lankhorst@linux.intel.com, mripard@kernel.org,
tzimmermann@suse.de
Cc: devicetree@vger.kernel.org, conor+dt@kernel.org,
bero@baylibre.com, linux-kernel@vger.kernel.org,
dri-devel@lists.freedesktop.org, christian.koenig@amd.com,
linaro-mm-sig@lists.linaro.org, robh+dt@kernel.org,
linux-mediatek@lists.infradead.org,
linux-arm-kernel@lists.infradead.org,
krzysztof.kozlowski+dt@linaro.org, matthias.bgg@gmail.com,
angelogioacchino.delregno@collabora.com, sumit.semwal@linaro.org,
jstephan@baylibre.com, nbelin@baylibre.com,
linux-media@vger.kernel.org
Subject: Re: [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU)
Date: Tue, 23 May 2023 16:34:08 -0700 [thread overview]
Message-ID: <7ha5xud3m7.fsf@baylibre.com> (raw)
In-Reply-To: <d0807fe4-dba2-8244-f655-d04e80973572@quicinc.com>
Jeffrey Hugo <quic_jhugo@quicinc.com> writes:
> On 5/17/2023 8:52 AM, Alexandre Bailon wrote:
>> This adds a DRM driver that implements communication between the CPU and an
>> APU. The driver target embedded device that usually run inference using some
>> prebuilt models. The goal is to provide common infrastructure that could be
>> re-used to support many accelerators. Both kernel, userspace and firmware tries
>> to use standard and existing to leverage the development and maintenance effort.
>> The series implements two platform drivers, one for simulation and another one for
>> the mt8183 (compatible with mt8365).
>
> This looks like the 3 existing Accel drivers. Why is this in DRM?
Yes, this belongs in accel. I think Alex had some issues around the
infra in accel with device nodes not appearing/opening properly, but
I'll let him comment there. But either way, the right approach should
be to fix any issues in accel and move it there.
[...]
>> .../devicetree/bindings/gpu/mtk,apu-drm.yaml | 38 ++
>> drivers/gpu/drm/Kconfig | 2 +
>> drivers/gpu/drm/Makefile | 1 +
>> drivers/gpu/drm/apu/Kconfig | 22 +
>> drivers/gpu/drm/apu/Makefile | 10 +
>> drivers/gpu/drm/apu/apu_drv.c | 282 +++++++++
>> drivers/gpu/drm/apu/apu_gem.c | 230 +++++++
>> drivers/gpu/drm/apu/apu_internal.h | 205 ++++++
>> drivers/gpu/drm/apu/apu_sched.c | 592 ++++++++++++++++++
>> drivers/gpu/drm/apu/simu_apu.c | 313 +++++++++
>> include/uapi/drm/apu_drm.h | 81 +++
>
> "apu" seems too generic. We already have 3 "AI processing units" over
> in drivers/accel already...
Indeed, it is generic, but that's kind of the point for this driver
since it's targetted at generalizing the interface with "AI processing
units" on a growing number of embedded SoCs (ARM, RISC-V, etc.) In
addition, the generic naming is intentional because the goal is bigger
than the kernel and is working towards a generic, shared "libAPU"
userspace[1], but also common firmware for DSP-style inference engines
(e.g. analgous Sound Open Firmware for audio DSPs.)
As usual, the various SoC vendors use different names (APU, NPU, NN
unit, etc.) but we'd like a generic name for the class of devices
targetted by this driver. And unfortunately, it looks like the equally
generic "Versatile processing unit" is already taken Intel's
drivers/accel/ivpu. :)
Maybe since this is more about generalizing the interface between the
CPU running linux and the APU, what about the name apu_if? But I guess
that applies to the other 3 drivers in drivers/accell also. Hmmm...
Naming things is hard[2], so we're definitly open to other ideas. Any
suggestions?
Kevin
[1] https://gitlab.baylibre.com/baylibre/libapu/libapu
[2]
"There are 2 hard problems in computer science: cache invalidation,
naming things and off-by-1 errors."
-- https://twitter.com/secretGeek/status/7269997868
next prev parent reply other threads:[~2023-05-23 23:34 UTC|newest]
Thread overview: 71+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-05-17 14:52 [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU) Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 1/7] drm: Add support of AI Processor " Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 2/7] drm/apu: Add memory allocator Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 3/7] drm/apu: Add support of requests Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 4/7] drm/apu: Add support of IOMMU Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-18 13:24 ` Robin Murphy
2023-05-18 13:24 ` Robin Murphy
2023-05-18 13:24 ` Robin Murphy
2023-05-17 14:52 ` [PATCH 5/7] drm/apu: allow platform driver to implement their own mmap function Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 19:45 ` Krzysztof Kozlowski
2023-05-17 19:45 ` Krzysztof Kozlowski
2023-05-17 19:45 ` Krzysztof Kozlowski
2023-05-26 15:08 ` Alexandre Bailon
2023-05-26 15:08 ` Alexandre Bailon
2023-05-26 15:08 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 6/7] drm/apu: Add support for a simulated APU Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` [PATCH 7/7] dt-bindings: Add bidings for mtk,apu-drm Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 14:52 ` Alexandre Bailon
2023-05-17 15:04 ` AngeloGioacchino Del Regno
2023-05-17 15:04 ` AngeloGioacchino Del Regno
2023-05-17 15:04 ` AngeloGioacchino Del Regno
2023-05-17 17:28 ` Conor Dooley
2023-05-17 17:28 ` Conor Dooley
2023-05-17 17:28 ` Conor Dooley
2023-05-22 8:53 ` Alexandre Bailon
2023-05-22 8:53 ` Alexandre Bailon
2023-05-22 8:53 ` Alexandre Bailon
2023-05-17 15:28 ` Rob Herring
2023-05-17 15:28 ` Rob Herring
2023-05-17 15:28 ` Rob Herring
2023-05-17 16:53 ` Krzysztof Kozlowski
2023-05-17 16:53 ` Krzysztof Kozlowski
2023-05-17 16:53 ` Krzysztof Kozlowski
2023-05-17 19:38 ` Krzysztof Kozlowski
2023-05-17 19:38 ` Krzysztof Kozlowski
2023-05-17 19:38 ` Krzysztof Kozlowski
2023-05-17 19:41 ` Krzysztof Kozlowski
2023-05-17 19:41 ` Krzysztof Kozlowski
2023-05-17 19:41 ` Krzysztof Kozlowski
2023-05-17 15:05 ` [PATCH 0/7] Add a DRM driver to support AI Processing Unit (APU) Thomas Zimmermann
2023-05-17 15:05 ` Thomas Zimmermann
2023-05-17 15:05 ` Thomas Zimmermann
2023-05-17 15:12 ` Jeffrey Hugo
2023-05-17 15:12 ` Jeffrey Hugo
2023-05-17 15:12 ` Jeffrey Hugo
2023-05-23 23:34 ` Kevin Hilman [this message]
2023-05-23 23:34 ` Kevin Hilman
2023-05-23 23:34 ` Kevin Hilman
2023-05-24 10:27 ` Oded Gabbay
2023-05-24 10:27 ` Oded Gabbay
2023-05-24 10:27 ` Oded Gabbay
2023-05-24 10:40 ` Daniel Vetter
2023-05-24 10:40 ` Daniel Vetter
2023-05-24 10:40 ` Daniel Vetter
2023-05-26 15:45 ` Alexandre Bailon
2023-05-26 15:45 ` Alexandre Bailon
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=7ha5xud3m7.fsf@baylibre.com \
--to=khilman@baylibre.com \
--cc=abailon@baylibre.com \
--cc=airlied@gmail.com \
--cc=angelogioacchino.delregno@collabora.com \
--cc=bero@baylibre.com \
--cc=christian.koenig@amd.com \
--cc=conor+dt@kernel.org \
--cc=daniel@ffwll.ch \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=jstephan@baylibre.com \
--cc=krzysztof.kozlowski+dt@linaro.org \
--cc=linaro-mm-sig@lists.linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-media@vger.kernel.org \
--cc=linux-mediatek@lists.infradead.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=matthias.bgg@gmail.com \
--cc=mripard@kernel.org \
--cc=nbelin@baylibre.com \
--cc=quic_jhugo@quicinc.com \
--cc=robh+dt@kernel.org \
--cc=sumit.semwal@linaro.org \
--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.