ALSA: hda - Don't apply EAPD power filter as default
authorTakashi Iwai <tiwai@suse.de>
Wed, 13 Mar 2013 13:47:21 +0000 (14:47 +0100)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Mar 2013 17:07:05 +0000 (18:07 +0100)
commitba615b86d6a3ba6e244973672c63903c8b2831a3
treea519ed1086a43f33036e3dc3d30b4892a1289835
parentbce0d2a80e428aac3b39bf19675f1f57126f9cb6
ALSA: hda - Don't apply EAPD power filter as default

So far, the driver doesn't power down the widget at going down to D3
when the widget node has an EAPD capability and EAPD is actually set
on all codecs unless codec->power_filter is set explicitly.
This caused a problem on some Conexant codecs, leading to click
noises, and we set it as NULL there.  But it is very unlikely that the
problem hits only these codecs.

Looking back at the development history, this workaround for EAPD was
introduced just for some laptops with STAC9200 codec, then we applied
it blindly for all.  Now, since it's revealed to have an ill effect,
we should disable this workaround per default and apply only for the
known requiring systems.

The EAPD workaround is implemented now as snd_hda_codec_eapd_power_filter(),
and this has to be set explicitly by the codec driver when needed.
As of now, only patch_stac9200() sets this one.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/hda_codec.c
sound/pci/hda/hda_local.h
sound/pci/hda/patch_conexant.c
sound/pci/hda/patch_sigmatel.c