On Fri, Feb 25, 2022 at 12:33:11PM +0800, Shawn Guo wrote: > On Wed, Feb 23, 2022 at 07:30:50PM +0000, Sudeep Holla wrote: > > On Wed, Feb 23, 2022 at 08:55:34PM +0800, Shawn Guo wrote: > > > It becomes a common situation on some platforms that certain hardware > > > setup needs to be done on the last standing cpu, and rpmh-rsc[1] is such > > > an existing example. As figuring out the last standing cpu is really > > > something generic, it adds CPU_LAST_PM_ENTER (and CPU_FIRST_PM_EXIT) > > > event support to cpu_pm helper, so that individual driver can be > > > notified when the last standing cpu is about to enter low power state. > > > > Sorry for not getting back on the previous email thread. > > When I meant I didn't want to use CPU_CLUSTER_PM_{ENTER,EXIT}, I wasn't > > thinking new ones to be added as alternative. With this OSI cpuidle, we > > have introduces the concept of power domains and I was check if we can > > associate these requirements to them rather than introducing the first > > and last cpu notion. The power domains already identify them in order > > to turn on or off. Not sure if there is any notification mechanism in > > genpd/power domains. I really don't like this addition. It is disintegrating > > all the solutions for OSI and makes it hard to understand. > > > > One solution I can think of(not sure if others like or if that is feasible) > > is to create a parent power domain that encloses all the last level CPU > > power domains, which means when the last one is getting powered off, you > > will be asked to power off and you can take whatever action you want. > > Thanks Sudeep for the input! Yes, it works for me (if I understand your > suggestion correctly). So the needed changes on top of the current > version would be: > > 1) Declare MPM as a PD (power domain) provider and have it be the > parent PD of cpu cluster (the platform has only one cluster including > 4 cpus). > [...] > > Let's me know if this is what you are asking for, thanks! Matches exactly. I don't know if there is anything I am missing to see, but if this possible, for me it is easier to understand as this is all linked to power-domains like other things in OSI cpuidle. So yes, I prefer this, but let us see what others have to say about this. -- Regards, Sudeep