On Tue, Jul 30, 2019 at 08:40:19PM +0300, Dmitry Osipenko wrote: > The PCLK clock is running off SCLK, which is a critical clock that is > very unlikely to randomly change its rate. It is possible to get a > lockup if kernel decides to enter LP2 cpuidle from a clk-notifier, which > happens occasionally in a case of Tegra30 EMC driver that waits for the > clk-change event in the clk-notify handler, because CCF's 'prepare' mutex > in kept locked and thus clk_get_rate() wants to sleep with interrupts > being disabled. > I don't think this is the right solution. Eventually we will want to scale sclk and pclk because the clock tree power of those is not insignificant. Maybe register a notifier which updates the PMC timer values when pclk changes? Peter.