[Bug 216665] New: Synopsys Designware HDMI >= 2.10a seems not to insert PCUV bits into HDMI audio stream unless insert_pcuv bit is set

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



https://bugzilla.kernel.org/show_bug.cgi?id=216665

            Bug ID: 216665
           Summary: Synopsys Designware HDMI >= 2.10a seems not to insert
                    PCUV bits into HDMI audio stream unless insert_pcuv
                    bit is set
           Product: Drivers
           Version: 2.5
    Kernel Version: 6.0.7
          Hardware: ARM
                OS: Linux
              Tree: Mainline
            Status: NEW
          Severity: normal
          Priority: P1
         Component: Video(DRI - non Intel)
          Assignee: drivers_video-dri@xxxxxxxxxxxxxxxxxxxx
          Reporter: geraldogabriel@xxxxxxxxx
        Regression: No

Created attachment 303135
  --> https://bugzilla.kernel.org/attachment.cgi?id=303135&action=edit
Patch to set insert_pcuv

Enabling sound in the device tree for my Radxa Rock Pi N10 (RK3399Pro SoM)
resulted in music sounding like white noise with my Philips 243V HDMI monitor.

I then found out I wasn't alone by reading the following LibreELEC thread:
https://forum.libreelec.tv/thread/17600-rk3399-hdmi-audio-quality/

Particularly, sigmaris on page 2 of that thread, experienced similar symptoms
with his/her Samsung TV, like I did. Like him/her, I had to software mix the
volume down to 33% at which point music would sound like music, not white
noise.

I was very puzzled by that, and after an exchange with Sugar Zhang from
Rockchip I dumped all the HDMI registers with i2cdump and started checking them
one by one, comparing what was set by the Linux kernel driver with the Rockchip
Technical Reference Manual.

This lead me to the missing insert_pcuv bit, which it seems to me, Synopsys
introduced purposefully breaking compatibility with existing driver codebases.
The attached patch fixes my problem (I have normal music with 100% of audio
volume and no glitches) and was posted to relevant kernel lists:
https://lore.kernel.org/dri-devel/Y2A48a5ff+SyxqLR@geday/T/

I'd like to thank Mark Brown for pointing out the fix should be restricted to
Linear PCM only, and Neil Armstrong for further researching this. Unfortunately
it seems we're out of testers for the time being.

I post this in the hope all this doesn't sink down the memory hole, and maybe
Google will lead people experiencing the same problems towards here, and they
can test the proposed solution in the attachment.

-- 
You may reply to this email to add a comment.

You are receiving this mail because:
You are watching the assignee of the bug.



[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux