https://bugs.freedesktop.org/show_bug.cgi?id=40252
--- Comment #5 from Alex Deucher agd5f@yahoo.com 2011-09-22 13:54:02 PDT --- (In reply to comment #4)
Mh okay, I my observations were related to HDMI (not VGA). Is there a way to find out if a "HPD pin [is] assigned to the digital display connector"?
Make sure your have the rlc firmware loaded as it's required for the interrupt controller to work.
Check your dmesg. It should show something like: [drm] Connector 1: [drm] HDMI-A [drm] HPD2 [drm] DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c [drm] Encoders: [drm] DFP1: INTERNAL_UNIPHY
In this case HPD2 has been (in theory) wired to the hdmi port. Plug/unplug in your hdmi port and check if bit 1 of any of the DC_HPDx_INT_STATUS regs changes when you connect/disconnect the monitor.
#define DC_HPD1_INT_STATUS 0x7d00 #define DC_HPD2_INT_STATUS 0x7d0c #define DC_HPD3_INT_STATUS 0x7d18 #define DC_HPD4_INT_STATUS 0x7d24 #define DC_HPD5_INT_STATUS 0x7dc0 #define DC_HPD6_INT_STATUS 0x7df4
You can use radeonreg: http://cgit.freedesktop.org/~airlied/radeontool/ to dump registers. E.g. (as root), ./radeonreg regmatch 0x7d00