HDMI TV blanks every few seconds when set to 4K 120 Hz on 6800XT
Brief summary of the problem:
When connected to my Samsung S95B, the TV blanks every few seconds. Sometimes it can keep the signal for more than 10, sometimes less than a second. I observed this behavior at least since 6.5, maybe 6.4. This doesn't happen on 6.1-LTS. Setting TV to 4K 60 Hz. When VRR is active (fullscreen movie/game) the blanking goes away as well.
One difference I noticed is that on 6.1 the MCLK is kept at a constant 100% (1000 MHz), while on my current kernel (6.5.9) the MCLK varies from lowest state (96 MHz) up to around 700 MHz. I think the power saving feature here is too aggressive (maybe regression due to RDNA3 enablement?). 4K 120 Hz is probably too much an MCLK should be kept at 100% (just like 2x 1440p@120Hz+). If I start a fullscreen application that toggles VRR (game, movie) the MCLK is pegged to 100% as well.
If there's a need, I can provide video evidence.
Hardware description:
- CPU: Ryzen 5950X
- GPU: RX 6800XT
- System Memory: 64 GiB 3600 MT/s
- Display(s): 4K 120Hz Samsung S95B (4:2:2) / 2x 1440p 165 Hz Dell S2721DGFA
- Type of Display Connection: TV/HDMI (2.0 as 2.1 is not supported yet), Dells/DP 1.4 without DSC
System information:
- Distro name and Version: Arch Linux
- Kernel version: 6.5.9
- Custom kernel: amd-staging-drm-next (issue still persists with the latest branch from october)
- AMD official driver version: N/A (amdgpu in linux)
How to reproduce the issue:
Connect 4K TV capable of 120Hz through HDMI on RX 6800XT Set the refresh rate to 120 Hz (with a proper mode that's not created due to Freesync video)
Log files (for system lockups / game freezes / crashes)
- I'll try to see if there are any errors in dmesg and post it.
- I'll be doing a git bisect of this issue with the official kernel tree. I'll post the offending commit as soon as I find it.