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: 51+ 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-22 16:30 ` Boris Brezillon
2024-01-30 19:54 ` Rob Herring
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 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.