Re: Montreal Linux Power Management Mini-Summit, July 13, 2009 -Meeting Notes

From: Bill Gatliff
Date: Tue Sep 01 2009 - 22:25:15 EST


Linus Walleij wrote:
I've felt a need for clock notifiers and we've cheated by using
CPUfreq because it so happens that the clocking in system-wide
and whenever the CPU freq change so may the other clocks.

But if I put code into a PrimeCell MMC/SPI/I2C driver or whatever and
use CPUfreq that's very unelegant, and for other platforms where
the CPU freq don't change when this particular device clk freq
change plain misleading.

A clk pre/postchange notifier pair would really help and would
make for elegant drivers that can handle clock freq transitions.

A lot of ARM chips have peripherals that are driven by PLLs that run quasi-independently of the CPU clock.

If I guess correctly at what is being described above, a notifier chain for the users of a clock would be a clean way for peripherals to deal with clock speed *and* CPU speed changes, indeed. A clock source that was affected by cpufreq would place itself on the cpufreq notifier chain, and also provide a notifier chain for peripherals that are driven by that clock. When a cpufreq notification arrived, if the clock couldn't adjust for the cpufreq change it would use its notifier chain to tell all downstream peripherals about it.

A lot of peripherals could then focus just on the clock notifier chain, and would no longer care about cpufreq. I like it.


b.g.

--
Bill Gatliff
bgat@xxxxxxxxxxxxxxx

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/