drm: hdlcd: Revamp runtime power management
authorLiviu Dudau <Liviu.Dudau@arm.com>
Tue, 17 May 2016 09:06:54 +0000 (10:06 +0100)
committerLiviu Dudau <Liviu.Dudau@arm.com>
Thu, 2 Jun 2016 16:43:59 +0000 (17:43 +0100)
commita95acec16d932ac78c2f70dc95a83bd162595d6c
treec9144809601a1940ec951bb0a2779f23a4529f6b
parent1a695a905c18548062509178b98bc91e67510864
drm: hdlcd: Revamp runtime power management

Because the HDLCD driver acts as a component master it can end
up enabling the runtime PM functionality before the encoders
are initialised. This can cause crashes if the component slave
never probes (missing module) or if the PM operations kick in
before the probe finishes.

Move the enabling of the runtime PM after the component master
has finished collecting the slave components and use the DRM
atomic helpers to suspend and resume the device.

Tested-by: Robin Murphy <Robin.Murphy@arm.com>
Signed-off-by: Liviu Dudau <Liviu.Dudau@arm.com>
drivers/gpu/drm/arm/hdlcd_crtc.c
drivers/gpu/drm/arm/hdlcd_drv.c
drivers/gpu/drm/arm/hdlcd_drv.h