From: Boris Brezillon <boris.brezillon@collabora.com>
To: dri-devel@lists.freedesktop.org
Cc: "Tatsuyuki Ishi" <ishitatsuyuki@gmail.com>,
"Nicolas Boichat" <drinkcat@chromium.org>,
kernel@collabora.com, "Daniel Stone" <daniels@collabora.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Ketil Johnsen" <ketil.johnsen@arm.com>,
"Liviu Dudau" <Liviu.Dudau@arm.com>,
"Steven Price" <steven.price@arm.com>,
"Clément Péron" <peron.clem@gmail.com>,
"Daniel Vetter" <daniel@ffwll.ch>,
"Chris Diamand" <chris.diamand@foss.arm.com>,
"Marty E . Plummer" <hanetzer@startmail.com>,
"Robin Murphy" <robin.murphy@arm.com>,
"Faith Ekstrand" <faith.ekstrand@collabora.com>
Subject: Re: [PATCH v4 00/14] drm: Add a driver for CSF-based Mali GPUs
Date: Mon, 29 Jan 2024 08:58:01 +0100 [thread overview]
Message-ID: <20240129085801.7cd8eb12@collabora.com> (raw)
In-Reply-To: <20240122163047.1954733-1-boris.brezillon@collabora.com>
On Mon, 22 Jan 2024 17:30:31 +0100
Boris Brezillon <boris.brezillon@collabora.com> wrote:
> Hello,
>
> This is the 4th version of the kernel driver for Mali CSF-based GPUs.
>
> A branch based on drm-misc-next and containing all the dependencies
> that are not yet available in drm-misc-next here[1], and another [2]
> containing extra patches to have things working on rk3588. The CSF
> firmware binary can be found here[3], and should be placed under
> /lib/firmware/arm/mali/arch10.8/mali_csffw.bin.
>
> The mesa MR adding v10 support on top of panthor is available here [4].
>
> Steve, I intentionally dropped your R-b on "drm/panthor: Add the heap
> logical block" and "drm/panthor: Add the scheduler logical block"
> because the tiler-OOM handling changed enough to require a new review
> IMHO.
>
> Regarding the GPL2+MIT relicensing, I collected Clément's R-b for the
> devfreq code, but am still lacking Alexey Sheplyakov for some bits in
> panthor_gpu.c. The rest of the code is either new, or covered by the
> Linaro, Arm and Collabora acks.
>
> And here is a non-exhaustive changelog, check each commit for a detailed
> changelog.
>
> v4:
> - Fix various bugs in the VM logic
> - Address comments from Steven, Liviu, Ketil and Chris
> - Move tiler OOM handling out of the scheduler interrupt handling path
> so we can properly recover when the system runs out of memory, and
> panthor is blocked trying to allocate heap chunks
> - Rework the heap locking to support concurrent chunk allocation. Not
> sure if this is supposed to happen, but we need to be robust against
> userspace passing the same heap context to two scheduling groups.
> Wasn't needed before the tiler_oom rework, because heap allocation
> base serialized by the scheduler lock.
> - Make kernel BO destruction robust to NULL/ERR pointers
>
> v3;
> - Quite a few changes at the MMU/sched level to make the fix some
> race conditions and deadlocks
> - Addition of the a sync-only VM_BIND operation (to support
> vkQueueSparseBind with zero commands).
> - Addition of a VM_GET_STATE ioctl
> - Various cosmetic changes (see the commit changelogs for more details)
> - Various fixes (see the commit changelogs for more details)
>
> v2:
> - Rename the driver (pancsf -> panthor)
> - Split the commit adding the driver to ease review
> - Use drm_sched for dependency tracking/job submission
> - Add a VM_BIND ioctl
> - Add the concept of exclusive VM for BOs that are only ever mapped to a
> single VM
> - Document the code and uAPI
> - Add a DT binding doc
>
> Regards,
>
> Boris
>
> [1]https://gitlab.freedesktop.org/panfrost/linux/-/tree/panthor-v4
> [2]https://gitlab.freedesktop.org/panfrost/linux/-/tree/panthor-v4+rk3588
> [3]https://gitlab.com/firefly-linux/external/libmali/-/raw/firefly/firmware/g610/mali_csffw.bin
Here's a link to a more recent/maintained libmali tree:
[3]https://github.com/JeffyCN/mirrors/raw/libmali/firmware/g610/mali_csffw.bin
> [4]https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/26358
>
> Boris Brezillon (13):
> drm/panthor: Add uAPI
> drm/panthor: Add GPU register definitions
> drm/panthor: Add the device logical block
> drm/panthor: Add the GPU logical block
> drm/panthor: Add GEM logical block
> drm/panthor: Add the devfreq logical block
> drm/panthor: Add the MMU/VM logical block
> drm/panthor: Add the FW logical block
> drm/panthor: Add the heap logical block
> drm/panthor: Add the scheduler logical block
> drm/panthor: Add the driver frontend block
> drm/panthor: Allow driver compilation
> drm/panthor: Add an entry to MAINTAINERS
>
> Liviu Dudau (1):
> dt-bindings: gpu: mali-valhall-csf: Add support for Arm Mali CSF GPUs
>
> .../bindings/gpu/arm,mali-valhall-csf.yaml | 147 +
> Documentation/gpu/driver-uapi.rst | 5 +
> MAINTAINERS | 11 +
> drivers/gpu/drm/Kconfig | 2 +
> drivers/gpu/drm/Makefile | 1 +
> drivers/gpu/drm/panthor/Kconfig | 23 +
> drivers/gpu/drm/panthor/Makefile | 15 +
> drivers/gpu/drm/panthor/panthor_devfreq.c | 283 ++
> drivers/gpu/drm/panthor/panthor_devfreq.h | 25 +
> drivers/gpu/drm/panthor/panthor_device.c | 544 +++
> drivers/gpu/drm/panthor/panthor_device.h | 393 ++
> drivers/gpu/drm/panthor/panthor_drv.c | 1470 +++++++
> drivers/gpu/drm/panthor/panthor_fw.c | 1334 +++++++
> drivers/gpu/drm/panthor/panthor_fw.h | 504 +++
> drivers/gpu/drm/panthor/panthor_gem.c | 228 ++
> drivers/gpu/drm/panthor/panthor_gem.h | 144 +
> drivers/gpu/drm/panthor/panthor_gpu.c | 482 +++
> drivers/gpu/drm/panthor/panthor_gpu.h | 52 +
> drivers/gpu/drm/panthor/panthor_heap.c | 596 +++
> drivers/gpu/drm/panthor/panthor_heap.h | 39 +
> drivers/gpu/drm/panthor/panthor_mmu.c | 2760 +++++++++++++
> drivers/gpu/drm/panthor/panthor_mmu.h | 102 +
> drivers/gpu/drm/panthor/panthor_regs.h | 239 ++
> drivers/gpu/drm/panthor/panthor_sched.c | 3500 +++++++++++++++++
> drivers/gpu/drm/panthor/panthor_sched.h | 48 +
> include/uapi/drm/panthor_drm.h | 945 +++++
> 26 files changed, 13892 insertions(+)
> create mode 100644 Documentation/devicetree/bindings/gpu/arm,mali-valhall-csf.yaml
> create mode 100644 drivers/gpu/drm/panthor/Kconfig
> create mode 100644 drivers/gpu/drm/panthor/Makefile
> create mode 100644 drivers/gpu/drm/panthor/panthor_devfreq.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_devfreq.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_device.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_device.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_drv.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_fw.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_fw.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_gem.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_gem.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_gpu.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_gpu.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_heap.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_heap.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_mmu.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_mmu.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_regs.h
> create mode 100644 drivers/gpu/drm/panthor/panthor_sched.c
> create mode 100644 drivers/gpu/drm/panthor/panthor_sched.h
> create mode 100644 include/uapi/drm/panthor_drm.h
>
next prev parent reply other threads:[~2024-01-29 7:58 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-01-22 16:30 [PATCH v4 00/14] drm: Add a driver for CSF-based Mali GPUs Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 01/14] drm/panthor: Add uAPI Boris Brezillon
2024-02-08 14:29 ` Liviu Dudau
2024-01-22 16:30 ` [PATCH v4 02/14] drm/panthor: Add GPU register definitions Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 03/14] drm/panthor: Add the device logical block Boris Brezillon
2024-02-08 14:30 ` Liviu Dudau
2024-02-08 15:14 ` Boris Brezillon
2024-02-08 15:55 ` Liviu Dudau
2024-02-08 16:00 ` Boris Brezillon
2024-02-08 16:18 ` Liviu Dudau
2024-02-08 16:54 ` Boris Brezillon
2024-02-08 15:19 ` Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 04/14] drm/panthor: Add the GPU " Boris Brezillon
2024-02-08 16:09 ` Steven Price
2024-01-22 16:30 ` [PATCH v4 05/14] drm/panthor: Add GEM " Boris Brezillon
2024-02-09 15:58 ` Steven Price
2024-02-12 12:31 ` Liviu Dudau
2024-01-22 16:30 ` [PATCH v4 06/14] drm/panthor: Add the devfreq " Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 07/14] drm/panthor: Add the MMU/VM " Boris Brezillon
2024-02-09 16:51 ` Steven Price
2024-02-10 8:02 ` Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 08/14] drm/panthor: Add the FW " Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 09/14] drm/panthor: Add the heap " Boris Brezillon
2024-02-12 11:40 ` Steven Price
2024-02-14 17:33 ` Boris Brezillon
2024-02-15 9:34 ` Steven Price
2024-01-22 16:30 ` [PATCH v4 10/14] drm/panthor: Add the scheduler " Boris Brezillon
2024-02-14 16:48 ` Steven Price
2024-01-22 16:30 ` [PATCH v4 11/14] drm/panthor: Add the driver frontend block Boris Brezillon
2024-01-23 16:29 ` Heiko Stübner
2024-01-23 17:06 ` Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 12/14] drm/panthor: Allow driver compilation Boris Brezillon
2024-01-22 16:30 ` [PATCH v4 13/14] dt-bindings: gpu: mali-valhall-csf: Add support for Arm Mali CSF GPUs Boris Brezillon
2024-01-30 19:54 ` Rob Herring
2024-01-22 16:30 ` [PATCH v4 14/14] drm/panthor: Add an entry to MAINTAINERS Boris Brezillon
2024-01-23 16:18 ` [PATCH v4 00/14] drm: Add a driver for CSF-based Mali GPUs Heiko Stübner
2024-01-29 7:58 ` Boris Brezillon [this message]
2024-01-29 9:20 ` Andy Yan
2024-01-29 10:41 ` [PATCH " Boris Brezillon
2024-02-04 1:14 ` Andy Yan
2024-02-04 10:07 ` Boris Brezillon
2024-02-04 10:36 ` Andy Yan
2024-02-05 9:03 ` Boris Brezillon
2024-02-05 9:41 ` Andy Yan
2024-02-05 9:54 ` Danilo Krummrich
2024-02-05 10:31 ` Boris Brezillon
2024-02-06 10:35 ` Andy Yan
2024-02-06 11:11 ` Boris Brezillon
2024-02-08 16:02 ` Liviu Dudau
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=20240129085801.7cd8eb12@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Liviu.Dudau@arm.com \
--cc=chris.diamand@foss.arm.com \
--cc=daniel@ffwll.ch \
--cc=daniels@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=drinkcat@chromium.org \
--cc=faith.ekstrand@collabora.com \
--cc=hanetzer@startmail.com \
--cc=ishitatsuyuki@gmail.com \
--cc=kernel@collabora.com \
--cc=ketil.johnsen@arm.com \
--cc=neil.armstrong@linaro.org \
--cc=peron.clem@gmail.com \
--cc=robin.murphy@arm.com \
--cc=steven.price@arm.com \
/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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox