drm/etnaviv: ignore VG GPUs with FE2.0
authorRussell King <rmk+kernel@arm.linux.org.uk>
Thu, 21 Jan 2016 15:19:59 +0000 (15:19 +0000)
committerLucas Stach <l.stach@pengutronix.de>
Tue, 26 Jan 2016 17:53:27 +0000 (18:53 +0100)
Ignore GPUs with a 2.0 front end.  These have a different register
layout for the front end, which provokes imprecise aborts from the
register accesses in the 'gpu' debugfs file.

Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
Signed-off-by: Lucas Stach <l.stach@pengutronix.de>
drivers/gpu/drm/etnaviv/etnaviv_gpu.c

index e0e68dd7565d04804e3536ea05b53ec6b33c1d46..a9530f59e6feaa4a406e6c37f93966b55b391f21 100644 (file)
@@ -515,6 +515,14 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
                goto fail;
        }
 
+       /* Exclude VG cores with FE2.0 */
+       if (gpu->identity.features & chipFeatures_PIPE_VG &&
+           gpu->identity.features & chipFeatures_FE20) {
+               dev_info(gpu->dev, "Ignoring GPU with VG and FE2.0\n");
+               ret = -ENXIO;
+               goto fail;
+       }
+
        ret = etnaviv_hw_reset(gpu);
        if (ret)
                goto fail;