[alsa-devel] [PATCH] ASoC: tlv320aic31xx: Add HP output driver pop reduction controls

Nikita Yushchenko nikita.yoush at cogentembedded.com
Thu Nov 28 13:19:38 CET 2019


>> +static const char * const hp_poweron_time_text[] = {
>> +	"0us", "15.3us", "153us", "1.53ms", "15.3ms", "76.2ms",
>> +	"153ms", "304ms", "610ms", "1.22s", "3.04s", "6.1s" };
>> +
>> +static SOC_ENUM_SINGLE_DECL(hp_poweron_time_enum, AIC31XX_HPPOP, 3,
>> +	hp_poweron_time_text);
>> +
>> +static const char * const hp_rampup_step_text[] = {
>> +	"0ms", "0.98ms", "1.95ms", "3.9ms" };
>> +
>> +static SOC_ENUM_SINGLE_DECL(hp_rampup_step_enum, AIC31XX_HPPOP, 1,
>> +	hp_rampup_step_text);
> 
> I'm not seeing any integration with DAPM here, I'd expect to see that so
> we don't cut off the start of audio especially with the longer times
> available (which I'm frankly not sure are seriously usable).

I believe driver already has that integration, there is aic31xx_dapm_power_event() that is called on 
DAPM events, and polls state in register bits waiting for operation to complete.

Btw, the default setting for register fields in question is "304ms" / "3.9ms" thus some delay is already 
there. This patch just makes it explicitly controllable by those who wait it.


More information about the Alsa-devel mailing list