Re: [PATCH] drm: mxsfb: fix runtime PM handling

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux