lkml.org 
[lkml]   [2018]   [Jul]   [13]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
SubjectRe: [PATCH] drm: mxsfb: fix runtime PM handling
Date
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@nxp.com>
> > >
> > > 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.
\
 
 \ /
  Last update: 2018-07-15 22:06    [W:0.053 / U:0.024 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site