+ Liam.
-----Original Message----- From: Mark Brown [mailto:broonie@kernel.org] Sent: Wednesday, October 29, 2014 6:31 PM
Nothing ever stops the PLL - a set_bias_level() callback with a handler for
_OFF.
Otherwise we're wasting power.
Can we introduce a power supply widget for the platform clock used as
MCLK?
That widget can be added into the playback and capture path. So when idle, the platform clock can be turn off and let the codec PLL selects its internal low frequency clock only for jack detection. It's verified
internally.
That should be fine also, it's just usually a bit more work to add all the routes for DAPM.
Or we don't change the code at moment, until we upstream the platform clock driver at first?
Which way is better?
Well, currently the code to load the driver is also not upstream so may as well have the driver be what's wanted! But it's not a massive deal, main thing would be to get everything done as part of initial upstreaming instead of having to come back and work on it again later.
Now we're working with Realtek to enable runtime PM on RT5672 codec driver. With help of ACPI, - the codec will be in suspended to D3 when idle , switch to its internal clock, and BIOS will turn off the platform clock output (MCLK) to save power. - And when the codec resumes to D0, BIOS will turn on the clock at first. And hw_params will make the codec use PLL and lock to MCLK again.
Thus the machine driver does not need to explicitly turn on/off the platform codec by itself.
Thanks Mengdong