mirror of
https://github.com/torvalds/linux.git
synced 2026-08-01 20:22:08 +02:00
cpuidle: tegra: Changes for v5.16-rc1
This pulls in the for-5.16/clk and for-5.16/soc branches and uses the stubs added in them to enable compile testing of the cpuidle driver. While at it, this also fixes a potential driver probe order race condition between the PMC and the cpuidle driver. -----BEGIN PGP SIGNATURE----- iQJHBAABCAAxFiEEiOrDCAFJzPfAjcif3SOs138+s6EFAmFgoa0THHRyZWRpbmdA bnZpZGlhLmNvbQAKCRDdI6zXfz6zoT0ED/9o8TlRPVZvojuMoA80lMKSyoWPtIR2 39OBKyhwH5zKzACa2a5LzpVQEZRbEsRvTeADYfMyJOSDyLzoN1R1I3tlPHbW41df rt6HF7zZ68que5peSKHUECZzLveWsNHkRI4dKLoIcD4RAZPo32X8Edx+EUwWwXO5 6PwRFzjx9IMyARsNLmMK0FBqhdGb3jQ8XkNN7u+FSzZ9YVCM0rM5orc2TJoOY074 YGNl72bcvYvm7FSpQmd5SeXONZOEfJCz0PV7kZhSroFF8JB92NvOL1oDnDswggAh Se0gjD4XmdDuB1Kvh+WFleTnKLDgWhZX7XbljxzprPgf9MNlMCmoDyK+Qp3MDGiT ZWgQdJALJ9gmlb+993oj4SJLrWEgETM7nSllEZ/vlB1bQ6TLFc4x78MizWwHv2R+ kdljGAU34WcuvJr+0jwjSyqG9eGFJolgCNXS5uMJjS5TNhgVXQ/f8+E7geu6xLQb BqquII96MS7NqsTdluPEdRS2/7hLiETpJvFPw0HEIgQGO5jkv8VVBY01Od5KaVqt cHwW2NqATZ43YT7zNekDq6lxl76mCr458Eb6rQOgAz/raeDwu1bOFwbKdBOqwqKl 8M9p8dyABinmKT62q+WQMOXx9UxGrpAtMt8VOIHRhyiCZFAPW/TnXSKJ8G6jrp2/ TA33DrK9apP5lg== =+75w -----END PGP SIGNATURE----- gpgsig -----BEGIN PGP SIGNATURE----- iQIzBAABCgAdFiEEo6/YBQwIrVS28WGKmmx57+YAGNkFAmFkArYACgkQmmx57+YA GNkRrRAAhoN1qCeL1MFrhVJ/1a2x4jkvRT9Evv+zx1pg5fE+NbBtyUEmNyBRLCpp YzItxKuX6iIDcvcs72ZpZGFBNaA3Sgm4H1Cx+WbCWGmQOOw6c6gmAcgmeZ3+m78b vhjWQocuhK+WtDE1Atl3veIdbrIGOpLy5nLT3OMmBAxAzviJtDtikxIiRKHNWGLe T6Olm632i0FcUcybwmHWcX1nP8B6MQurvHuqT6bZ52OmEOoLReJnE39htVB16XRE 0wgC3UZTKdv4VfCZu+yk36v9TAhiVzVnZWBIF2hwYiFktyzpd3OQtFcqpSG2rNuR cLCWRXlFcOYugi99ZVj+Yq7dBeteOa+kI/wBPKe5uoRjqXTcAsudOW0SAeqEbs+g i7/XHFwwkvCqoXP0tNiNXprmHrjNlGSmoCrxcqnCihybVQoF3wEU27Xv9h8pwxbH xgUOdCeEqQqEOcXEiQUUTRN1Gd7SEtZaoU8/iVz3tzFyfq68BxaMBTmpeOZD0aTp Agb0b7XBiqSB+BLzRRb5ODzG+1w38ytMtm8uC0OM3ikY9bhFE98MoQ8SX3nb86Qj avsVUF9+cMWVyeo6mfuR3F+RARFgaQ290bauEBlFru8f70yTW0y1+aleffAazZUC e4l+70JAxmy39oC34VQchVeECd9MNzucr4jo1tI0UzujKUp7xmk= =rDtb -----END PGP SIGNATURE----- Merge tag 'tegra-for-5.16-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux into arm/drivers cpuidle: tegra: Changes for v5.16-rc1 This pulls in the for-5.16/clk and for-5.16/soc branches and uses the stubs added in them to enable compile testing of the cpuidle driver. While at it, this also fixes a potential driver probe order race condition between the PMC and the cpuidle driver. * tag 'tegra-for-5.16-cpuidle' of git://git.kernel.org/pub/scm/linux/kernel/git/tegra/linux: cpuidle: tegra: Check whether PMC is ready cpuidle: tegra: Enable compile testing clk: tegra: Add stubs needed for compile testing Link: https://lore.kernel.org/r/20211008201132.1678814-5-thierry.reding@gmail.com Signed-off-by: Arnd Bergmann <arnd@arndb.de>
This commit is contained in:
commit
55ab594231
|
|
@ -99,7 +99,7 @@ config ARM_MVEBU_V7_CPUIDLE
|
|||
|
||||
config ARM_TEGRA_CPUIDLE
|
||||
bool "CPU Idle Driver for NVIDIA Tegra SoCs"
|
||||
depends on ARCH_TEGRA && !ARM64
|
||||
depends on (ARCH_TEGRA || COMPILE_TEST) && !ARM64 && MMU
|
||||
select ARCH_NEEDS_CPU_IDLE_COUPLED if SMP
|
||||
select ARM_CPU_SUSPEND
|
||||
help
|
||||
|
|
|
|||
|
|
@ -337,6 +337,9 @@ static void tegra_cpuidle_setup_tegra114_c7_state(void)
|
|||
|
||||
static int tegra_cpuidle_probe(struct platform_device *pdev)
|
||||
{
|
||||
if (tegra_pmc_get_suspend_mode() == TEGRA_SUSPEND_NOT_READY)
|
||||
return -EPROBE_DEFER;
|
||||
|
||||
/* LP2 could be disabled in device-tree */
|
||||
if (tegra_pmc_get_suspend_mode() < TEGRA_SUSPEND_LP2)
|
||||
tegra_cpuidle_disable_state(TEGRA_CC6);
|
||||
|
|
|
|||
|
|
@ -42,6 +42,7 @@ struct tegra_cpu_car_ops {
|
|||
#endif
|
||||
};
|
||||
|
||||
#ifdef CONFIG_ARCH_TEGRA
|
||||
extern struct tegra_cpu_car_ops *tegra_cpu_car_ops;
|
||||
|
||||
static inline void tegra_wait_cpu_in_reset(u32 cpu)
|
||||
|
|
@ -83,8 +84,29 @@ static inline void tegra_disable_cpu_clock(u32 cpu)
|
|||
|
||||
tegra_cpu_car_ops->disable_clock(cpu);
|
||||
}
|
||||
#else
|
||||
static inline void tegra_wait_cpu_in_reset(u32 cpu)
|
||||
{
|
||||
}
|
||||
|
||||
#ifdef CONFIG_PM_SLEEP
|
||||
static inline void tegra_put_cpu_in_reset(u32 cpu)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void tegra_cpu_out_of_reset(u32 cpu)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void tegra_enable_cpu_clock(u32 cpu)
|
||||
{
|
||||
}
|
||||
|
||||
static inline void tegra_disable_cpu_clock(u32 cpu)
|
||||
{
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(CONFIG_ARCH_TEGRA) && defined(CONFIG_PM_SLEEP)
|
||||
static inline bool tegra_cpu_rail_off_ready(void)
|
||||
{
|
||||
if (WARN_ON(!tegra_cpu_car_ops->rail_off_ready))
|
||||
|
|
|
|||
Loading…
Reference in New Issue
Block a user