From: Boris Brezillon <boris.brezillon@collabora.com>
To: dri-devel@lists.freedesktop.org
Cc: "Nicolas Boichat" <drinkcat@chromium.org>,
"Daniel Stone" <daniels@collabora.com>,
"Neil Armstrong" <neil.armstrong@linaro.org>,
"Liviu Dudau" <Liviu.Dudau@arm.com>,
"Steven Price" <steven.price@arm.com>,
"Boris Brezillon" <boris.brezillon@collabora.com>,
"Clément Péron" <peron.clem@gmail.com>,
"Marty E . Plummer" <hanetzer@startmail.com>,
"Robin Murphy" <robin.murphy@arm.com>,
"Faith Ekstrand" <faith.ekstrand@collabora.com>
Subject: [PATCH v2 00/15] drm: Add a driver for FW-based Mali GPUs
Date: Wed, 9 Aug 2023 18:53:13 +0200 [thread overview]
Message-ID: <20230809165330.2451699-1-boris.brezillon@collabora.com> (raw)
Hello,
This is the second version of the kernel driver meant to support new Mali
GPUs which are delegating the scheduling to a firmware.
The RFC has been dropped as the major blocking points have been addressed
(request to use drm_sched, request to implement a VM_BIND-like ioctl,
request to use drm_gpuva_mgr for the VM logic, lack of PM/devfreq support).
This series is based on drm-misc-next and depends on some drm_sched [1]
and iommu [2] changes.
A branch containing all those dependencies is available here[3], and
here [4] is another one containing all the patches needed to have
a working GPU on rk3588 on top. The CSF firmware binary can be found
here[5].
The mesa branch used to test this new driver is available here [6].
It's still under development and it's just a gallium driver right now,
but we are working on that ;-).
Here is a non-exaustive changelog, check each commit for a detailed
changelog.
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
I tried to Cc anyone that was involved in any development of the code
I picked from panfrost, so they can acknowledge the GPL2 -> MIT+GPL2
change. If I missed someone, please let me know.
Best Regards,
Boris
[1]https://lore.kernel.org/dri-devel/20230801205103.627779-1-matthew.brost@intel.com/T/#t
[2]https://lore.kernel.org/linux-iommu/20230809121744.2341454-1-boris.brezillon@collabora.com/T/#t
[3]https://gitlab.freedesktop.org/panfrost/linux/-/tree/panthor
[4]https://gitlab.freedesktop.org/panfrost/linux/-/tree/panthor+rk3588-evb1
[5]https://gitlab.com/firefly-linux/external/libmali/-/raw/firefly/firmware/g610/mali_csffw.bin
[6]https://gitlab.freedesktop.org/panfrost/mesa/-/tree/v10+panthor
Boris Brezillon (14):
drm/shmem-helper: Make pages_use_count an atomic_t
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 initial bindings for panthor
driver
.../bindings/gpu/arm,mali-valhall-csf.yaml | 148 +
Documentation/gpu/driver-uapi.rst | 5 +
MAINTAINERS | 8 +
drivers/gpu/drm/Kconfig | 2 +
drivers/gpu/drm/Makefile | 1 +
drivers/gpu/drm/drm_gem_shmem_helper.c | 28 +-
drivers/gpu/drm/lima/lima_gem.c | 2 +-
drivers/gpu/drm/panfrost/panfrost_mmu.c | 2 +-
drivers/gpu/drm/panthor/Kconfig | 16 +
drivers/gpu/drm/panthor/Makefile | 15 +
drivers/gpu/drm/panthor/panthor_devfreq.c | 281 ++
drivers/gpu/drm/panthor/panthor_devfreq.h | 25 +
drivers/gpu/drm/panthor/panthor_device.c | 479 +++
drivers/gpu/drm/panthor/panthor_device.h | 354 ++
drivers/gpu/drm/panthor/panthor_drv.c | 1540 ++++++++
drivers/gpu/drm/panthor/panthor_fw.c | 1417 +++++++
drivers/gpu/drm/panthor/panthor_fw.h | 505 +++
drivers/gpu/drm/panthor/panthor_gem.c | 229 ++
drivers/gpu/drm/panthor/panthor_gem.h | 96 +
drivers/gpu/drm/panthor/panthor_gpu.c | 463 +++
drivers/gpu/drm/panthor/panthor_gpu.h | 52 +
drivers/gpu/drm/panthor/panthor_heap.c | 550 +++
drivers/gpu/drm/panthor/panthor_heap.h | 36 +
drivers/gpu/drm/panthor/panthor_mmu.c | 2611 +++++++++++++
drivers/gpu/drm/panthor/panthor_mmu.h | 81 +
drivers/gpu/drm/panthor/panthor_regs.h | 229 ++
drivers/gpu/drm/panthor/panthor_sched.c | 3272 +++++++++++++++++
drivers/gpu/drm/panthor/panthor_sched.h | 50 +
include/drm/drm_gem_shmem_helper.h | 2 +-
include/uapi/drm/panthor_drm.h | 862 +++++
30 files changed, 13345 insertions(+), 16 deletions(-)
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
--
2.41.0
next reply other threads:[~2023-08-09 16:53 UTC|newest]
Thread overview: 94+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-08-09 16:53 Boris Brezillon [this message]
2023-08-09 16:53 ` [PATCH v2 01/15] drm/shmem-helper: Make pages_use_count an atomic_t Boris Brezillon
2023-08-11 13:08 ` Steven Price
2023-08-19 2:13 ` Dmitry Osipenko
2023-08-28 9:03 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 02/15] drm/panthor: Add uAPI Boris Brezillon
2023-08-11 14:13 ` Steven Price
2023-09-01 13:59 ` Liviu Dudau
2023-09-01 16:10 ` Boris Brezillon
2023-09-04 7:42 ` Steven Price
2023-09-04 8:26 ` Boris Brezillon
2023-09-04 9:26 ` Boris Brezillon
2023-09-04 15:22 ` Steven Price
2023-09-04 16:16 ` Boris Brezillon
2023-09-04 16:25 ` Robin Murphy
2023-09-06 10:55 ` Steven Price
2023-09-04 16:06 ` Robin Murphy
2023-09-06 12:18 ` Ketil Johnsen
2023-08-09 16:53 ` [PATCH v2 03/15] drm/panthor: Add GPU register definitions Boris Brezillon
2023-08-11 14:13 ` Steven Price
2023-08-29 13:00 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 04/15] drm/panthor: Add the device logical block Boris Brezillon
2023-08-11 15:47 ` Steven Price
2023-08-29 14:00 ` Boris Brezillon
2023-08-30 13:17 ` Steven Price
2023-08-30 14:06 ` Boris Brezillon
2023-09-04 11:46 ` Liviu Dudau
2023-08-09 16:53 ` [PATCH v2 05/15] drm/panthor: Add the GPU " Boris Brezillon
2023-08-14 10:54 ` Steven Price
2023-08-21 16:09 ` Robin Murphy
2023-08-23 8:48 ` Steven Price
2023-08-29 14:42 ` Boris Brezillon
2023-08-29 14:40 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 06/15] drm/panthor: Add GEM " Boris Brezillon
2023-08-14 13:40 ` Steven Price
2023-08-29 14:45 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 07/15] drm/panthor: Add the devfreq " Boris Brezillon
2023-08-14 13:45 ` Steven Price
2023-08-09 16:53 ` [PATCH v2 08/15] drm/panthor: Add the MMU/VM " Boris Brezillon
2023-08-14 15:53 ` Steven Price
2023-08-29 15:33 ` Boris Brezillon
2023-08-30 14:12 ` Steven Price
2023-08-30 14:53 ` Boris Brezillon
2023-08-30 15:55 ` Steven Price
2023-08-09 16:53 ` [PATCH v2 09/15] drm/panthor: Add the FW " Boris Brezillon
2023-08-16 16:01 ` Steven Price
2023-08-29 16:15 ` Boris Brezillon
2023-08-30 15:20 ` Steven Price
2023-08-09 16:53 ` [PATCH v2 10/15] drm/panthor: Add the heap " Boris Brezillon
2023-08-18 14:39 ` Steven Price
2023-08-29 16:21 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 11/15] drm/panthor: Add the scheduler " Boris Brezillon
2023-08-18 15:38 ` Steven Price
2023-08-29 16:36 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 12/15] drm/panthor: Add the driver frontend block Boris Brezillon
2023-08-21 11:31 ` Steven Price
2023-08-29 17:46 ` Boris Brezillon
2023-08-31 14:42 ` Steven Price
2023-09-06 12:38 ` Ketil Johnsen
2023-09-06 13:05 ` Boris Brezillon
2023-08-09 16:53 ` [PATCH v2 13/15] drm/panthor: Allow driver compilation Boris Brezillon
2023-08-11 16:35 ` Robin Murphy
2023-08-11 16:56 ` Daniel Stone
2023-08-11 19:26 ` Robin Murphy
2023-08-14 11:18 ` Steven Price
2023-08-21 17:56 ` Robin Murphy
2023-08-23 9:17 ` Steven Price
2023-08-29 12:51 ` Boris Brezillon
2023-08-21 12:47 ` Steven Price
2023-08-09 16:53 ` [PATCH v2 14/15] dt-bindings: gpu: mali-valhall-csf: Add initial bindings for panthor driver Boris Brezillon
2023-08-09 16:53 ` Boris Brezillon
2023-08-20 8:01 ` Krzysztof Kozlowski
2023-08-20 8:01 ` Krzysztof Kozlowski
2023-09-20 13:41 ` Liviu Dudau
2023-09-20 13:41 ` Liviu Dudau
2023-09-20 13:51 ` Krzysztof Kozlowski
2023-09-20 13:51 ` Krzysztof Kozlowski
2023-09-20 14:25 ` Liviu Dudau
2023-09-20 14:25 ` Liviu Dudau
2023-09-20 15:31 ` Krzysztof Kozlowski
2023-09-20 15:31 ` Krzysztof Kozlowski
2023-09-20 13:56 ` Boris Brezillon
2023-09-20 13:56 ` Boris Brezillon
2023-09-20 14:03 ` Liviu Dudau
2023-08-09 16:53 ` [PATCH v2 15/15] drm/panthor: Add an entry to MAINTAINERS Boris Brezillon
2023-08-11 16:08 ` Steven Price
2023-08-29 17:48 ` Boris Brezillon
2023-08-31 13:18 ` Liviu Dudau
2023-08-31 13:25 ` Boris Brezillon
2023-08-09 20:22 ` [PATCH v2 00/15] drm: Add a driver for FW-based Mali GPUs Rob Herring
2023-08-10 15:44 ` Boris Brezillon
2023-08-21 14:01 ` Rob Herring
2023-09-27 15:47 ` Steven Price
-- strict thread matches above, loose matches on Subject: below --
2023-09-26 14:11 Grant Likely
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=20230809165330.2451699-1-boris.brezillon@collabora.com \
--to=boris.brezillon@collabora.com \
--cc=Liviu.Dudau@arm.com \
--cc=daniels@collabora.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=drinkcat@chromium.org \
--cc=faith.ekstrand@collabora.com \
--cc=hanetzer@startmail.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.