From: Matt Coster <matt.coster@imgtec.com>
To: Frank Binns <frank.binns@imgtec.com>,
Matt Coster <matt.coster@imgtec.com>,
David Airlie <airlied@gmail.com>, Simona Vetter <simona@ffwll.ch>,
Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,
Maxime Ripard <mripard@kernel.org>,
Thomas Zimmermann <tzimmermann@suse.de>,
Rob Herring <robh@kernel.org>,
Krzysztof Kozlowski <krzk+dt@kernel.org>,
Conor Dooley <conor+dt@kernel.org>, Nishanth Menon <nm@ti.com>,
"Vignesh Raghavendra" <vigneshr@ti.com>,
Tero Kristo <kristo@kernel.org>
Cc: <dri-devel@lists.freedesktop.org>, <devicetree@vger.kernel.org>,
<linux-kernel@vger.kernel.org>,
<linux-arm-kernel@lists.infradead.org>, Randolph Sapp <rs@ti.com>,
Darren Etheridge <detheridge@ti.com>,
"Alessio Belle" <alessio.belle@imgtec.com>,
Alexandru Dadu <alexandru.dadu@imgtec.com>,
Sarah Walker <sarah.walker@imgtec.com>
Subject: [PATCH v3 00/18] Imagination BXS-4-64 MC1 GPU support
Date: Mon, 10 Mar 2025 13:10:24 +0000 [thread overview]
Message-ID: <20250310-sets-bxs-4-64-patch-v1-v3-0-143b3dbef02f@imgtec.com> (raw)
This GPU is found in the TI AM68 family of SoCs, with initial support
added to the k3-j721s2 devicetree and tested on a TI SK-AM68 board.
A suitable firmware binary can currently be found in the IMG
linux-firmware repository[1] as powervr/rogue_36.53.104.796_v1.fw.
No new UAPI will be necessary for this platform as it is sufficiently
similar to the already supported AXE-1-16M.
UMD support is close to being complete. We're now able to pass >90% of
Vulkan conformance on our Mesa development branch. The compiler has been
undergoing a significant rework needed to accomodate the BXS-4-64, as
well as to make it more flexible to support additional Rogue GPUs going
forward. The first part of this rework landed in Mesa in [2], and more
MRs will follow in the coming weeks.
There are several dt-bindings changes at the beginning of this series.
We expect the result to be versatile enough to handle all Imagination
Rogue GPUs while being a strong foundation to build bindings for the
newer Volcanic architecture (for which we're currently developing
support).
The DTS changes at the end of the series are marked [DO NOT MERGE]. Once
the series is reviewed, we will request these be taken through the
relevant tree.
[1]: https://gitlab.freedesktop.org/imagination/linux-firmware/-/tree/powervr
[3]: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/32258
---
Changes in v3:
- Reorder some patches to ensure the proper sequencing
- Update status of UMD support (cover)
- Don't use more specific compatible strings when not required (P1)
- Avoid ABI break by limiting new required properties to new compatible
strings (P2)
- Move power domain changes to the patch in which they're used (P2/P5)
- Update register definitions (P3) [Thanks, Alessio!]
- Don't use more specific compatible strings when not required (P4)
- Enhanced commit messages (P4)
- Remove unnecessary example (P5)
- Add proper fixes for threaded IRQs (P6) [Thanks, Alessio!]
- Include fix for a separate IRQ issue (P7) [Thanks, Alessio!]
- Don't enable firmware debug module (was P13 in v2, also in P14)
- Change from a workaround to a regular codepath (P15)
- Drop platform overrides framework (was P18 in v2, also in P16)
- Mark DTS changes [DO NOT MERGE] (P17/P18)
- Link to v2: https://lore.kernel.org/r/20241118-sets-bxs-4-64-patch-v1-v2-0-3fd45d9fb0cf@imgtec.com
Changes in v2:
- Clarified justification for compatible strings (P1)
- Simplified clocks constraints (P2)
- Simplified power-domains constraints (P3/P4)
- Use normal reg syntax for 64-bit values (P8/P21)
- Link to v1: https://lore.kernel.org/r/20241105-sets-bxs-4-64-patch-v1-v1-0-4ed30e865892@imgtec.com
---
Alessio Belle (3):
drm/imagination: Update register defs for newer GPUs
drm/imagination: Mask GPU IRQs in threaded handler
drm/imagination: Handle Rogue safety event IRQs
Matt Coster (14):
dt-bindings: gpu: img: Future-proofing enhancements
dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings
drm/imagination: Use new generic compatible string
drm/imagination: Add power domain control
drm/imagination: Remove firmware enable_reg
drm/imagination: Rename event_mask -> status_mask
drm/imagination: Make has_fixed_data_addr a value
drm/imagination: Use a lookup table for fw defs
drm/imagination: Use callbacks for fw irq handling
drm/imagination: Move ELF fw utils to common file
drm/imagination: Use cached memory with dma_coherent
drm/imagination: Add support for TI AM68 GPU
[DO NOT MERGE] arm64: dts: ti: k3-am62: New GPU binding details
[DO NOT MERGE] arm64: dts: ti: k3-j721s2: Add GPU node
Sarah Walker (1):
drm/imagination: Add RISC-V firmware processor support
.../devicetree/bindings/gpu/img,powervr-rogue.yaml | 77 +++++++++-
arch/arm64/boot/dts/ti/k3-am62-main.dtsi | 3 +-
arch/arm64/boot/dts/ti/k3-j721s2-main.dtsi | 12 ++
drivers/gpu/drm/imagination/Makefile | 2 +
drivers/gpu/drm/imagination/pvr_device.c | 124 ++++++++++++++--
drivers/gpu/drm/imagination/pvr_device.h | 31 +++-
drivers/gpu/drm/imagination/pvr_drv.c | 16 ++
drivers/gpu/drm/imagination/pvr_fw.c | 28 +++-
drivers/gpu/drm/imagination/pvr_fw.h | 85 +++++------
drivers/gpu/drm/imagination/pvr_fw_meta.c | 23 +--
drivers/gpu/drm/imagination/pvr_fw_mips.c | 82 ++---------
drivers/gpu/drm/imagination/pvr_fw_riscv.c | 163 +++++++++++++++++++++
drivers/gpu/drm/imagination/pvr_fw_startstop.c | 17 +++
drivers/gpu/drm/imagination/pvr_fw_util.c | 67 +++++++++
drivers/gpu/drm/imagination/pvr_gem.c | 10 +-
drivers/gpu/drm/imagination/pvr_gem.h | 6 +-
drivers/gpu/drm/imagination/pvr_mmu.c | 8 +-
drivers/gpu/drm/imagination/pvr_power.c | 114 ++++++++++++++
drivers/gpu/drm/imagination/pvr_power.h | 3 +
drivers/gpu/drm/imagination/pvr_rogue_cr_defs.h | 153 ++++++++++++++++---
drivers/gpu/drm/imagination/pvr_rogue_riscv.h | 41 ++++++
21 files changed, 886 insertions(+), 179 deletions(-)
---
base-commit: 10232dac98d3803ec4fcc0cd8a4d1bd2a09b3e18
change-id: 20241021-sets-bxs-4-64-patch-v1-44cdf9cc555f
next reply other threads:[~2025-03-10 14:45 UTC|newest]
Thread overview: 27+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-03-10 13:10 Matt Coster [this message]
2025-03-10 13:10 ` [PATCH v3 01/18] dt-bindings: gpu: img: Future-proofing enhancements Matt Coster
2025-03-11 7:50 ` Krzysztof Kozlowski
2025-03-11 10:33 ` Matt Coster
2025-03-11 13:25 ` Krzysztof Kozlowski
2025-03-10 13:10 ` [PATCH v3 02/18] dt-bindings: gpu: img: Add BXS-4-64 devicetree bindings Matt Coster
2025-03-10 14:40 ` Rob Herring (Arm)
2025-03-10 14:40 ` Rob Herring (Arm)
2025-03-11 7:51 ` Krzysztof Kozlowski
2025-03-11 10:28 ` Matt Coster
2025-03-10 13:10 ` [PATCH v3 03/18] drm/imagination: Update register defs for newer GPUs Matt Coster
2025-03-10 13:10 ` [PATCH v3 04/18] drm/imagination: Use new generic compatible string Matt Coster
2025-03-10 13:10 ` [PATCH v3 05/18] drm/imagination: Add power domain control Matt Coster
2025-03-10 13:10 ` [PATCH v3 06/18] drm/imagination: Mask GPU IRQs in threaded handler Matt Coster
2025-03-10 13:10 ` [PATCH v3 07/18] drm/imagination: Handle Rogue safety event IRQs Matt Coster
2025-03-10 13:10 ` [PATCH v3 08/18] drm/imagination: Remove firmware enable_reg Matt Coster
2025-03-10 13:10 ` [PATCH v3 09/18] drm/imagination: Rename event_mask -> status_mask Matt Coster
2025-03-10 13:10 ` [PATCH v3 10/18] drm/imagination: Make has_fixed_data_addr a value Matt Coster
2025-03-10 13:10 ` [PATCH v3 11/18] drm/imagination: Use a lookup table for fw defs Matt Coster
2025-03-10 13:10 ` [PATCH v3 12/18] drm/imagination: Use callbacks for fw irq handling Matt Coster
2025-03-10 13:10 ` [PATCH v3 13/18] drm/imagination: Move ELF fw utils to common file Matt Coster
2025-03-10 13:10 ` [PATCH v3 14/18] drm/imagination: Add RISC-V firmware processor support Matt Coster
2025-03-10 13:10 ` [PATCH v3 15/18] drm/imagination: Use cached memory with dma_coherent Matt Coster
2025-03-10 13:10 ` [PATCH v3 16/18] drm/imagination: Add support for TI AM68 GPU Matt Coster
2025-03-10 13:10 ` [PATCH DO NOT MERGE v3 17/18] arm64: dts: ti: k3-am62: New GPU binding details Matt Coster
2025-03-10 13:10 ` [PATCH DO NOT MERGE v3 18/18] arm64: dts: ti: k3-j721s2: Add GPU node Matt Coster
2025-03-11 15:19 ` [PATCH v3 00/18] Imagination BXS-4-64 MC1 GPU support Rob Herring (Arm)
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=20250310-sets-bxs-4-64-patch-v1-v3-0-143b3dbef02f@imgtec.com \
--to=matt.coster@imgtec.com \
--cc=airlied@gmail.com \
--cc=alessio.belle@imgtec.com \
--cc=alexandru.dadu@imgtec.com \
--cc=conor+dt@kernel.org \
--cc=detheridge@ti.com \
--cc=devicetree@vger.kernel.org \
--cc=dri-devel@lists.freedesktop.org \
--cc=frank.binns@imgtec.com \
--cc=kristo@kernel.org \
--cc=krzk+dt@kernel.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=maarten.lankhorst@linux.intel.com \
--cc=mripard@kernel.org \
--cc=nm@ti.com \
--cc=robh@kernel.org \
--cc=rs@ti.com \
--cc=sarah.walker@imgtec.com \
--cc=simona@ffwll.ch \
--cc=tzimmermann@suse.de \
--cc=vigneshr@ti.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