Messages in this thread | | | Subject | Re: [RFC PATCH 0/4] Support for passing runtime state idle time to TF-A | From | Sowjanya Komatineni <> | Date | Thu, 22 Apr 2021 18:03:27 -0700 |
| |
kernel test robot reported below errors for patch-2 of this series. Will fix in next version to use div_u64() for nsec to usec conversion along with the other feedback I may be receiving.
drivers/cpuidle/governors/menu.c:398: undefined reference to `__udivdi3' ld: drivers/cpuidle/governors/menu.c:398: undefined reference to `__udivdi3' ld: drivers/cpuidle/governors/menu.c:398: undefined reference to `__udivdi3' ld: drivers/cpuidle/governors/menu.c:398: undefined reference to `__udivdi3'
Thanks
Sowjanya
On 4/22/21 1:30 PM, Sowjanya Komatineni wrote: > Tegra194 and Tegra186 platforms use separate MCE firmware for CPUs which is > in charge of deciding on state transition based on target state, state idle > time, and some other Tegra CPU core cluster states information. > > Current PSCI specification don't have function defined for passing runtime > state idle time predicted by governor (based on next events and state target > residency) to ARM trusted firmware. > > With the support of adding new PSCI function to allow passing runtime state > idle time from kernel to ARM trusted firmware, Tegra194 platforms can use > generic psci cpuidle driver rather than having Tegra specific cpuidle driver. > > During Tegra specific cpuidle driver V1 review, Sudeep Holla from ARM also > suggested to use generic cpuidle driver by generalizing the need of runtime > state idle time. > > So had internal discussion between ARM and NVIDIA on adding new PSCI function > to allow passing runtime state idle time from kernel to TF-A through PSCI and > once this implementation is accepted by upstream, ARM will look into further > to update PSCI specification for this new PSCI function. > > So sending these patches as RFC as new PSCI function added in this series is > not part of PSCI specification and once this implementation is accepted by ARM > and upstream community, ARM can help to take this forward to add to PSCI > specification. > > To keep the backward compatibility we can't update CPU_SUSPEND function to pass > state idle time argument. So added seperate function for passing state idle time > and serializing this with cpu suspend state enter. > > Once this approach is agreed, we can either use this way of separate PSCI > function for passing state idle time or with PSCI specification update we can > use same CPU_SUSPEND function with extra argument for state idle time which can > be decided later for final patches based on discussion with ARM. > > > Sowjanya Komatineni (4): > firmware/psci: add support for PSCI function SET_STATE_IDLE_TIME > cpuidle: menu: add idle_time to cpuidle_state > cpuidle: psci: pass state idle time before state enter callback > arm64: dts: tegra194: Add CPU idle states > > arch/arm64/boot/dts/nvidia/tegra194.dtsi | 19 +++++++++++++++++++ > drivers/cpuidle/cpuidle-psci.c | 11 +++++++++++ > drivers/cpuidle/governors/menu.c | 7 ++++++- > drivers/firmware/psci/psci.c | 9 +++++++++ > include/linux/cpuidle.h | 1 + > include/linux/psci.h | 1 + > include/uapi/linux/psci.h | 2 ++ > 7 files changed, 49 insertions(+), 1 deletion(-) >
| |