On Sat, Nov 21, 2015 at 12:42:41AM +0800, Chen-Yu Tsai wrote: > >> static void sun4i_codec_stop_playback(struct sun4i_codec *scodec) > >> { > >> - /* > >> - * FIXME: according to the BSP, we might need to drive a PA > >> - * GPIO low here on some boards > >> - */ > >> - > >> /* Disable DAC DRQ */ > >> regmap_update_bits(scodec->regmap, SUN4I_CODEC_DAC_FIFOC, > >> BIT(SUN4I_CODEC_DAC_FIFOC_DAC_DRQ_EN), > >> 0); > >> + > >> + if (scodec->gpio_pa) > >> + gpiod_set_value_cansleep(scodec->gpio_pa, 0); > > > > You should rather plug that into DAPM, using a speaker widget, and a > > custom event function that will enable or disable the amplifier only > > when this audio path is going to be used. > > Isn't an "amplifier" widget better suited? This is exactly what SND_SOC_DAPM_SPK is used for: http://lxr.free-electrons.com/source/Documentation/sound/alsa/soc/dapm.txt#L273 ;) Maxime -- Maxime Ripard, Free Electrons Embedded Linux, Kernel and Android engineering http://free-electrons.com
Attachment:
signature.asc
Description: Digital signature