Message ID | 20190919102518.25126-1-narmstrong@baylibre.com (mailing list archive) |
---|---|
Headers | show |
Series | clk: meson: g12a: handle clock hw changes while in suspend | expand |
Neil Armstrong <narmstrong@baylibre.com> writes: > This serie aime to support when the suspend/resume firmware alters the > clock tree, leading to an incorrect representation of the clock tree > after a resume from suspend-to-mem. > > For the Amlogic G12A/G12B/SM1 case, the SCPI firmware handling suspend > alters the CPU clock tree in various ways. > > Since we know which part of the tree is possibly altered, we introduce here > the clk_invalidate_rate() function that will rebuild the tree from the > hardware registers in case parents and dividers have changed. > > Finally we call clk_invalidate_rate() from a new resume callback to refresh > the CPU clock tree after a resume. > > With the clock tree refreshed, CCF can now handle the new clock tree > configuration and avoid crashing the system on further DVFS set_rates. For clarification, does this series work without the other proposed fixes[1]? or is this dependent on that? Kevin [1] https://lore.kernel.org/linux-amlogic/20190919093627.21245-1-narmstrong@baylibre.com/
On 26/09/2019 22:46, Kevin Hilman wrote: > Neil Armstrong <narmstrong@baylibre.com> writes: > >> This serie aime to support when the suspend/resume firmware alters the >> clock tree, leading to an incorrect representation of the clock tree >> after a resume from suspend-to-mem. >> >> For the Amlogic G12A/G12B/SM1 case, the SCPI firmware handling suspend >> alters the CPU clock tree in various ways. >> >> Since we know which part of the tree is possibly altered, we introduce here >> the clk_invalidate_rate() function that will rebuild the tree from the >> hardware registers in case parents and dividers have changed. >> >> Finally we call clk_invalidate_rate() from a new resume callback to refresh >> the CPU clock tree after a resume. >> >> With the clock tree refreshed, CCF can now handle the new clock tree >> configuration and avoid crashing the system on further DVFS set_rates. > > For clarification, does this series work without the other proposed > fixes[1]? or is this dependent on that? > > Kevin > > [1] https://lore.kernel.org/linux-amlogic/20190919093627.21245-1-narmstrong@baylibre.com/ > These are independent, but you'll need both to have suspend/resume fully working. Neil