https://bugzilla.kernel.org/show_bug.cgi?id=71461
--- Comment #18 from Alex Deucher alexdeucher@gmail.com --- (In reply to Tom Yan from comment #16)
I tried to remove the DisplayPort-specific code in radeon_connector_hotplug() of radeon_connector.c and everything seems to work like a charm. What is the code supposed to do actually?
It's required to re-establish the DP link if you physically disconnect and reconnect an active display since DP requires link training while other digital links do not, otherwise you'd end up with a blank display after disconnecting and reconnecting a DP display. It sounds like may have a problem with the hpd interrupts on your board.
Though, btw, it seems that only turning off my DP monitor in X would make it "dead". Doing that in console (or switch to console before turning it on) does not.
How are you turning it off in X vs console? Are you physically powering the monitor off or triggering dpms (e.g., xset dpms force off)?
(In reply to Tom Yan from comment #17)
One thing to add, unplugging it physically in X still makes it blank. It happens no matter the code is removed or not.
That code is required to re-establish the link.
Also, HDMI doesn't work all time yet, seems that if the TV is powered off and it goes into DPMS after sometime (in console), the display still gone completely.
Are you physically powering off the TV or do you mean dpms?