* Re: [PATCH] drm/panfrost: add Mali-G68 support
2026-08-03 9:35 [PATCH] drm/panfrost: add Mali-G68 support Markuss Broks via B4 Relay
@ 2026-08-17 14:14 ` Steven Price
2026-09-11 23:45 ` Adrián Larumbe
2026-10-02 23:19 ` Adrián Larumbe
2 siblings, 0 replies; 5+ messages in thread
From: Steven Price @ 2026-08-17 14:14 UTC (permalink / raw)
To: markuss.broks, Boris Brezillon, Rob Herring, Adrián Larumbe,
Maarten Lankhorst, Maxime Ripard, Thomas Zimmermann,
David Airlie, Simona Vetter
Cc: dri-devel, linux-kernel
On 03/08/2026 10:35, Markuss Broks via B4 Relay wrote:
> From: Markuss Broks <markuss.broks@gmail.com>
>
> Add the features, issues, and ID for Mali-G68, a first-generation
> (v9) Valhall GPU.
> Tested on Exynos8835: the GPU reports GPU_ID 0x9204 (G68 r1p1).
>
> Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
Reviewed-by: Steven Price <steven.price@arm.com>
> ---
> drivers/gpu/drm/panfrost/panfrost_features.h | 2 ++
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 3 +++
> drivers/gpu/drm/panfrost/panfrost_issues.h | 8 ++++++++
> 3 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_features.h b/drivers/gpu/drm/panfrost/panfrost_features.h
> index 52f9d69f6db9..34c65847192f 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_features.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_features.h
> @@ -121,6 +121,8 @@ enum panfrost_hw_feature {
> BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \
> BIT_ULL(HW_FEATURE_CLEAN_ONLY_SAFE))
>
> +#define hw_features_g68 hw_features_g57
> +
> static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev,
> enum panfrost_hw_feature feat)
> {
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> index 7d555e63e21a..83223192a544 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -242,6 +242,9 @@ static const struct panfrost_model gpu_models[] = {
> /* MediaTek MT8188 Mali-G57 MC3 */
> GPU_MODEL(g57, 0x9093,
> GPU_REV(g57, 0, 0)),
> +
> + GPU_MODEL(g68, 0x9004,
> + GPU_REV(g68, 1, 0), GPU_REV(g68, 1, 1)),
> {0},
> };
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_issues.h b/drivers/gpu/drm/panfrost/panfrost_issues.h
> index eb60cb83667a..dd39946bb572 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_issues.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_issues.h
> @@ -265,6 +265,14 @@ enum panfrost_hw_issue {
> #define hw_issues_g57_r0p0 (\
> BIT_ULL(HW_ISSUE_TTRX_3485))
>
> +#define hw_issues_g68 (\
> + BIT_ULL(HW_ISSUE_TTRX_2968_TTRX_3162))
> +
> +#define hw_issues_g68_r1p0 (\
> + BIT_ULL(HW_ISSUE_TTRX_3485))
> +
> +#define hw_issues_g68_r1p1 0
> +
> static inline bool panfrost_has_hw_issue(const struct panfrost_device *pfdev,
> enum panfrost_hw_issue issue)
> {
>
> ---
> base-commit: 415606a7be939835db9b0d6b711887586646346d
> change-id: 20260803-staging-mainline-ebe89543b632
>
> Best regards,
> --
> Markuss Broks <markuss.broks@gmail.com>
>
>
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/panfrost: add Mali-G68 support
2026-08-03 9:35 [PATCH] drm/panfrost: add Mali-G68 support Markuss Broks via B4 Relay
2026-08-17 14:14 ` Steven Price
@ 2026-09-11 23:45 ` Adrián Larumbe
2026-10-02 23:19 ` Adrián Larumbe
2 siblings, 0 replies; 5+ messages in thread
From: Adrián Larumbe @ 2026-09-11 23:45 UTC (permalink / raw)
To: markuss.broks
Cc: Boris Brezillon, Rob Herring, Steven Price, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
dri-devel, linux-kernel
Hi Markuss,
I've no means to test this on real hardware, but other than that:
Reviewed-by: Adrián Larumbe <adrian.larumbe@collabora.com>
On 03.08.2026 12:35, Markuss Broks via B4 Relay wrote:
> From: Markuss Broks <markuss.broks@gmail.com>
>
> Add the features, issues, and ID for Mali-G68, a first-generation
> (v9) Valhall GPU.
> Tested on Exynos8835: the GPU reports GPU_ID 0x9204 (G68 r1p1).
>
> Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> ---
> drivers/gpu/drm/panfrost/panfrost_features.h | 2 ++
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 3 +++
> drivers/gpu/drm/panfrost/panfrost_issues.h | 8 ++++++++
> 3 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_features.h b/drivers/gpu/drm/panfrost/panfrost_features.h
> index 52f9d69f6db9..34c65847192f 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_features.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_features.h
> @@ -121,6 +121,8 @@ enum panfrost_hw_feature {
> BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \
> BIT_ULL(HW_FEATURE_CLEAN_ONLY_SAFE))
>
> +#define hw_features_g68 hw_features_g57
> +
> static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev,
> enum panfrost_hw_feature feat)
> {
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> index 7d555e63e21a..83223192a544 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -242,6 +242,9 @@ static const struct panfrost_model gpu_models[] = {
> /* MediaTek MT8188 Mali-G57 MC3 */
> GPU_MODEL(g57, 0x9093,
> GPU_REV(g57, 0, 0)),
> +
> + GPU_MODEL(g68, 0x9004,
> + GPU_REV(g68, 1, 0), GPU_REV(g68, 1, 1)),
> {0},
> };
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_issues.h b/drivers/gpu/drm/panfrost/panfrost_issues.h
> index eb60cb83667a..dd39946bb572 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_issues.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_issues.h
> @@ -265,6 +265,14 @@ enum panfrost_hw_issue {
> #define hw_issues_g57_r0p0 (\
> BIT_ULL(HW_ISSUE_TTRX_3485))
>
> +#define hw_issues_g68 (\
> + BIT_ULL(HW_ISSUE_TTRX_2968_TTRX_3162))
> +
> +#define hw_issues_g68_r1p0 (\
> + BIT_ULL(HW_ISSUE_TTRX_3485))
> +
> +#define hw_issues_g68_r1p1 0
> +
> static inline bool panfrost_has_hw_issue(const struct panfrost_device *pfdev,
> enum panfrost_hw_issue issue)
> {
>
> ---
> base-commit: 415606a7be939835db9b0d6b711887586646346d
> change-id: 20260803-staging-mainline-ebe89543b632
>
> Best regards,
> --
> Markuss Broks <markuss.broks@gmail.com>
Adrian Larumbe
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/panfrost: add Mali-G68 support
2026-08-03 9:35 [PATCH] drm/panfrost: add Mali-G68 support Markuss Broks via B4 Relay
2026-08-17 14:14 ` Steven Price
2026-09-11 23:45 ` Adrián Larumbe
@ 2026-10-02 23:19 ` Adrián Larumbe
2026-10-05 13:48 ` Steven Price
2 siblings, 1 reply; 5+ messages in thread
From: Adrián Larumbe @ 2026-10-02 23:19 UTC (permalink / raw)
To: markuss.broks
Cc: Boris Brezillon, Rob Herring, Steven Price, Maarten Lankhorst,
Maxime Ripard, Thomas Zimmermann, David Airlie, Simona Vetter,
dri-devel, linux-kernel
Queued to drm-misc-next.
One thing though, I had to adjust the indentation of the GPU_REV() macro before merging.
Not a big deal, but always make sure to run the following in your branch before submission:
./scripts/checkpatch.pl --strict --git first_commit~..HEAD
Also, I suppose you didn't have a chance to test it on a g68_r1p0. That would be of interest
because of HW_ISSUE_TTRX_3485, which seems to mandate the submission of a dummy job before
any real further work. It seems at the moment there's no such a workaround either in the
UM Mesa driver or the Panfrost KMD.
Maybe Steven or Boris could elaborate on this?
On 03.08.2026 12:35, Markuss Broks via B4 Relay wrote:
> From: Markuss Broks <markuss.broks@gmail.com>
>
> Add the features, issues, and ID for Mali-G68, a first-generation
> (v9) Valhall GPU.
> Tested on Exynos8835: the GPU reports GPU_ID 0x9204 (G68 r1p1).
>
> Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
> ---
> drivers/gpu/drm/panfrost/panfrost_features.h | 2 ++
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 3 +++
> drivers/gpu/drm/panfrost/panfrost_issues.h | 8 ++++++++
> 3 files changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_features.h b/drivers/gpu/drm/panfrost/panfrost_features.h
> index 52f9d69f6db9..34c65847192f 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_features.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_features.h
> @@ -121,6 +121,8 @@ enum panfrost_hw_feature {
> BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \
> BIT_ULL(HW_FEATURE_CLEAN_ONLY_SAFE))
>
> +#define hw_features_g68 hw_features_g57
> +
> static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev,
> enum panfrost_hw_feature feat)
> {
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> index 7d555e63e21a..83223192a544 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -242,6 +242,9 @@ static const struct panfrost_model gpu_models[] = {
> /* MediaTek MT8188 Mali-G57 MC3 */
> GPU_MODEL(g57, 0x9093,
> GPU_REV(g57, 0, 0)),
> +
> + GPU_MODEL(g68, 0x9004,
> + GPU_REV(g68, 1, 0), GPU_REV(g68, 1, 1)),
> {0},
> };
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_issues.h b/drivers/gpu/drm/panfrost/panfrost_issues.h
> index eb60cb83667a..dd39946bb572 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_issues.h
> +++ b/drivers/gpu/drm/panfrost/panfrost_issues.h
> @@ -265,6 +265,14 @@ enum panfrost_hw_issue {
> #define hw_issues_g57_r0p0 (\
> BIT_ULL(HW_ISSUE_TTRX_3485))
>
> +#define hw_issues_g68 (\
> + BIT_ULL(HW_ISSUE_TTRX_2968_TTRX_3162))
> +
> +#define hw_issues_g68_r1p0 (\
> + BIT_ULL(HW_ISSUE_TTRX_3485))
> +
> +#define hw_issues_g68_r1p1 0
> +
> static inline bool panfrost_has_hw_issue(const struct panfrost_device *pfdev,
> enum panfrost_hw_issue issue)
> {
>
> ---
> base-commit: 415606a7be939835db9b0d6b711887586646346d
> change-id: 20260803-staging-mainline-ebe89543b632
>
> Best regards,
> --
> Markuss Broks <markuss.broks@gmail.com>
Adrian Larumbe
^ permalink raw reply [flat|nested] 5+ messages in thread* Re: [PATCH] drm/panfrost: add Mali-G68 support
2026-10-02 23:19 ` Adrián Larumbe
@ 2026-10-05 13:48 ` Steven Price
0 siblings, 0 replies; 5+ messages in thread
From: Steven Price @ 2026-10-05 13:48 UTC (permalink / raw)
To: Adrián Larumbe, markuss.broks
Cc: Boris Brezillon, Rob Herring, Maarten Lankhorst, Maxime Ripard,
Thomas Zimmermann, David Airlie, Simona Vetter, dri-devel,
linux-kernel
On 03/10/2026 00:19, Adrián Larumbe wrote:
> Queued to drm-misc-next.
>
> One thing though, I had to adjust the indentation of the GPU_REV() macro before merging.
> Not a big deal, but always make sure to run the following in your branch before submission:
>
> ./scripts/checkpatch.pl --strict --git first_commit~..HEAD
>
> Also, I suppose you didn't have a chance to test it on a g68_r1p0. That would be of interest
> because of HW_ISSUE_TTRX_3485, which seems to mandate the submission of a dummy job before
> any real further work. It seems at the moment there's no such a workaround either in the
> UM Mesa driver or the Panfrost KMD.
>
> Maybe Steven or Boris could elaborate on this?
Yes, it's an unpleasant workaround. But it's also a rare issue. It
requires that the kernel driver decides to stop a fragment job at the
wrong moment when the fragment endpoint is first configured. The GPU can
then end up hanging[1]. The hardware r1p1 fixed the issue. I believe the
workaround is to submit a dummy fragment job after power up which
ensures that the fragment endpoint is configured before any real work
(which might need to be stopped) is submitted.
What I don't actually know is if anyone shipped a r1p0 implementation.
There were internal test chips, but many if not all customers jumped to
r1p1 where the fix is present.
If there are G68 r1p0s out in the wild then they will "mostly work".
It's hard to hit the issue accidentally. So there's definitely still
value in the support even without the workaround. But if anyone does
have a Mali-G68 r1p0 (that they are trying to use Panfrost on) then it
would be good to know.
Thanks,
Steve
[1] I believe the reset logic will then recover the GPU, but will lose
any in-flight work. So you'll get rendering errors for that frame, but
things should recover.
> On 03.08.2026 12:35, Markuss Broks via B4 Relay wrote:
>> From: Markuss Broks <markuss.broks@gmail.com>
>>
>> Add the features, issues, and ID for Mali-G68, a first-generation
>> (v9) Valhall GPU.
>> Tested on Exynos8835: the GPU reports GPU_ID 0x9204 (G68 r1p1).
>>
>> Signed-off-by: Markuss Broks <markuss.broks@gmail.com>
>> ---
>> drivers/gpu/drm/panfrost/panfrost_features.h | 2 ++
>> drivers/gpu/drm/panfrost/panfrost_gpu.c | 3 +++
>> drivers/gpu/drm/panfrost/panfrost_issues.h | 8 ++++++++
>> 3 files changed, 13 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_features.h b/drivers/gpu/drm/panfrost/panfrost_features.h
>> index 52f9d69f6db9..34c65847192f 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_features.h
>> +++ b/drivers/gpu/drm/panfrost/panfrost_features.h
>> @@ -121,6 +121,8 @@ enum panfrost_hw_feature {
>> BIT_ULL(HW_FEATURE_IDVS_GROUP_SIZE) | \
>> BIT_ULL(HW_FEATURE_CLEAN_ONLY_SAFE))
>>
>> +#define hw_features_g68 hw_features_g57
>> +
>> static inline bool panfrost_has_hw_feature(struct panfrost_device *pfdev,
>> enum panfrost_hw_feature feat)
>> {
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> index 7d555e63e21a..83223192a544 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> @@ -242,6 +242,9 @@ static const struct panfrost_model gpu_models[] = {
>> /* MediaTek MT8188 Mali-G57 MC3 */
>> GPU_MODEL(g57, 0x9093,
>> GPU_REV(g57, 0, 0)),
>> +
>> + GPU_MODEL(g68, 0x9004,
>> + GPU_REV(g68, 1, 0), GPU_REV(g68, 1, 1)),
>> {0},
>> };
>>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_issues.h b/drivers/gpu/drm/panfrost/panfrost_issues.h
>> index eb60cb83667a..dd39946bb572 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_issues.h
>> +++ b/drivers/gpu/drm/panfrost/panfrost_issues.h
>> @@ -265,6 +265,14 @@ enum panfrost_hw_issue {
>> #define hw_issues_g57_r0p0 (\
>> BIT_ULL(HW_ISSUE_TTRX_3485))
>>
>> +#define hw_issues_g68 (\
>> + BIT_ULL(HW_ISSUE_TTRX_2968_TTRX_3162))
>> +
>> +#define hw_issues_g68_r1p0 (\
>> + BIT_ULL(HW_ISSUE_TTRX_3485))
>> +
>> +#define hw_issues_g68_r1p1 0
>> +
>> static inline bool panfrost_has_hw_issue(const struct panfrost_device *pfdev,
>> enum panfrost_hw_issue issue)
>> {
>>
>> ---
>> base-commit: 415606a7be939835db9b0d6b711887586646346d
>> change-id: 20260803-staging-mainline-ebe89543b632
>>
>> Best regards,
>> --
>> Markuss Broks <markuss.broks@gmail.com>
>
>
>
> Adrian Larumbe
^ permalink raw reply [flat|nested] 5+ messages in thread