Re: [PATCH 10/18] drivers: firmware: psci: Add hierarchical domain idle states converter
From: Lorenzo Pieralisi
Date: Thu Jul 18 2019 - 09:36:41 EST
On Thu, Jul 18, 2019 at 01:43:44PM +0200, Ulf Hansson wrote:
[...]
> > > Anyway, as a suggestion to address your concern, how about this:
> > >
> > > 1. Move some things out to a PSCI cpuidle driver. We need to decide
> > > more exactly on what to move and find the right level for the
> > > interfaces.
> >
> > I will do it and post patches asap.
>
> Okay, so I will wait for you to converting the cpuidle-arm driver into
> a cpuidle-psci driver (and all the changes that comes with it) and
> then base my re-base my series on top.
>
> Then, would you mind sharing (even in an early phase) a
> branch/git-tree so I can start re-basing my series on top?
Sure, I should be able to post at -rc1 and will publish a branch
here [1].
> > > 2. Don't attach the CPU to the PM domain topology in case the PSCI PC
> > > mode is used. I think this makes it easier, at least as a first step,
> > > to understand when runtime PM needs to be used/enabled.
> >
> > In the PSCI CPUidle driver we can have two distinct struct
> > cpuidle_state->enter functions for PC and OSI, no overhead
> > for PC, runtime PM for OSI, decoupling done.
>
> Good idea!
>
> >
> > We can choose one or the other depending on whether:
> >
> > OSI iff:
> > - OSI is available
> > - hierarchical idle states are present in DT
> >
> > otherwise PC.
> >
> > That's what this patch does but we will do it in a unified file.
>
> Sure, it makes sense.
>
> >
> > > 3. Would it help if I volunteer to help you guys as a maintainer for
> > > PSCI. At least for the part of the new code that becomes introduced?
> >
> > We will do as described above if that makes sense.
>
> Yep, I am okay with your suggestions, assuming I have understood them correctly.
>
> BTW, have you considered to host a git tree for PSCI so we can have
> changes pre-integrated and tested in Stephen Rothwell's linux-next
> tree?
I will ask Stephen to pull when needed a branch in the tree below[1]
[1] https://git.kernel.org/pub/scm/linux/kernel/git/lpieralisi/linux.git/