https://bugs.freedesktop.org/show_bug.cgi?id=40252
Summary: No udev event for disconnecting VGA/HDMI cable Product: DRI Version: XOrg CVS Platform: x86-64 (AMD64) OS/Version: Linux (All) Status: NEW Severity: normal Priority: medium Component: DRM/Radeon AssignedTo: dri-devel@lists.freedesktop.org ReportedBy: qjn@gmx.de
Created an attachment (id=50402) --> (https://bugs.freedesktop.org/attachment.cgi?id=50402) Xorg.0.log
Hi,
I have an AMD Radeon HD 6310 with free radeon drivers running. Xorg version is 7.6, xserver is 1.10.3.
I tried to define a udev rule to change my monitor settings automatically when I connect a VGA or an HDMI cable. Connecting works fine but disconnecting is not recognized.
udevadm monitor shows:
udevadm monitor
monitor will print the received events for: UDEV - the event which udev sends out after rule processing KERNEL - the kernel uevent
KERNEL[100.176249] change /devices/pci0000:00/0000:00:01.0/drm/card0 (drm) UDEV [100.869104] change /devices/pci0000:00/0000:00:01.0/drm/card0 (drm)
for connecting. For disconnecting nothing happens.
I hope this is the right place to file this as a bug.
Every help is appreciated!
Regards
Dirk
https://bugs.freedesktop.org/show_bug.cgi?id=40252
--- Comment #1 from Dirk Montgomery qjn@gmx.de 2011-08-20 08:25:06 PDT --- Created an attachment (id=50403) --> (https://bugs.freedesktop.org/attachment.cgi?id=50403) dmesg
https://bugs.freedesktop.org/show_bug.cgi?id=40252
--- Comment #2 from Fabian Deutsch fabian.deutsch@gmx.de 2011-09-22 13:07:41 PDT --- I've got a similar problem with a Mobility Radeon HD 4300 Series card, there is no change recognized on connect and disconnect.
Any hint where to look?
https://bugs.freedesktop.org/show_bug.cgi?id=40252
--- Comment #3 from Alex Deucher agd5f@yahoo.com 2011-09-22 13:17:45 PDT --- (In reply to comment #2)
I've got a similar problem with a Mobility Radeon HD 4300 Series card, there is no change recognized on connect and disconnect.
Any hint where to look?
Hotplug interrupts only work for digital displays (TMDS/DP). Analog displays require polling.
Check your dmesg output and make sure there is an HPD pin assigned to the digital display connector you are trying to use. It's also possible your OEM did not wire up the pin properly.
https://bugs.freedesktop.org/show_bug.cgi?id=40252
--- Comment #4 from Fabian Deutsch fabian.deutsch@gmx.de 2011-09-22 13:22:42 PDT --- 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"?
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
https://bugs.freedesktop.org/show_bug.cgi?id=40252
Alex Deucher agd5f@yahoo.com changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED Resolution| |DUPLICATE
--- Comment #6 from Alex Deucher agd5f@yahoo.com 2011-10-07 11:14:49 PDT ---
*** This bug has been marked as a duplicate of bug 41561 ***
dri-devel@lists.freedesktop.org