.../devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 + arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++ arch/arm64/boot/dts/mediatek/mt8365.dtsi | 43 +++++++++++++++++++++- 3 files changed, 52 insertions(+), 1 deletion(-)
This patchset adds the support of the ARM Mali G52 MC1 GPU (Bifrost),
integrated to the Mediatek MT8365 SoC, and its enablement to the
Mediatek Genio 350-EVK board.
I've tested this patchset on a Mediatek Genio 350-EVK board,
with a kernel based on linux-next (tag: next-20251021).
The panfrost driver probed with the following messages:
```
panfrost 13040000.gpu: clock rate = 450000031
panfrost 13040000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status
0x0
panfrost 13040000.gpu: features: 00000000,00000df7, issues: 00000000,
00000400
panfrost 13040000.gpu: Features: L2:0x07110206 Shader:0x00000003
Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7
panfrost 13040000.gpu: shader_present=0x1 l2_present=0x1
[drm] Initialized panfrost 1.5.0 for 13040000.gpu on minor 0
```
Running glmark2-es2-drm with MESA 25.2 is also OK:
```
=======================================================
glmark2 2023.01
=======================================================
OpenGL Information
GL_VENDOR: Mesa
GL_RENDERER: Mali-G52 r1 (Panfrost)
GL_VERSION: OpenGL ES 3.1 Mesa 25.2.5-1
Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0
Surface Size: 1200x1920 fullscreen
=======================================================
[build] use-vbo=false: FPS: 513 FrameTime: 1.952 ms
[build] use-vbo=true: FPS: 514 FrameTime: 1.947 ms
[texture] texture-filter=nearest: FPS: 489 FrameTime: 2.046 ms
[texture] texture-filter=linear: FPS: 486 FrameTime: 2.061 ms
[texture] texture-filter=mipmap: FPS: 476 FrameTime: 2.101 ms
[shading] shading=gouraud: FPS: 436 FrameTime: 2.296 ms
[shading] shading=blinn-phong-inf: FPS: 387 FrameTime: 2.585 ms
[shading] shading=phong: FPS: 253 FrameTime: 3.955 ms
[shading] shading=cel: FPS: 232 FrameTime: 4.328 ms
[bump] bump-render=high-poly: FPS: 266 FrameTime: 3.765 ms
[bump] bump-render=normals: FPS: 421 FrameTime: 2.376 ms
[bump] bump-render=height: FPS: 343 FrameTime: 2.922 ms
[effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 133 FrameTime: 7.521 ms
[effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 46 FrameTime:
21.990 ms
[pulsar] light=false:quads=5:texture=false: FPS: 379 FrameTime: 2.645 ms
[desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4:
FPS: 57 FrameTime: 17.735 ms
[desktop] effect=shadow:windows=4: FPS: 249 FrameTime: 4.018 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=map: FPS: 81 FrameTime: 12.447 ms
[buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction
=0.5:update-method=subdata: FPS: 81 FrameTime: 12.388 ms
[buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction
=0.5:update-method=map: FPS: 99 FrameTime: 10.127 ms
[ideas] speed=duration: FPS: 287 FrameTime: 3.492 ms
[jellyfish] <default>: FPS: 114 FrameTime: 8.842 ms
[terrain] <default>: FPS: 14 FrameTime: 76.911 ms
[shadow] <default>: FPS: 156 FrameTime: 6.432 ms
[refract] <default>: FPS: 29 FrameTime: 34.791 ms
[conditionals] fragment-steps=0:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms
[conditionals] fragment-steps=5:vertex-steps=0: FPS: 326 FrameTime: 3.076 ms
[conditionals] fragment-steps=0:vertex-steps=5: FPS: 532 FrameTime: 1.880 ms
[function] fragment-complexity=low:fragment-steps=5: FPS: 475 FrameTime:
2.106 ms
[function] fragment-complexity=medium:fragment-steps=5: FPS: 227
FrameTime: 4.417 ms
[loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 475
FrameTime: 2.108 ms
[loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 474
FrameTime: 2.110 ms
[loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 226
FrameTime: 4.428 ms
=======================================================
glmark2 Score: 296
=======================================================
```
Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
---
Changes in v2:
- Rebased on next-20251021 tag
- Fixed missing blank lines in 'arm64: dts: mediatek: mt8365: Add GPU
support' patch
- Added reviewed-by and acked-by trailers
- Updated cover letter
- Link to v1: https://lore.kernel.org/r/20250813-mt8365-enable-gpu-v1-0-46c44c6c1566@collabora.com
---
Louis-Alexis Eyraud (3):
dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC
arm64: dts: mediatek: mt8365: Add GPU support
arm64: dts: mediatek: mt8365-evk: Enable GPU support
.../devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 +
arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++
arch/arm64/boot/dts/mediatek/mt8365.dtsi | 43 +++++++++++++++++++++-
3 files changed, 52 insertions(+), 1 deletion(-)
---
base-commit: 853c202e4aec8006c2c1367b052c9f8949db019a
change-id: 20250812-mt8365-enable-gpu-a39835dca7fc
Best regards,
--
Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com>
Il 21/10/25 09:30, Louis-Alexis Eyraud ha scritto: > This patchset adds the support of the ARM Mali G52 MC1 GPU (Bifrost), > integrated to the Mediatek MT8365 SoC, and its enablement to the > Mediatek Genio 350-EVK board. > > I've tested this patchset on a Mediatek Genio 350-EVK board, > with a kernel based on linux-next (tag: next-20251021). > Thanks for this one! This series is ready to be merged. However, in order to take the DT patches I need someone to pick the binding first. Cheers, Angelo > The panfrost driver probed with the following messages: > ``` > panfrost 13040000.gpu: clock rate = 450000031 > panfrost 13040000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status > 0x0 > panfrost 13040000.gpu: features: 00000000,00000df7, issues: 00000000, > 00000400 > panfrost 13040000.gpu: Features: L2:0x07110206 Shader:0x00000003 > Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7 > panfrost 13040000.gpu: shader_present=0x1 l2_present=0x1 > [drm] Initialized panfrost 1.5.0 for 13040000.gpu on minor 0 > ``` > > Running glmark2-es2-drm with MESA 25.2 is also OK: > ``` > ======================================================= > glmark2 2023.01 > ======================================================= > OpenGL Information > GL_VENDOR: Mesa > GL_RENDERER: Mali-G52 r1 (Panfrost) > GL_VERSION: OpenGL ES 3.1 Mesa 25.2.5-1 > Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0 > Surface Size: 1200x1920 fullscreen > ======================================================= > [build] use-vbo=false: FPS: 513 FrameTime: 1.952 ms > [build] use-vbo=true: FPS: 514 FrameTime: 1.947 ms > [texture] texture-filter=nearest: FPS: 489 FrameTime: 2.046 ms > [texture] texture-filter=linear: FPS: 486 FrameTime: 2.061 ms > [texture] texture-filter=mipmap: FPS: 476 FrameTime: 2.101 ms > [shading] shading=gouraud: FPS: 436 FrameTime: 2.296 ms > [shading] shading=blinn-phong-inf: FPS: 387 FrameTime: 2.585 ms > [shading] shading=phong: FPS: 253 FrameTime: 3.955 ms > [shading] shading=cel: FPS: 232 FrameTime: 4.328 ms > [bump] bump-render=high-poly: FPS: 266 FrameTime: 3.765 ms > [bump] bump-render=normals: FPS: 421 FrameTime: 2.376 ms > [bump] bump-render=height: FPS: 343 FrameTime: 2.922 ms > [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 133 FrameTime: 7.521 ms > [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 46 FrameTime: > 21.990 ms > [pulsar] light=false:quads=5:texture=false: FPS: 379 FrameTime: 2.645 ms > [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: > FPS: 57 FrameTime: 17.735 ms > [desktop] effect=shadow:windows=4: FPS: 249 FrameTime: 4.018 ms > [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction > =0.5:update-method=map: FPS: 81 FrameTime: 12.447 ms > [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction > =0.5:update-method=subdata: FPS: 81 FrameTime: 12.388 ms > [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction > =0.5:update-method=map: FPS: 99 FrameTime: 10.127 ms > [ideas] speed=duration: FPS: 287 FrameTime: 3.492 ms > [jellyfish] <default>: FPS: 114 FrameTime: 8.842 ms > [terrain] <default>: FPS: 14 FrameTime: 76.911 ms > [shadow] <default>: FPS: 156 FrameTime: 6.432 ms > [refract] <default>: FPS: 29 FrameTime: 34.791 ms > [conditionals] fragment-steps=0:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms > [conditionals] fragment-steps=5:vertex-steps=0: FPS: 326 FrameTime: 3.076 ms > [conditionals] fragment-steps=0:vertex-steps=5: FPS: 532 FrameTime: 1.880 ms > [function] fragment-complexity=low:fragment-steps=5: FPS: 475 FrameTime: > 2.106 ms > [function] fragment-complexity=medium:fragment-steps=5: FPS: 227 > FrameTime: 4.417 ms > [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 475 > FrameTime: 2.108 ms > [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 474 > FrameTime: 2.110 ms > [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 226 > FrameTime: 4.428 ms > ======================================================= > glmark2 Score: 296 > ======================================================= > ``` > > Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> > --- > Changes in v2: > - Rebased on next-20251021 tag > - Fixed missing blank lines in 'arm64: dts: mediatek: mt8365: Add GPU > support' patch > - Added reviewed-by and acked-by trailers > - Updated cover letter > - Link to v1: https://lore.kernel.org/r/20250813-mt8365-enable-gpu-v1-0-46c44c6c1566@collabora.com > > --- > Louis-Alexis Eyraud (3): > dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC > arm64: dts: mediatek: mt8365: Add GPU support > arm64: dts: mediatek: mt8365-evk: Enable GPU support > > .../devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 + > arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++ > arch/arm64/boot/dts/mediatek/mt8365.dtsi | 43 +++++++++++++++++++++- > 3 files changed, 52 insertions(+), 1 deletion(-) > --- > base-commit: 853c202e4aec8006c2c1367b052c9f8949db019a > change-id: 20250812-mt8365-enable-gpu-a39835dca7fc > > Best regards,
[+cc Boris, Steven] Hi, On Tue, Oct 21, 2025 at 10:03:52AM +0200, AngeloGioacchino Del Regno wrote: > Il 21/10/25 09:30, Louis-Alexis Eyraud ha scritto: > > This patchset adds the support of the ARM Mali G52 MC1 GPU (Bifrost), > > integrated to the Mediatek MT8365 SoC, and its enablement to the > > Mediatek Genio 350-EVK board. > > > > I've tested this patchset on a Mediatek Genio 350-EVK board, > > with a kernel based on linux-next (tag: next-20251021). > > > > Thanks for this one! This series is ready to be merged. > > However, in order to take the DT patches I need someone to pick > the binding first. The binding patch submission is missing most of the maintainers potentially doing that in To/Cc ;) Somebody should update the MAINTAINERS entry for "ARM MALI PANFROST DRM DRIVER" to include the binding file, just like it is handled for the PANTHOR driver in the next section. Greetings, -- Sebastian > > Cheers, > Angelo > > > The panfrost driver probed with the following messages: > > ``` > > panfrost 13040000.gpu: clock rate = 450000031 > > panfrost 13040000.gpu: mali-g52 id 0x7402 major 0x1 minor 0x0 status > > 0x0 > > panfrost 13040000.gpu: features: 00000000,00000df7, issues: 00000000, > > 00000400 > > panfrost 13040000.gpu: Features: L2:0x07110206 Shader:0x00000003 > > Tiler:0x00000209 Mem:0x1 MMU:0x00002823 AS:0xff JS:0x7 > > panfrost 13040000.gpu: shader_present=0x1 l2_present=0x1 > > [drm] Initialized panfrost 1.5.0 for 13040000.gpu on minor 0 > > ``` > > > > Running glmark2-es2-drm with MESA 25.2 is also OK: > > ``` > > ======================================================= > > glmark2 2023.01 > > ======================================================= > > OpenGL Information > > GL_VENDOR: Mesa > > GL_RENDERER: Mali-G52 r1 (Panfrost) > > GL_VERSION: OpenGL ES 3.1 Mesa 25.2.5-1 > > Surface Config: buf=32 r=8 g=8 b=8 a=8 depth=24 stencil=0 samples=0 > > Surface Size: 1200x1920 fullscreen > > ======================================================= > > [build] use-vbo=false: FPS: 513 FrameTime: 1.952 ms > > [build] use-vbo=true: FPS: 514 FrameTime: 1.947 ms > > [texture] texture-filter=nearest: FPS: 489 FrameTime: 2.046 ms > > [texture] texture-filter=linear: FPS: 486 FrameTime: 2.061 ms > > [texture] texture-filter=mipmap: FPS: 476 FrameTime: 2.101 ms > > [shading] shading=gouraud: FPS: 436 FrameTime: 2.296 ms > > [shading] shading=blinn-phong-inf: FPS: 387 FrameTime: 2.585 ms > > [shading] shading=phong: FPS: 253 FrameTime: 3.955 ms > > [shading] shading=cel: FPS: 232 FrameTime: 4.328 ms > > [bump] bump-render=high-poly: FPS: 266 FrameTime: 3.765 ms > > [bump] bump-render=normals: FPS: 421 FrameTime: 2.376 ms > > [bump] bump-render=height: FPS: 343 FrameTime: 2.922 ms > > [effect2d] kernel=0,1,0;1,-4,1;0,1,0;: FPS: 133 FrameTime: 7.521 ms > > [effect2d] kernel=1,1,1,1,1;1,1,1,1,1;1,1,1,1,1;: FPS: 46 FrameTime: > > 21.990 ms > > [pulsar] light=false:quads=5:texture=false: FPS: 379 FrameTime: 2.645 ms > > [desktop] blur-radius=5:effect=blur:passes=1:separable=true:windows=4: > > FPS: 57 FrameTime: 17.735 ms > > [desktop] effect=shadow:windows=4: FPS: 249 FrameTime: 4.018 ms > > [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction > > =0.5:update-method=map: FPS: 81 FrameTime: 12.447 ms > > [buffer] columns=200:interleave=false:update-dispersion=0.9:update-fraction > > =0.5:update-method=subdata: FPS: 81 FrameTime: 12.388 ms > > [buffer] columns=200:interleave=true:update-dispersion=0.9:update-fraction > > =0.5:update-method=map: FPS: 99 FrameTime: 10.127 ms > > [ideas] speed=duration: FPS: 287 FrameTime: 3.492 ms > > [jellyfish] <default>: FPS: 114 FrameTime: 8.842 ms > > [terrain] <default>: FPS: 14 FrameTime: 76.911 ms > > [shadow] <default>: FPS: 156 FrameTime: 6.432 ms > > [refract] <default>: FPS: 29 FrameTime: 34.791 ms > > [conditionals] fragment-steps=0:vertex-steps=0: FPS: 529 FrameTime: 1.890 ms > > [conditionals] fragment-steps=5:vertex-steps=0: FPS: 326 FrameTime: 3.076 ms > > [conditionals] fragment-steps=0:vertex-steps=5: FPS: 532 FrameTime: 1.880 ms > > [function] fragment-complexity=low:fragment-steps=5: FPS: 475 FrameTime: > > 2.106 ms > > [function] fragment-complexity=medium:fragment-steps=5: FPS: 227 > > FrameTime: 4.417 ms > > [loop] fragment-loop=false:fragment-steps=5:vertex-steps=5: FPS: 475 > > FrameTime: 2.108 ms > > [loop] fragment-steps=5:fragment-uniform=false:vertex-steps=5: FPS: 474 > > FrameTime: 2.110 ms > > [loop] fragment-steps=5:fragment-uniform=true:vertex-steps=5: FPS: 226 > > FrameTime: 4.428 ms > > ======================================================= > > glmark2 Score: 296 > > ======================================================= > > ``` > > > > Signed-off-by: Louis-Alexis Eyraud <louisalexis.eyraud@collabora.com> > > --- > > Changes in v2: > > - Rebased on next-20251021 tag > > - Fixed missing blank lines in 'arm64: dts: mediatek: mt8365: Add GPU > > support' patch > > - Added reviewed-by and acked-by trailers > > - Updated cover letter > > - Link to v1: https://lore.kernel.org/r/20250813-mt8365-enable-gpu-v1-0-46c44c6c1566@collabora.com > > > > --- > > Louis-Alexis Eyraud (3): > > dt-bindings: gpu: mali-bifrost: Add compatible for MT8365 SoC > > arm64: dts: mediatek: mt8365: Add GPU support > > arm64: dts: mediatek: mt8365-evk: Enable GPU support > > > > .../devicetree/bindings/gpu/arm,mali-bifrost.yaml | 1 + > > arch/arm64/boot/dts/mediatek/mt8365-evk.dts | 9 +++++ > > arch/arm64/boot/dts/mediatek/mt8365.dtsi | 43 +++++++++++++++++++++- > > 3 files changed, 52 insertions(+), 1 deletion(-) > > --- > > base-commit: 853c202e4aec8006c2c1367b052c9f8949db019a > > change-id: 20250812-mt8365-enable-gpu-a39835dca7fc > > > > Best regards, > >
On Tue, 21 Oct 2025 09:30:50 +0200, Louis-Alexis Eyraud wrote:
> This patchset adds the support of the ARM Mali G52 MC1 GPU (Bifrost),
> integrated to the Mediatek MT8365 SoC, and its enablement to the
> Mediatek Genio 350-EVK board.
>
> I've tested this patchset on a Mediatek Genio 350-EVK board,
> with a kernel based on linux-next (tag: next-20251021).
>
> [...]
Applied to v6.18-next/dts64, thanks!
[2/3] arm64: dts: mediatek: mt8365: Add GPU support
commit: 499af66b8f421a1f1612ff84c81a47ca569654b8
[3/3] arm64: dts: mediatek: mt8365-evk: Enable GPU support
commit: c8dd72788f52d3fde091c0d6249c45b9467b69f6
Cheers,
Angelo
© 2016 - 2025 Red Hat, Inc.