On Fri, 2018-07-13 at 11:12 +0200, Marek Vasut wrote: > On 07/13/2018 11:06 AM, Anson Huang wrote: > [...] > > > > > > On 07/13/2018 10:54 AM, Anson Huang wrote: > > > > As display power domain is combined with lcdif node on some i.MX > > > > platforms like i.MX6SL, when lcdif driver is enabled, the mxsfb_load > > > > is called to enable runtime pm, and a pair of pm_runtime_get_sync and > > > > pm_runtime_put_sync are also called, that will cause generic power > > > > domain driver to disable lcdif power domain and lcdif is no longer > > > > working, the lcdif power should ONLY be turned off when display is > > > > disabled, so move the pm_runtime_put_sync to mxsfb_unload and remove > > > > the pm_runtime_get_sync in mxsfb_unload as well, in this way, when > > > > display is enabled, the lcdif power will be always ON until the > > > > display is disabled. > > > > > > > > Signed-off-by: Anson Huang <Anson.Huang@xxxxxxx> > > > > > > Doesn't this also mean the block will always be on, thus wasting power ? > > I think drm driver should have somewhere to implement the display > > disable case, like when fb0 is blank (echo 1 > /sys/class/graphics/fb0/blank), > > Isn't this just the fbdev emulation on top of drm/kms ? > I think this stuff can be compiled out completely. > > > then lcdif can be powered gated, and > > when display is back on (unblank), lcdif needs to be re-initialization and display will > > be on, current implementation is incorrect, with kernel booting up, lcdif > > is NOT working at all. > > It works fine on MX6SX , so I think this is isolated to MX6SL ? > I'm CCing Stefan, he might have some valuable feedback here. Some time ago I sent a patch which tries to implement "proper" runtime PM for lcdif: https://patchwork.kernel.org/patch/10449761/ It seems to have slipped through the cracks, can somebody please take a look at it? This only actually matters on SOCs where the display power domain is gated, however: * On imx6sx the DISP power domain is currently not defined in DTS. Defining requires dealing with pcie being spread in multiple PDs. * On imx6sl there is a nasty errata so the PD was marked always-on. This was a few days ago: https://lkml.org/lkml/2018/7/11/427 * imx6sll is new, evk dts only in next. The lcdif block is also used in some imx8 chips so runtime PM should be dealt with eventually. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel