On Thu, Oct 24, 2019 at 06:55:50PM +0200, Ulf Hansson wrote: > On Thu, 24 Oct 2019 at 18:35, Sudeep Holla <sudeep.holla@xxxxxxx> wrote: > > > > On Thu, Oct 10, 2019 at 01:39:35PM +0200, Ulf Hansson wrote: > > > In order to enable a CPU to be power managed through its PM domain, let's > > > try to attach it by calling psci_dt_attach_cpu() during the cpuidle > > > initialization. > > > > > > psci_dt_attach_cpu() returns a pointer to the attached struct device, which > > > later should be used for runtime PM, hence we need to store it somewhere. > > > Rather than adding yet another per CPU variable, let's create a per CPU > > > struct to collect the relevant per CPU variables. > > > > > > Signed-off-by: Ulf Hansson <ulf.hansson@xxxxxxxxxx> > > > --- > > > drivers/cpuidle/cpuidle-psci.c | 23 +++++++++++++++++++---- > > > 1 file changed, 19 insertions(+), 4 deletions(-) > > > > > > diff --git a/drivers/cpuidle/cpuidle-psci.c b/drivers/cpuidle/cpuidle-psci.c > > > index a16467daf99d..1510422c7a53 100644 > > > --- a/drivers/cpuidle/cpuidle-psci.c > > > +++ b/drivers/cpuidle/cpuidle-psci.c > > > @@ -23,7 +23,12 @@ > > > #include "cpuidle-psci.h" > > > #include "dt_idle_states.h" > > > > > > -static DEFINE_PER_CPU_READ_MOSTLY(u32 *, psci_power_state); > > > +struct psci_cpuidle_data { > > > + u32 *psci_states; > > > + struct device *dev; > > > +}; > > > + > > > +static DEFINE_PER_CPU_READ_MOSTLY(struct psci_cpuidle_data, psci_cpuidle_data); > > > static DEFINE_PER_CPU(u32, domain_state); > > > > > > > /me just thinking still: If it make sense to keep psci_states separate > > and domain_state and only other things needed for RPM/OSI in the > > structure. I do understand that we modify domain_state and hence > > we can't use READ_MOSTLY then. Let's see, for now keep it as is, thought > > I will think out aloud. > > I believe we are striving towards the same goal, which likely means to > separate the non-OSI path vs OSI path, as much as possible. Simply to > avoid any unnecessary operation being done in the non-OSI path. Right? > Yes > However, while I was trying to address that, I realized that it would > probably introduce even more changes to the series. Therefore, it > thought it may be better to address these kind of changes on top, as > improvements. > If possible better to amend this unless it's too complicated. -- Regards, Sudeep