Renoir linux-firmware regression: DP alt mode doesn't work well after resume from S3
Brief summary of the problem:
After suspending/resuming the tablet, it is not possible to activate DP alt mode more that once via any of the USBC ports. The only way to activate video via USBC ports is either have a port already plugged or plug it once after resume. If unplugged and plugged again, kernel shows '[drm] Alt mode has timed out after 201 ms' and the docking station starts to disconnect/connect again and again and the built-in screen flickers each time it does.
After another suspend/resume cycle, it works once again for 1 connect/disconnect cycle.
Works fine in windows.
Hardware description:
- CPU: 4500U
- GPU: 4500U
- System Memory: 16G
- Display(s): Tested with DVI monitor, HDMI monitor and HDMI TV
- Type of Display Connection: HDMI via USBC->HDMI adapter (tested with 3 adapters)
System information:
-
Device AYA NEO 2021
-
Distro name and Version: Fedora 32 (Fedora 34 sucked too much in regard to touchscreen)
-
Kernel version: 5.15-rc4 and also tested https://gitlab.freedesktop.org/agd5f/linux.git branch amd-staging-drm-next commit f55c7e2fd9adadbc11798703b72a0bebab53d651
-
AMD package version: whatever comes with fedora 32
This is what I did for test as you see in dmesg:
-
Boot the system (needed to attach ext keyboard which was connected to another USBC dock)
-
Attach/detach a monitor few times - works fine
-
Detach montior
-
Suspend/Resume the system
-
Attach/detach monitor once via USBC - works
-
Attach monitor once again via USBC - built-in screen flickers, monitor is black
-
Suspend/resume the system - monitor lights up
-
Attach/detach monitor via USBC - built-in screen flickers, monitor is black
Attached files:
- Dmesg log
I tested older kernels (5.11 from fedora 32 and 5.14 from fedora 34), and same result. It does work fine in Windows.
Note that dmesg will show unrelated hack of removing/adding the wifi pci device to make it also work after resume.
It also contains a hack of trying to use acpi_osi as close as windows does, which I hoped to change things.