[PATCH 01/18] drm/etnaviv: reset GPU when coming back from suspend

Lucas Stach l.stach at pengutronix.de
Mon Aug 22 12:15:25 UTC 2016


Am Montag, den 22.08.2016, 12:20 +0100 schrieb Russell King - ARM Linux:
> On Mon, Aug 22, 2016 at 01:00:55PM +0200, Lucas Stach wrote:
> > The GPU may still keep its state when in suspend, which breaks the
> > assumption that the hardware is in a clean state before the init
> > routine runs. Make sure to reset the GPU when coming back from
> > suspend, so this assumption is validated.
> 
> This doesn't mean very much to me - could you explain exactly what the
> problem you're trying to solve here is?
> 
On the i.MX6 both the 2D and 3D GPU are in the same power domain. As
long as the 2D core is in use the 3D core will not loose power during
suspend and the other way around.

So the GPU is keeping it's state during suspend. What I've seen is that
we definitely fall over when trying to configure an already enabled MMU,
as this is causing faults. But I can well imagine that we the GPU might
behave slightly different in a number of places.

Also currently the i.MX6 platform resets the GPU after powering up the
power domain, but there is no guarantee that the platform does this and
the driver should work correctly regardless. In fact im.MX6QP has an
erratum, which disallows to power down the GPU power domain, as long as
the PRE unit is active, so there will be no power-up reset when coming
back from suspend.

> This looks like it makes resuming the GPU quite expensive.
> 
Possibly, yes. But the timeouts for runtime PM are really long right
now, so we should not power down the GPU when it's in active use. So
taking a little longer to resume the GPU shouldn't matter. Even more so
when taking into account that the resume path is already quite
expensive, involving a regulator the be enabled and waited on to become
stable.

Regards,
Lucas



More information about the dri-devel mailing list