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 - 2024 Red Hat, Inc.