ALSA: hda - Force to reset IEC958 status bits for AD codecs
Several bug reports suggest that the forcibly resetting IEC958 status bits is required for AD codecs to get the SPDIF output working properly after changing streams. Original fix credit to Javeed Shaikh. BugLink: https://bugs.launchpad.net/ubuntu/+source/alsa-driver/+bug/359361 Reported-by: Robin Kreis <r.kreis@uni-bremen.de> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
5c0ee9497b
commit
ae24c3191b
|
@ -545,6 +545,7 @@ static int ad198x_build_pcms(struct hda_codec *codec)
|
||||||
if (spec->multiout.dig_out_nid) {
|
if (spec->multiout.dig_out_nid) {
|
||||||
info++;
|
info++;
|
||||||
codec->num_pcms++;
|
codec->num_pcms++;
|
||||||
|
codec->spdif_status_reset = 1;
|
||||||
info->name = "AD198x Digital";
|
info->name = "AD198x Digital";
|
||||||
info->pcm_type = HDA_PCM_TYPE_SPDIF;
|
info->pcm_type = HDA_PCM_TYPE_SPDIF;
|
||||||
info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback;
|
info->stream[SNDRV_PCM_STREAM_PLAYBACK] = ad198x_pcm_digital_playback;
|
||||||
|
|
Loading…
Reference in a new issue