[alsa-devel] [PATCH 1/1] ASoC: TWL4030: Wait RAMP_DELAY on headsetl_event: POST_PMD

Peter Ujfalusi peter.ujfalusi at nokia.com
Thu May 14 11:19:41 CEST 2009


On Thursday 14 May 2009 12:05:50 ext Jarkko Nikula wrote:
> Did you implement this fake or actually real PGA between "HeadsetL
> Mixer" and "HSOL"?
>
> I seems that there is an error in audio path that output pin control is
> tied to mixer and there is no widget in audio path defining the output
> amplifier. See
>
> SND_SOC_DAPM_MIXER_E("HeadsetL Mixer", SND_SOC_NOPM, 0, 0,
> 	&twl4030_dapm_hsol_controls[0],
> 	ARRAY_SIZE(twl4030_dapm_hsol_controls), headsetl_event,
> 	SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
> ...
> 	{"HSOL", NULL, "HeadsetL Mixer"},
> 	{"HSOR", NULL, "HeadsetR Mixer"},

I have this:
 SND_SOC_DAPM_MIXER_E("HeadsetL Mixer", SND_SOC_NOPM, 0, 0,
 	&twl4030_dapm_hsol_controls[0],
 	ARRAY_SIZE(twl4030_dapm_hsol_controls), headsetl_event,
 	SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
...
	SND_SOC_DAPM_PGA_E("HeadsetL fake PGA", SND_SOC_NOPM,
			0, 0, NULL, 0, headsetlfake_event,
 	SND_SOC_DAPM_POST_PMU|SND_SOC_DAPM_POST_PMD),
...
	{"HeadsetL Mixer", "Voice", "VDL_APGA"},
	{"HeadsetL Mixer", "AudioL1", "ARXL1_APGA"},
	{"HeadsetL Mixer", "AudioL2", "ARXL2_APGA"},
	{"HeadsetL fake PGA", NULL, "HeadsetL Mixer"},
...
	{"HSOL", NULL, "HeadsetL fake PGA"},

I have moved the code form the headsetl_event to headsetlfake_event, so the 
ramp is configured in the fake PGA event handler.

>
> So startup/shutdown order should be correct if you define a new PGA
> between the HSOx and Headsetx mixer and let that to manage output pin
> power.

The order between the PGAs are not correct for the startup. In playback case 
we have two PGA with this new 'fake PGA':
ARXL2_APGA and the "HeadsetL fake PGA"

DAPM is handling first the "HeadsetL fake PGA" than the ARXL2_APGA both for 
startup and for standby. For standby it is OK, but for startup the ARXL2_APGA 
should be handled prior to the "HeadsetL fake PGA" => in reverse order.

-- 
Péter


More information about the Alsa-devel mailing list