ChiYuan Huang <u0084500@xxxxxxxxx> 於 2021年10月12日 週二 上午10:47寫道: > > Mark Brown <broonie@xxxxxxxxxx> 於 2021年10月8日 週五 下午8:51寫道: > > > > On Fri, Oct 08, 2021 at 12:50:12PM +0800, cy_huang wrote: > > > > > +static const struct snd_kcontrol_new rt9120_snd_controls[] = { > > > + SOC_SINGLE_TLV("MS Volume", RT9120_REG_MSVOL, 0, 2047, 1, digital_gain), > > > + SOC_SINGLE("SPK Gain", RT9120_REG_SPKGAIN, 0, 7, 0), > > > > Volume controls should end in Volume even if they don't have TLV > > information so applications know how to render them. I'll fix > > this up as I apply. > > It's not linear mapping analog gain and cannot use the TLV as you said. > Mappling table is listed like as below > 0 -> 6dB > 1 -> 8dB > 2 -> 10dB > 3 -> 12dB > 4 -> 13dB > 5 -> 14dB > 6 -> 15dB > 7 -> 16dB > > Do I just need to change it to 'SPK Gain Volume' to present this control item? > Or is there any table mapping for the nonlinear TLV information? Finally found there's 'DECLARE_TLV_DB_RANGE' that can meet the requirement. I will fix this by the tlv db range and naming it to 'SPK Gain Volume'. If there's any changes still needed, please feel free to let me know.