https://bugs.freedesktop.org/show_bug.cgi?id=73530
--- Comment #94 from Nicolas Werner nicolas.werner@ymail.com --- (In reply to Alex Deucher from comment #93)
Created attachment 115778 [details] [review] debuging patch
Your dpcd is indeed getting corrupted somehow. I can't see how though. The attached patch (please drop your hardcode to 2 patch when you apply this one) should workaround the issue by re-fetching the dpcd when required, but doesn't fix the root cause. Please attach the dmesg output with this patch applied as well. I'd like to see how often it's getting corrupted.
Interestingly this doesn't work, I get the same blackscreen as usually:
[ 5.946595] [drm] radeon_dp_getdpcd [ 5.946601] [drm] DPCD: 11 0a 84 01 00 0b 01 01 02 00 00 00 00 00 00 [ 5.978557] [drm] fb mappable at 0xD047B000 [ 5.978563] [drm] vram apper at 0xD0000000 [ 5.978565] [drm] size 8294400 [ 5.978567] [drm] fb depth is 24 [ 5.978569] [drm] pitch is 7680 [ 5.978789] fbcon: radeondrmfb (fb0) is primary device [ 5.978881] [drm:radeon_dp_set_link_config] *ERROR* corrupt dpcd, updating [ 5.979556] [drm] radeon_dp_set_link_config, 540000, 1 [ 5.979558] [drm] DPCD: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 7.118887] [drm] radeon_dp_set_rx_power_state, 0 [ 7.118889] [drm] DPCD: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 7.118891] [drm:radeon_dp_set_rx_power_state] *ERROR* corrupt dpcd, updating [ 8.254349] [drm:radeon_dp_link_train] *ERROR* corrupt dpcd, updating [ 8.255018] [drm] radeon_dp_link_train [ 8.255019] [drm] DPCD: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 8.255020] [drm] dp_info dpcd: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 8.255022] [drm] radeon_dp_set_rx_power_state, 0 [ 8.255023] [drm] DPCD: 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 [ 8.255024] [drm:radeon_dp_set_rx_power_state] *ERROR* corrupt dpcd, updating [ 8.255326] [drm] radeon_dp_getdpcd [ 8.255326] [drm] DPCD: 11 0a 02 00 00 00 00 00 00 00 00 00 00 00 00 [ 8.263438] [drm:radeon_dp_link_train_cr] *ERROR* clock recovery tried 5 times [ 8.263440] [drm:radeon_dp_link_train_cr] *ERROR* clock recovery failed [ 8.662772] radeon 0000:00:01.0: fb0: radeondrmfb frame buffer device [ 8.691450] [drm] Initialized radeon 2.40.0 20080528 for 0000:00:01.0 on minor 0 [ 11.436860] [drm] radeon_dp_getdpcd [ 11.436866] [drm] DPCD: 11 0a 84 01 00 0b 01 01 02 00 00 00 00 00 00 [ 11.467143] [drm] radeon_dp_getdpcd [ 11.467151] [drm] DPCD: 11 0a 84 01 00 0b 01 01 02 00 00 00 00 00 00 [ 11.530015] [drm] radeon_dp_getdpcd [ 11.530021] [drm] DPCD: 11 0a 84 01 00 0b 01 01 02 00 00 00 00 00 00 [ 11.558174] [drm] radeon_dp_getdpcd [ 11.558182] [drm] DPCD: 11 0a 84 01 00 0b 01 01 02 00 00 00 00 00 00