]> git.dujemihanovic.xyz Git - linux.git/commitdiff
drm/etnaviv: disable tx clock gating for GC7000 rev6203
authorMarco Felsch <m.felsch@pengutronix.de>
Fri, 26 Aug 2022 19:07:28 +0000 (21:07 +0200)
committerLucas Stach <l.stach@pengutronix.de>
Fri, 23 Sep 2022 20:04:14 +0000 (22:04 +0200)
The i.MX8MN SoC errata sheet mentions ERR050226: "GPU: Texture L2 Cache
idle signal may incorrectly clock gate the texture engine in GPU".

The workaround is to disable the corresponding clock gatings.

While on it move the clock gating check for rev6202 into the same check
to bundle them.

Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Christian Gmeiner <christian.gmeiner@gmail.com>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c

index ed2f9c8f288c517acd2b450606eca3e101f1bd04..51320eeebfcff304e0d16f776a0895c30c9a82af 100644 (file)
@@ -623,14 +623,15 @@ static void etnaviv_gpu_enable_mlcg(struct etnaviv_gpu *gpu)
 
        /* Disable TX clock gating on affected core revisions. */
        if (etnaviv_is_model_rev(gpu, GC4000, 0x5222) ||
-           etnaviv_is_model_rev(gpu, GC2000, 0x5108))
+           etnaviv_is_model_rev(gpu, GC2000, 0x5108) ||
+           etnaviv_is_model_rev(gpu, GC2000, 0x6202) ||
+           etnaviv_is_model_rev(gpu, GC2000, 0x6203))
                pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_TX;
 
-       /* Disable SE, RA and TX clock gating on affected core revisions. */
+       /* Disable SE and RA 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;
+                      VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA;
 
        pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_HZ;
        pmc |= VIVS_PM_MODULE_CONTROLS_DISABLE_MODULE_CLOCK_GATING_RA_EZ;