[alsa-devel] [PATCH 2/3] ASoC: Ux500: Add machine-driver

Ola Lilja ola.o.lilja at stericsson.com
Mon Jun 11 14:35:07 CEST 2012


On 06/11/2012 02:27 PM, Mark Brown wrote:

> On Mon, Jun 11, 2012 at 02:22:33PM +0200, Ola Lilja wrote:
> 
>> >> +static inline const char *get_mclk_str(enum mclk mclk_sel)
>> >> +{
>> >> +	switch (mclk_sel) {
>> >> +	case MCLK_SYSCLK:
>> >> +		return "MCLK_SYSCLK";
>> >> +	case MCLK_ULPCLK:
>> >> +		return "MCLK_ULPCLK";
> 
>> > Why not just drop the MCLK_ from the strings?  I'd expect that'll be
>> > implied by the context...
> 
>> I like having some kind of prefix before the alternatives in my enums,
>> even if you could figure out what its for without it.
> 
> Is the control name not enough for that?  I'm only suggesting this for
> the strings...


Aha! Yes, for the strings I agree. I'll change them.

> 
>> >> +	/* Digital interface - Clocks */
>> >> +	SOC_SINGLE("Digital Interface Master Generator Switch",
>> >> +		AB8500_DIGIFCONF1, AB8500_DIGIFCONF1_ENMASTGEN,
>> >> +		1, 0),
> 
>> > This enables and disables a 256fs (or similar ratio) clock output from
>> > the device?
> 
>> This is the clocking of the digital interface which is used together with the
>> bit-clock switches when we are in gated mode (see discussions regarding these
>> parameters in earlier review of the codec-driver).
> 
>> >> +	SOC_SINGLE("Digital Interface 0 Bit-clock Switch",
>> >> +		AB8500_DIGIFCONF1, AB8500_DIGIFCONF1_ENFSBITCLK0,
>> >> +		1, 0),
>> >> +	SOC_SINGLE("Digital Interface 1 Bit-clock Switch",
>> >> +		AB8500_DIGIFCONF1, AB8500_DIGIFCONF1_ENFSBITCLK1,
>> >> +		1, 0),
> 
>> > I suspect that these are doing what DAIFMT_CONT is for...
> 
>> See comment above.
> 
> Can you refresh my memory on this discussion please?  There's been
> several occasions where I've been waiting for new code to make unclear
> things clearer.


Sure. Earlier we had these controls in the codec-driver, but since you didn't
want them there I moved them to the machine-driver. The reason for exposing
these is that our current design demands that our DSP can enable the clocking
when it is ready and this is done with these controls. When we use the driver
without the DSP involved these clocks are set inside the codec-driver.



More information about the Alsa-devel mailing list