Re: [PATCH RFC v3 1/2] PM / Domains: Extend API pm_genpd_dev_need_restore to use restore types

From: Rafael J. Wysocki
Date: Thu Dec 18 2014 - 20:55:55 EST


On Thursday, December 18, 2014 11:05:18 AM Sylwester Nawrocki wrote:
> On 18/12/14 01:58, Rafael J. Wysocki wrote:
> >>>> What's needed to solve this problem is a generalized way to have runtime
> >>>> > >> PM dependencies between devices. Runtime PM already automatically
> >>>> > >> handles parent devices as one type of dependent device (e.g. a parent
> >>>> > >> device needs to be runtime PM resumed before its child.) So what's
> >>>> > >> needed is a generic way to other PM dependencies with the runtime PM
> >>>> > >> core (not the genpd core.)
> >>> > >
> >>> > > Considering the example above with three devices, device D1 and D2 are
> >>> > > passive components in this power domain. These devices only need to
> >>> > > know the state changes of the power domains but would not control the
> >>> > > power domain themselves nor put forth constraints in the power domain
> >>> > > state changes. So I did not clearly understand as to how this example
> >>> > > could be solved by introducing changes in runtime PM core.
> >> >
> >> > Your solution only solves the problems for devices managed by genpd.
> >> >
> >> > If I understood your example correctly, what you really want to solve
> >> > this problem more generically is to be able to tell the runtime PM core
> >> > that D3 has a dependency on D1 and D2. Then, whenver the runtime PM
> >> > core is doing get/put operations for D3, it needs to also do them for D1
> >> > and D2.
>
> Indeed, I think it would solve most of the problems if we were able to
> model the PM dependencies between devices which would then be handled
> in the PM core. I recall something like this has been proposed a while
> ago [1].

Exactly.

And I'm going to revive it in a slightly simplified form.

> >> > This will accomplish the same as your proposed approach, but work for
> >> > any devices in any PM domains.
> >
> > Plus, it is not limited to runtime PM, really. It affects system suspend
> > too.
>
> [1] https://lkml.org/lkml/2009/8/26/485
>
>

--
I speak only for myself.
Rafael J. Wysocki, Intel Open Source Technology Center.
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/