-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Monday, August 13, 2012 4:05 PM To: Wang, Xingchao Cc: alsa-devel@alsa-project.org Subject: Re: [PATCH 3/3] ALSA: hda - Disable DigEn bit before stream-id change
At Mon, 13 Aug 2012 09:51:33 +0200, Takashi Iwai wrote:
At Mon, 13 Aug 2012 07:37:12 +0000, Wang, Xingchao wrote:
-----Original Message----- From: Takashi Iwai [mailto:tiwai@suse.de] Sent: Monday, August 13, 2012 3:32 PM To: Wang, Xingchao Cc: alsa-devel@alsa-project.org Subject: Re: [PATCH 3/3] ALSA: hda - Disable DigEn bit before stream-id change
At Mon, 13 Aug 2012 14:11:11 +0800, Wang Xingchao wrote:
Follow the protection way in nvhdmi_8ch_7x_pcm_prepare().
Could you clarify why this is needed?
I don't mean an objection, but just need to know if there is any other devices that need this fix. If there really is, better to put a bit more details in changelog or comment.
No, it's not really a fix for the issue. I just found the change when to investigate HDMI HBR issue and it does
NOT help fix the issue.
However I thought it's a fix to some other bug(seen from comments), so I think it's also needed as a common solution. Please correct me if I am
wrong.
I guess this was copied from setup_dig_out_stream() in hda_codec.c. This was a workaround for SPDIF output on some old non-HDMI codecs. But most of recent codecs shouldn't need it. You see that it's protected by codec->spdif_status_reset check.
BTW, you might have forgotten to set codec->spdif_status_reset = 1 during your test? Otherwise the code there isn't activated.
Oh, thanks for clarification, will test that again. :)
Though, this doesn't explain why it worked for nvidia and not for Intel. The IEC958 status temporary toggle code isn't active even for Nvidia, too.
Thanks --xingchao