* [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support
@ 2021-06-18 12:04 Michael Walle
2021-06-18 12:04 ` [PATCH 1/2] drm/etnaviv: add HWDB entry for GC7000 r6202 Michael Walle
` (2 more replies)
0 siblings, 3 replies; 4+ messages in thread
From: Michael Walle @ 2021-06-18 12:04 UTC (permalink / raw)
To: etnaviv, dri-devel, linux-kernel
Cc: Lucas Stach, Russell King, Christian Gmeiner, David Airlie,
Daniel Vetter, Lukas F . Hartmann, Michael Walle
This is the first step to bring GPU support to the NXP LS1028A SoC. It
features a Mali DP500, a Vivante GC7000 and has one DisplayPort output
which is driven by a Cadence MHDP controller and PHY.
This was briefly tested with glmark2, a patched mesa kmsro driver [1]
to support the mali DP500/GC7000 duo, fixes from mesa merge request
9255 [2] and using ETNA_MESA_DEBUG=no_supertile,no_ts.
[1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11419
[2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255
Michael Walle (2):
drm/etnaviv: add HWDB entry for GC7000 r6202
drm/etnaviv: add clock gating workaround for GC7000 r6202
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 6 +++++
drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 31 ++++++++++++++++++++++++++
2 files changed, 37 insertions(+)
--
2.20.1
^ permalink raw reply [flat|nested] 4+ messages in thread
* [PATCH 1/2] drm/etnaviv: add HWDB entry for GC7000 r6202
2021-06-18 12:04 [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Michael Walle
@ 2021-06-18 12:04 ` Michael Walle
2021-06-18 12:04 ` [PATCH 2/2] drm/etnaviv: add clock gating workaround " Michael Walle
2021-07-06 16:33 ` [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Lucas Stach
2 siblings, 0 replies; 4+ messages in thread
From: Michael Walle @ 2021-06-18 12:04 UTC (permalink / raw)
To: etnaviv, dri-devel, linux-kernel
Cc: Lucas Stach, Russell King, Christian Gmeiner, David Airlie,
Daniel Vetter, Lukas F . Hartmann, Michael Walle
The GPU is found on the NXP LS1028A SoC. The feature bits are taken from
the NXP downstream kernel driver 6.4.3.p1.
Signed-off-by: Michael Walle <michael@walle.cc>
---
changes since RFC:
- none
drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 31 ++++++++++++++++++++++++++
1 file changed, 31 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
index dfc0f536b3b9..f2fc645c7956 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_hwdb.c
@@ -37,6 +37,37 @@ static const struct etnaviv_chip_identity etnaviv_chip_identities[] = {
.minor_features10 = 0x0,
.minor_features11 = 0x0,
},
+ {
+ .model = 0x7000,
+ .revision = 0x6202,
+ .product_id = 0x70003,
+ .customer_id = 0,
+ .eco_id = 0,
+ .stream_count = 8,
+ .register_max = 64,
+ .thread_count = 512,
+ .shader_core_count = 2,
+ .vertex_cache_size = 16,
+ .vertex_output_buffer_size = 1024,
+ .pixel_pipes = 1,
+ .instruction_count = 512,
+ .num_constants = 320,
+ .buffer_size = 0,
+ .varyings_count = 16,
+ .features = 0xe0287cad,
+ .minor_features0 = 0xc1489eff,
+ .minor_features1 = 0xfefbfad9,
+ .minor_features2 = 0xeb9d4fbf,
+ .minor_features3 = 0xedfffced,
+ .minor_features4 = 0xdb0dafc7,
+ .minor_features5 = 0x3b5ac333,
+ .minor_features6 = 0xfccee201,
+ .minor_features7 = 0x03fffa6f,
+ .minor_features8 = 0x00e10ef0,
+ .minor_features9 = 0x0088003c,
+ .minor_features10 = 0x00004040,
+ .minor_features11 = 0x00000024,
+ },
{
.model = 0x7000,
.revision = 0x6204,
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* [PATCH 2/2] drm/etnaviv: add clock gating workaround for GC7000 r6202
2021-06-18 12:04 [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Michael Walle
2021-06-18 12:04 ` [PATCH 1/2] drm/etnaviv: add HWDB entry for GC7000 r6202 Michael Walle
@ 2021-06-18 12:04 ` Michael Walle
2021-07-06 16:33 ` [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Lucas Stach
2 siblings, 0 replies; 4+ messages in thread
From: Michael Walle @ 2021-06-18 12:04 UTC (permalink / raw)
To: etnaviv, dri-devel, linux-kernel
Cc: Lucas Stach, Russell King, Christian Gmeiner, David Airlie,
Daniel Vetter, Lukas F . Hartmann, Michael Walle
The LS1028A SoC errata sheet mentions A-050121 "GPU hangs if clock
gating for Rasterizer, Setup Engine and Texture Engine are enabled".
The workaround is to disable the corresponding clock gatings.
Signed-off-by: Michael Walle <michael@walle.cc>
---
changes since RFC:
- corrected the wording of the comment
drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
index 4102bcea3341..c297fffe06eb 100644
--- a/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
+++ b/drivers/gpu/drm/etnaviv/etnaviv_gpu.c
@@ -613,6 +613,12 @@ static void etnaviv_gpu_enable_mlcg(struct etnaviv_gpu *gpu)
etnaviv_is_model_rev(gpu, GC2000, 0x5108))
pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX;
+ /* Disable SE, RA and TX clock gating on affected core revisions. */
+ if (etnaviv_is_model_rev(gpu, GC7000, 0x6202))
+ pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_SE |
+ VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA |
+ VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX;
+
pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_HZ;
pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_EZ;
--
2.20.1
^ permalink raw reply related [flat|nested] 4+ messages in thread
* Re: [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support
2021-06-18 12:04 [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Michael Walle
2021-06-18 12:04 ` [PATCH 1/2] drm/etnaviv: add HWDB entry for GC7000 r6202 Michael Walle
2021-06-18 12:04 ` [PATCH 2/2] drm/etnaviv: add clock gating workaround " Michael Walle
@ 2021-07-06 16:33 ` Lucas Stach
2 siblings, 0 replies; 4+ messages in thread
From: Lucas Stach @ 2021-07-06 16:33 UTC (permalink / raw)
To: Michael Walle, etnaviv, dri-devel, linux-kernel
Cc: Russell King, Christian Gmeiner, David Airlie, Daniel Vetter,
Lukas F . Hartmann
Am Freitag, dem 18.06.2021 um 14:04 +0200 schrieb Michael Walle:
> This is the first step to bring GPU support to the NXP LS1028A SoC. It
> features a Mali DP500, a Vivante GC7000 and has one DisplayPort output
> which is driven by a Cadence MHDP controller and PHY.
>
> This was briefly tested with glmark2, a patched mesa kmsro driver [1]
> to support the mali DP500/GC7000 duo, fixes from mesa merge request
> 9255 [2] and using ETNA_MESA_DEBUG=no_supertile,no_ts.
>
> [1] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/11419
> [2] https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/9255
>
> Michael Walle (2):
> drm/etnaviv: add HWDB entry for GC7000 r6202
> drm/etnaviv: add clock gating workaround for GC7000 r6202
>
> drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 6 +++++
> drivers/gpu/drm/etnaviv/etnaviv_hwdb.c | 31 ++++++++++++++++++++++++++
> 2 files changed, 37 insertions(+)
Thanks, I've applied this series to my etnaviv/next branch.
Regards,
Lucas
^ permalink raw reply [flat|nested] 4+ messages in thread
end of thread, other threads:[~2021-07-06 16:33 UTC | newest]
Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-06-18 12:04 [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Michael Walle
2021-06-18 12:04 ` [PATCH 1/2] drm/etnaviv: add HWDB entry for GC7000 r6202 Michael Walle
2021-06-18 12:04 ` [PATCH 2/2] drm/etnaviv: add clock gating workaround " Michael Walle
2021-07-06 16:33 ` [PATCH 0/2] drm/etnaviv: add GC7000 r6202 support Lucas Stach
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).