[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20230330093431.xn5wwiwqbne5owf7@bogus>
Date: Thu, 30 Mar 2023 10:34:31 +0100
From: Sudeep Holla <sudeep.holla@....com>
To: Maulik Shah <quic_mkshah@...cinc.com>
Cc: andersson@...nel.org, ulf.hansson@...aro.org,
dianders@...omium.org, Sudeep Holla <sudeep.holla@....com>,
swboyd@...omium.org, wingers@...gle.com,
linux-arm-msm@...r.kernel.org, linux-kernel@...r.kernel.org,
linux-pm@...r.kernel.org, jwerner@...omium.org,
quic_lsrao@...cinc.com, quic_rjendra@...cinc.com
Subject: Re: [PATCH v2 1/2] cpuidle: psci: Move enabling OSI mode after power
domains creation
On Thu, Mar 30, 2023 at 02:12:49PM +0530, Maulik Shah wrote:
> A switch from OSI to PC mode is only possible if all CPUs other than the
> calling one are OFF, either through a call to CPU_OFF or not yet booted.
>
As per the spec, all cores are in one of the following states:
- Running
- OFF, either through a call to CPU_OFF or not yet booted
- Suspended, through a call to CPU_DEFAULT_SUSPEND
Better to provide full information.
> Currently OSI mode is enabled before power domains are created. In cases
> where CPUidle states are not using hierarchical CPU topology the bail out
> path tries to switch back to PC mode which gets denied by firmware since
> other CPUs are online at this point and creates inconsistent state as
> firmware is in OSI mode and Linux in PC mode.
>
OK what is the issue if the other cores are online ? As long as they are
running, it is allowed in the spec, so your statement is incorrect.
Is CPUidle enabled before setting the OSI mode. I see only that can cause
issue as we don't use CPU_DEFAULT_SUSPEND. If idle is not yet enabled, it
shouldn't be a problem.
--
Regards,
Sudeep
Powered by blists - more mailing lists