From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
MediaTek MT8192 has a Mali-G57 with a special GPU ID. Add its GPU ID,
but treat it as otherwise identical to a standard Mali-G57.
We do _not_ fix up the GPU ID here -- userspace needs to be aware of the
special GPU ID, in case we find functional differences between
MediaTek's implementation and the standard Mali-G57 down the line.
Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Steven Price <steven.price@arm.com>
---
drivers/gpu/drm/panfrost/panfrost_gpu.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
index 6452e4e900dd..d28b99732dde 100644
--- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
+++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
@@ -204,6 +204,14 @@ static const struct panfrost_model gpu_models[] = {
GPU_MODEL(g57, 0x9001,
GPU_REV(g57, 0, 0)),
+
+ /* MediaTek MT8192 has a Mali-G57 with a different GPU ID from the
+ * standard. Arm's driver does not appear to handle this model.
+ * ChromeOS has a hack downstream for it. Treat it as equivalent to
+ * standard Mali-G57 for now.
+ */
+ GPU_MODEL(g57, 0x9003,
+ GPU_REV(g57, 0, 0)),
};
static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
--
2.39.2
On Thu, Feb 23, 2023 at 9:35 PM AngeloGioacchino Del Regno
<angelogioacchino.delregno@collabora.com> wrote:
>
> From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
>
> MediaTek MT8192 has a Mali-G57 with a special GPU ID. Add its GPU ID,
> but treat it as otherwise identical to a standard Mali-G57.
>
> We do _not_ fix up the GPU ID here -- userspace needs to be aware of the
> special GPU ID, in case we find functional differences between
> MediaTek's implementation and the standard Mali-G57 down the line.
>
> Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
> Reviewed-by: Steven Price <steven.price@arm.com>
Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
As previously mentioned, MT8195 Mali G57 has minor revision number 1.
Do we need to handle that?
> ---
> drivers/gpu/drm/panfrost/panfrost_gpu.c | 8 ++++++++
> 1 file changed, 8 insertions(+)
>
> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> index 6452e4e900dd..d28b99732dde 100644
> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
> @@ -204,6 +204,14 @@ static const struct panfrost_model gpu_models[] = {
>
> GPU_MODEL(g57, 0x9001,
> GPU_REV(g57, 0, 0)),
> +
> + /* MediaTek MT8192 has a Mali-G57 with a different GPU ID from the
> + * standard. Arm's driver does not appear to handle this model.
> + * ChromeOS has a hack downstream for it. Treat it as equivalent to
> + * standard Mali-G57 for now.
> + */
> + GPU_MODEL(g57, 0x9003,
> + GPU_REV(g57, 0, 0)),
> };
>
> static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
> --
> 2.39.2
>
Il 24/02/23 11:06, Chen-Yu Tsai ha scritto:
> On Thu, Feb 23, 2023 at 9:35 PM AngeloGioacchino Del Regno
> <angelogioacchino.delregno@collabora.com> wrote:
>>
>> From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
>>
>> MediaTek MT8192 has a Mali-G57 with a special GPU ID. Add its GPU ID,
>> but treat it as otherwise identical to a standard Mali-G57.
>>
>> We do _not_ fix up the GPU ID here -- userspace needs to be aware of the
>> special GPU ID, in case we find functional differences between
>> MediaTek's implementation and the standard Mali-G57 down the line.
>>
>> Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
>> Signed-off-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
>> Reviewed-by: Steven Price <steven.price@arm.com>
>
> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
>
> As previously mentioned, MT8195 Mali G57 has minor revision number 1.
> Do we need to handle that?
>
Maybe something went wrong while sending the reply to the same question on v2?
Anyway, from what I can see on my MT8195 machine, it works fine without adding
any particular handling...
Alyssa, Steven,
are you aware of anything that we should consider?
Regards,
Angelo
>> ---
>> drivers/gpu/drm/panfrost/panfrost_gpu.c | 8 ++++++++
>> 1 file changed, 8 insertions(+)
>>
>> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> index 6452e4e900dd..d28b99732dde 100644
>> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>> @@ -204,6 +204,14 @@ static const struct panfrost_model gpu_models[] = {
>>
>> GPU_MODEL(g57, 0x9001,
>> GPU_REV(g57, 0, 0)),
>> +
>> + /* MediaTek MT8192 has a Mali-G57 with a different GPU ID from the
>> + * standard. Arm's driver does not appear to handle this model.
>> + * ChromeOS has a hack downstream for it. Treat it as equivalent to
>> + * standard Mali-G57 for now.
>> + */
>> + GPU_MODEL(g57, 0x9003,
>> + GPU_REV(g57, 0, 0)),
>> };
>>
>> static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
>> --
>> 2.39.2
>>
On 24/02/2023 13:08, AngeloGioacchino Del Regno wrote:
> Il 24/02/23 11:06, Chen-Yu Tsai ha scritto:
>> On Thu, Feb 23, 2023 at 9:35 PM AngeloGioacchino Del Regno
>> <angelogioacchino.delregno@collabora.com> wrote:
>>>
>>> From: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
>>>
>>> MediaTek MT8192 has a Mali-G57 with a special GPU ID. Add its GPU ID,
>>> but treat it as otherwise identical to a standard Mali-G57.
>>>
>>> We do _not_ fix up the GPU ID here -- userspace needs to be aware of the
>>> special GPU ID, in case we find functional differences between
>>> MediaTek's implementation and the standard Mali-G57 down the line.
>>>
>>> Signed-off-by: Alyssa Rosenzweig <alyssa.rosenzweig@collabora.com>
>>> Signed-off-by: AngeloGioacchino Del Regno
>>> <angelogioacchino.delregno@collabora.com>
>>> Reviewed-by: Steven Price <steven.price@arm.com>
>>
>> Reviewed-by: Chen-Yu Tsai <wenst@chromium.org>
>>
>> As previously mentioned, MT8195 Mali G57 has minor revision number 1.
>> Do we need to handle that?
>>
>
> Maybe something went wrong while sending the reply to the same question
> on v2?
>
> Anyway, from what I can see on my MT8195 machine, it works fine without
> adding
> any particular handling...
>
> Alyssa, Steven,
> are you aware of anything that we should consider?
The minor revision means that the set of HW workarounds might be
different. Specifically it appears that "BASE_HW_ISSUE_TTRX_3485"
applies to G57 ('Natt') r0p0 but not r0p1.
That particular workaround is a horrendous "dummy job" in kbase and we
don't have an implementation in Panfrost. However Panfrost also doesn't
(yet[1]) proactively SOFT_STOP jobs so is also unlikely to be affected.
TLDR; Minor revision 1 has a HW bug fixed, Panfrost isn't affected by
the bug anyway.
Steve
[1] It's been on my todo list for a while to look at improving job
scheduling, but to be honest I doubt I'm going to get round to it with
Panfrost, and PanCSF obviously changes the job scheduling anyway.
> Regards,
> Angelo
>
>>> ---
>>> drivers/gpu/drm/panfrost/panfrost_gpu.c | 8 ++++++++
>>> 1 file changed, 8 insertions(+)
>>>
>>> diff --git a/drivers/gpu/drm/panfrost/panfrost_gpu.c
>>> b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>>> index 6452e4e900dd..d28b99732dde 100644
>>> --- a/drivers/gpu/drm/panfrost/panfrost_gpu.c
>>> +++ b/drivers/gpu/drm/panfrost/panfrost_gpu.c
>>> @@ -204,6 +204,14 @@ static const struct panfrost_model gpu_models[] = {
>>>
>>> GPU_MODEL(g57, 0x9001,
>>> GPU_REV(g57, 0, 0)),
>>> +
>>> + /* MediaTek MT8192 has a Mali-G57 with a different GPU ID
>>> from the
>>> + * standard. Arm's driver does not appear to handle this model.
>>> + * ChromeOS has a hack downstream for it. Treat it as
>>> equivalent to
>>> + * standard Mali-G57 for now.
>>> + */
>>> + GPU_MODEL(g57, 0x9003,
>>> + GPU_REV(g57, 0, 0)),
>>> };
>>>
>>> static void panfrost_gpu_init_features(struct panfrost_device *pfdev)
>>> --
>>> 2.39.2
>>>
>
>
© 2016 - 2026 Red Hat, Inc.