Adding debugfs support for the coordinated wake state.
This will allow for the end-user to select a number of destination CPUs,
and then force them into idle together. A chosen "src" cpu will then
trigger a simultaneous wake request on all of the cores to create the
worst-case idle-exit scenario.
We also have an alternate state to support only coordinated sleep.
This can be useful for cases where select cores coordinated together can
have deeper power modes available to them.
TPS-671
Change-Id: I901f86000d36a86f9549f713ba698b58896d55b7
Signed-off-by: Ishan Shah <ishah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3242284
Reviewed-by: Nathan Hartman <nhartman@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Sanjay Chandrashekara <sanjayc@nvidia.com>
Commit ef4c675dc296 ("genirq: Unexport nr_irqs") unexported 'nr_irqs' in
Linux v6.13 and this breaks the build for the cpuidle-debugfs driver.
For Linux v6.13 the number of IRQs can be queried by using the function
irq_get_nr_irqs() instead. Fix the build by using conftest to detect if
the function irq_get_nr_irqs() and use this function if it is present.
Bug 4991705
Change-Id: I98d477896fcf9e8d2e1afa21e2f7ba4d071ab442
Signed-off-by: Jon Hunter <jonathanh@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3261690
Reviewed-by: Ishan Shah <ishah@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Reviewed-by: Preetham Chandru R <pchandru@nvidia.com>
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
Adding a module that disables cg on t264 specifically. This is meant for
purely internal usage by the SSG and noise-characterization teams.
We are making use of some override signals that remain on a per-core
basis for this purpose.
Bug 4697511
Change-Id: I04093b97b10e1a87bfaa2615573b284a6f1ef4f3
Signed-off-by: Ishan Shah <ishah@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/3237175
Reviewed-by: Laxman Dewangan <ldewangan@nvidia.com>
Tested-by: Laxman Dewangan <ldewangan@nvidia.com>
GVS: buildbot_gerritrpt <buildbot_gerritrpt@nvidia.com>
Fix the error on compiling cpuidle-tegra-auto as OOT module.
Keeping the change in a separate patch for better tracking the
changes done.
Issues resolved are:
ERROR: modpost: "s2idle_state"
Fix: used a local variable s2idle_sc7_state to fix
ERROR: modpost: "__boot_cpu_id"
Fix: Used CPU number "0" always. It's a logical number and we
don't have a dependency on the actual boot CPU.
ERROR: modpost: "cpuidle_devices"
Fix: Used a per cpu variable "tegra_auto_cpuidle_drivers" of type
"struct cpuidle_driver *" to store and fetch the "*drv".
Bug 3583597
Change-Id: Idf1c4f4eecbdd638e31e0b76efa140a8f45616e9
Signed-off-by: Sumit Gupta <sumitg@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2843935
(cherry picked from commit a101f1bf1175f18744082f175f91a411903b9f45)
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2819960
Reviewed-by: svcacv <svcacv@nvidia.com>
Reviewed-by: Sandeep Trasi <strasi@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
Tested-by: Preetham Chandru <pchandru@nvidia.com>