Created attachment 116160 [details] Patch to revert commit against 4.1-rc5 After upgrading to Linux 4.0 or above (latest tried is 4.1-rc5), HDMI audio stopped working from my Radeon HD 4670 to my Yamaha RX-V775 receiver on the second output. Strangely, it continued to work to my Acer monitor on the primary output. I bisected this back to 8ffea8570d5a7e9dd3c10349ebc3bd79487ae30b, which is amusingly titled "removed unnecessary CRC control". I guess it's not so unnecessary, after all! This does not cleanly revert against 4.1-rc5 as the surrounding code has been removed but simply adding these single lines back where they were is enough to get it working again. Please see the attached patch. The change also affects Evergreen, which I cannot test but a Gentoo user reported what appears to be the same issue on his Mobility Radeon HD 5430. https://forums.gentoo.org/viewtopic-p-7755600.html
I should add that using xrandr to try and force audio on that output doesn't help. I normally use this to switch between my monitor and my receiver.
Created attachment 116221 [details] [review] proper fix The CRC registers don't need to be programmed. The driver was just updating the wrong register when setting up the ACR packet control.
(In reply to Alex Deucher from comment #2) > Created attachment 116221 [details] [review] [review] > proper fix > > The CRC registers don't need to be programmed. The driver was just updating > the wrong register when setting up the ACR packet control. Hello Alex, Sadly, your patch does not fix HDMI audio on my machine (kernel 4.0.4; Radeon HD 7970). Reverting commit 8ffea8570d5a7e9dd3c10349ebc3bd79487ae30b does fix the issue. - Itzamna
(In reply to Itzamna from comment #3) > Hello Alex, > > Sadly, your patch does not fix HDMI audio on my machine (kernel 4.0.4; > Radeon HD 7970). Reverting commit 8ffea8570d5a7e9dd3c10349ebc3bd79487ae30b > does fix the issue. > > - Itzamna What hardware and kernel are you using?
(In reply to Itzamna from comment #3) > Hello Alex, > > Sadly, your patch does not fix HDMI audio on my machine (kernel 4.0.4; > Radeon HD 7970). Reverting commit 8ffea8570d5a7e9dd3c10349ebc3bd79487ae30b > does fix the issue. Sorry, I missed the 7970 part. This patch is not relevant to your board. It should fix James's issue.
(In reply to Itzamna from comment #3) > Hello Alex, > > Sadly, your patch does not fix HDMI audio on my machine (kernel 4.0.4; > Radeon HD 7970). Reverting commit 8ffea8570d5a7e9dd3c10349ebc3bd79487ae30b > does fix the issue. Does audio work properly on your board with the latest 4.1 kernel from Linus' tree? Specifically make sure it has this patch: http://git.kernel.org/cgit/linux/kernel/git/torvalds/linux.git/commit/?id=2d1c18bba15daf89d75ce475ecd2068f483aa12f
That does indeed fix it here, thanks Alex.
I see this went into 4.1-rc7 so closing.
My HDMI audio also does not work since 4.0. I tried installing the mainline 4.2rc3 kernel and it is not fixed. Reverting to 3.17.6 fixes the issue. I'm using Arch Linux and a laptop with Radeon HD 4570. Should I report a separate bug?
(In reply to Shimi Chen from comment #9) > My HDMI audio also does not work since 4.0. > I tried installing the mainline 4.2rc3 kernel and it is not fixed. > Reverting to 3.17.6 fixes the issue. > I'm using Arch Linux and a laptop with Radeon HD 4570. > > Should I report a separate bug? I think you should. Sound was still working for me thanks to this fix as of 4.2rc1. It's worth noting that multichannel PCM only started working for me around 3.18 so userspace may be seeing your card a little differently. My system gets confused between the EDID sent by my AV unit vs the EDID sent by my stereo monitor so I had to add this line to /etc/modprobe.d/alsa.conf to get surround working reliably. options snd-hda-codec-hdmi static_hdmi_pcm=1
Definitely still broken on Linux 4.2 and 4.3 RC7. Works here with 3.18.
(In reply to Maximilian Böhm from comment #11) > Definitely still broken on Linux 4.2 and 4.3 RC7. Works here with 3.18. Please don't hijack this bug. I'm on 4.3.2 and it's working fine. You must have a different issue.
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.