[PATCH v2 1/5] ASoC: add mt6351 codec driver

Mark Brown broonie at kernel.org
Mon Apr 23 04:39:08 PDT 2018


On Sat, Apr 21, 2018 at 07:49:24AM +0800, KaiChieh Chuang wrote:

> > These gains should be put in TLVs rather than an enum so userspace can
> > handle them (also it should be dB not Db).  You can handle irregular
> > step sizes like these with DECLARE_TLV_DB_SCALE(), there's several
> > examples in the code already.

> We declare this enum for user space to operate on enum directly,
> unlike alsa-lib, we use tinyalsa in Android, if declared in tlv,
> the mixer control just become a integer control, which is not
> informative for user space.

Your custom userspace isn't really a factor for upstream.

> > > +	if (ucontrol->value.integer.value[0] == 0x1f)	/* reg idx for -40dB*/
> > > +		ucontrol->value.integer.value[0] = ARRAY_SIZE(dl_pga_gain) - 1;

> > Why do this rewriting?

> A little awkward gain register here,
> the range is  for 8dB ~ -10dB and -40dB, corresponding to reg index 0 ~
> 18 and 31.

> 00000: +8dB.
> 00001: +7dB.
> 10010: -10dB
> 11111: -40dB(Mute).

> and where 19 ~ 30 is not defined, and shouldn't be set.

> i think tlv not yet support this kind of gain control?

You can say there's a mute value, but gaps like that aren't easily
handled AFAIR.  You could assign vales to them (I'm guessing there
probably are some that just aren't doucmented for some reason) or...

> Maybe i'll just declare 8dB ~ -10dB for now.

...this is also common, the mixed mute and gain controls aren't always
super useful.  Depending on what goes on with pops and clicks a DAPM
autodisable control might be a good application too.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-mediatek/attachments/20180423/df2e0509/attachment.sig>


More information about the Linux-mediatek mailing list