[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <cfa23203-1626-440b-ec27-efe56cb297d2@collabora.com>
Date: Wed, 24 May 2023 16:49:37 +0300
From: Cristian Ciocaltea <cristian.ciocaltea@...labora.com>
To: Mark Brown <broonie@...nel.org>
Cc: Rob Herring <robh+dt@...nel.org>,
Krzysztof Kozlowski <krzysztof.kozlowski+dt@...aro.org>,
Conor Dooley <conor+dt@...nel.org>,
Heiko Stuebner <heiko@...ech.de>,
Liam Girdwood <lgirdwood@...il.com>,
Jaroslav Kysela <perex@...ex.cz>,
Takashi Iwai <tiwai@...e.com>,
Zhu Ning <zhuning0077@...il.com>,
Pierre-Louis Bossart <pierre-louis.bossart@...ux.intel.com>,
Charles Keepax <ckeepax@...nsource.cirrus.com>,
Uwe Kleine-König <u.kleine-koenig@...gutronix.de>,
David Yang <yangxiaohua@...rest-semi.com>,
Daniel Drake <drake@...lessm.com>, devicetree@...r.kernel.org,
linux-arm-kernel@...ts.infradead.org,
linux-rockchip@...ts.infradead.org, linux-kernel@...r.kernel.org,
alsa-devel@...a-project.org, kernel@...labora.com
Subject: Re: [PATCH 1/3] ASoC: es8316: Increment max value for ALC Capture
Target Volume control
On 5/24/23 13:30, Mark Brown wrote:
> On Wed, May 24, 2023 at 10:41:54AM +0300, Cristian Ciocaltea wrote:
>
>> This means that either the hardware default is wrongly set to 0xB
>> instead of 0xA, or the specs are incorrect and instead of having the
>> range 0xA-0xF mapped to -1.5 dB, the single value 0xA should have been
>> mapped to -1.5 dB and the remaining range 0xB-0xF to 0 dB.
>
>> Increment the max value allowed for ALC Capture Target Volume control,
>> so that it matches the hardware default.
>
>> - SOC_SINGLE_TLV("ALC Capture Target Volume", ES8316_ADC_ALC3, 4, 10, 0,
>> + SOC_SINGLE_TLV("ALC Capture Target Volume", ES8316_ADC_ALC3, 4, 11, 0,
>> alc_target_tlv),
>
> The description above of what the control does doesn't seem to match
> what alc_target_tlv specifies - it is:
>
> static const SNDRV_CTL_TLVD_DECLARE_DB_SCALE(alc_target_tlv, -1650, 150, 0);
>
> which is saying that the value goes from -16.5dB up in steps of 1.5dB
> but your description above says that 0-10 map to -1.5dB and other values
> are 0dB.
My description above mentioned only the 0xA-0xF (10-15) range, anything
before that is fine and the implementation matches the specs:
0000 –> -16.5 dB
0001 –> -15.0 dB
0010 –> -13.5 dB
...
0111 –> -6.0 dB
1000 –> -4.5 dB
1001 –> -3.0 dB
The inconsistency is here:
1010-1111 –> -1.5 dB
Since the hardware default is 1011 (11) instead of 1010 (10), I assumed
the specs could be wrong and probably should have provided the following
mappings:
1010 -> -1.5 dB
1011-1111 -> 0 dB
> Presumably you can check the effects of changing the value? It seems
> plausible that what's written in the code might be accurate and the
> higher values might actually change the gain but it'd be better to
> check.
I haven't noticed a (measurable) change in gain when switching between
10 and 11, but my testing equipment is also not that great. Will try to
improve the tests accuracy.
Thanks,
Cristian
Powered by blists - more mailing lists