[alsa-devel] FW: [PATCH v3] ASoC: Add support for TI LM49453 Audio codec
vinod.koul at linux.intel.com
Wed Feb 8 15:33:49 CET 2012
On Wed, 2012-02-08 at 13:27 +0000, Liam Girdwood wrote:
> On Wed, 2012-02-08 at 11:20 +0000, Mark Brown wrote:
> > On Wed, Feb 08, 2012 at 10:57:30AM +0000, Liam Girdwood wrote:
> > > On Wed, 2012-02-08 at 16:06 +0530, Vinod Koul wrote:
> > > > We want to dynamical turn off this clock when not is use and turn on
> > > > only when codec is using. So I was thinking of turning this ON in
> > > > codecs .set_bias_level callback, but how to propagate this into machine
> > > > driver?
> > > It's usually done in the machine driver hw_params() since at this point
> > > we know the rate, format etc that can have a bearing on the clock
> > > configuration. You could switch it OFF in machine hw_free().
> > For modern devices set_bias_level() is often a better choice if you're
> > only going to do one of that or hw_params(), especially on the shutdown
> > paths - devices these days typically need the clocks for a lot more
> > stuff. hw_params() by itself obviously has issues for analogue only
> > paths too.
> > I'd generally expect to see new machine drivers doing this stuff in
> > set_bias_level() and possibly also having additional startup code in
> > hw_params() depending on how flexible the clocking is.
> The scope of set_bias_level() is now starting to increase to more than
> just the card bias power. It may be worthwhile at some point to rename
> it to cover all possibilities.
Well not really. In order to power up codec and digital logic, we need
to feed the input clock. So any activity which is required for this
should be performed here.
Remember this is not configuring the clock but to ensure that its turned
ON so that codec can power up.
More information about the Alsa-devel