Re: [alsa-devel] [PATCH v2] ASoC: codecs: Add DA9055 codec driver

From: Ashish Chavan
Date: Thu Sep 20 2012 - 07:47:35 EST



> > + /* DAC Routing control */
> > + SOC_ENUM("DAC Left Select", da9055_dac_l_select),
> > + SOC_ENUM("DAC Right Select", da9055_dac_r_select),
>
> DAPM. This even says its a routing control...

Yes, let me see if I can make it DAPM based.

>
> > + /* To select if MIC Bias powers MIC 1 or MIC 2 */
> > + SOC_ENUM("Mic Bias Select", da9055_mic_bias_select),
>
> This would normally be something controlled by the board... what
> exactly is this doing? How does the MICBIAS relate to the microphone
> inputs?

Yes, it should be controlled by the board.
This control selects which of the two MIC Bias pins acts as the BIAS
source. Earlier we misinterpreted it because of a hardware modification
which was present on the board without our knowledge.

>
> > + case SND_SOC_BIAS_STANDBY:
> > + if (codec->dapm.bias_level == SND_SOC_BIAS_OFF) {
> > + /* Enable VMID reference & master bias */
> > + snd_soc_update_bits(codec, DA9055_REFERENCES,
> > + DA9055_VMID_EN | DA9055_BIAS_EN,
> > + DA9055_VMID_EN | DA9055_BIAS_EN);
> > + }
> > + regcache_sync(da9055->regmap);
>
> Doing the sync every time is very odd, why is it only done on
> transitions from _OFF?

It was a typo :-( I intend to put the sync inside if().

> Given that there's no regulator support here
> it's also a bit surprising that you need to do a sync outside of system
> suspend...
>

I am not sure if I understood this fully. Do you mean a sync is not
required here?


> > + da9055->mclk_rate = 0; /* This will be set from set_sysclk() */
> > + da9055->master = 0; /* This will be set from set_fmt() */
>
> You use kzalloc...
>

Yeah!


--
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/