[PATCH v4] drm/exynos: prepare FIMD clocks

Rafael J. Wysocki rjw at sisk.pl
Mon Apr 22 04:42:43 PDT 2013


On Monday, April 22, 2013 12:37:36 PM Tomasz Figa wrote:
> On Monday 22 of April 2013 12:17:39 Sylwester Nawrocki wrote:
> > On 04/22/2013 12:03 PM, Inki Dae wrote:
> > >     > Also looks good to me. But what if power domain was disabled without
> > >     > pm
> > >     > runtime? In this case, you must enable the power domain at machine
> > >     > code or
> > >     > bootloader somewhere. This way would not only need some hard codes
> > >     > to turn
> > >     > the power domain on but also not manage power management fully. This
> > >     > is same as only the use of pm runtime interface(needing some hard
> > >     > codes without pm runtime) so I don't prefer to add
> > >     > clk_enable/disable to fimd probe(). I quite tend to force only the
> > >     > use of pm runtime as possible. So please add the hard codes to
> > >     > machine code or bootloader like you did for power domain if you
> > >     > want to use drm fimd without pm runtime.
> > >     
> > >     That's not how the runtime PM, clock subsystems work:
> > >     
> > >     1) When CONFIG_PM_RUNTIME is disabled, all the used hardware must be
> > >     kept
> > >     powered on all the time.
> > >     
> > >     2) Common Clock Framework will always gate all clocks that have zero
> > >     enable_count. Note that CCF support for Exynos is already merged for
> > >     3.10 and it will be the only available clock support method for
> > >     Exynos.
> > >     
> > >     AFAIK, drivers must work correctly in both cases, with
> > >     CONFIG_PM_RUNTIME
> > >     enabled and disabled.
> > > 
> > > Then is the driver worked correctly if the power domain to this device was
> > > disabled at bootloader without CONFIG_PM_RUNTIME and with clk_enable()?  I
> > > think, in this case, the device wouldn't be worked correctly because the
> > > power of the device remains off. So you must enable the power domain
> > > somewhere. What is the difference between these two cases?
> > 
> > How about making the driver dependant on PM_RUNTIME and making it always
> > use pm_runtime_* API, regardless if the platform actually implements runtime
> > PM or not ? Is there any issue in using the Runtime PM core always, rather
> > than coding any workarounds in drivers when PM_RUNTIME is disabled ?
> 
> I don't think this is a good idea. This would mean that any user that from 
> some reasons don't want to use PM_RUNTIME, would not be able to use the driver 
> anymore.
> 
> Rafael, Kevin, do you have any opinion on this?

I agree.

Drivers should work for CONFIG_PM_RUNTIME unset too and static inline stubs for
all runtime PM helpers are available in that case.

Thanks,
Rafael


-- 
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.


More information about the dri-devel mailing list