[PATCH v2 0/3] Add Mali GPU support for Mediatek MT8365 SoC

Louis-Alexis Eyraud posted 3 patches 1 month, 3 weeks ago
.../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(-)
[PATCH v2 0/3] Add Mali GPU support for Mediatek MT8365 SoC
Posted by Louis-Alexis Eyraud 1 month, 3 weeks ago
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>
Re: [PATCH v2 0/3] Add Mali GPU support for Mediatek MT8365 SoC
Posted by AngeloGioacchino Del Regno 1 month, 3 weeks ago
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,
Re: [PATCH v2 0/3] Add Mali GPU support for Mediatek MT8365 SoC
Posted by Sebastian Reichel 1 month, 3 weeks ago
[+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,
> 
>
Re: (subset) [PATCH v2 0/3] Add Mali GPU support for Mediatek MT8365 SoC
Posted by AngeloGioacchino Del Regno 1 month, 2 weeks ago
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