Description of problem:
Upgraded from kernel 184.108.40.206-35 to kernel 2.6.40-4 and the dpms support of my monitors changed, the system would no longer power down the displays. Rebooting into the older kernel made the problem go away.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.sleep 1; xset dpms force off
monitors go black and then come back
monitors should go black and then a second or so later should power off
radeon 3650 video card
KMS is enabled and being used
Screen 0: minimum 320 x 200, current 3600 x 1200, maximum 8192 x 8192
DVI-0 connected 1920x1200+0+0 (normal left inverted right x axis y axis) 518mm x 324mm
DIN disconnected (normal left inverted right x axis y axis)
DVI-1 connected 1680x1050+1920+0 (normal left inverted right x axis y axis) 450mm x 280mm
1280x1024 75.0 60.0
1024x768 75.1 70.1 60.0
800x600 72.2 75.0 60.3 56.2
640x480 72.8 75.0 66.7 60.0
Problem also exists in kernel-220.127.116.11-0.fc15.x86_64
01:00.0 VGA compatible controller: ATI Technologies Inc Mobility Radeon HD 3600 Series (prog-if 00 [VGA controller])
Subsystem: ASUSTeK Computer Inc. Device 01da
Control: I/O+ Mem+ BusMaster+ SpecCycle- MemWINV- VGASnoop- ParErr- Stepping- SERR- FastB2B- DisINTx+
Status: Cap+ 66MHz- UDF- FastB2B- ParErr- DEVSEL=fast >TAbort- <TAbort- <MAbort- >SERR- <PERR- INTx-
Latency: 0, Cache Line Size: 32 bytes
Interrupt: pin A routed to IRQ 45
Region 0: Memory at d0000000 (64-bit, prefetchable) [size=256M]
Region 2: Memory at fe9e0000 (64-bit, non-prefetchable) [size=64K]
Region 4: I/O ports at d000 [size=256]
[virtual] Expansion ROM at fe900000 [disabled] [size=128K]
Capabilities: <access denied>
Kernel driver in use: radeon
Kernel modules: radeon
I performed a git bisect on this issue and the result of that was the following.
1e85e1d07b9255bd52c557f1a77fb72ccfacaf1c is the first bad commit
Author: Alex Deucher <firstname.lastname@example.org>
Date: Fri May 20 04:34:29 2011 -0400
drm/radeon/kms: simplify hotplug handler logic
In the hotplug handler, just use the drm dpms functions.
If the monitor is plugged in, turn it on, if it's not,
turn it off. This also reduces power usage by turning
off the encoder and crtc when the monitor is unplugged.
Signed-off-by: Alex Deucher <email@example.com>
Signed-off-by: Dave Airlie <firstname.lastname@example.org>
:040000 040000 8838a7f0f02513ef188c7741738f6a044c9e1e39 40499f2c695e56b34e15557ff49d96c3266748b3 M drivers
The following patch by agd5f fixes the problem...
diff --git a/drivers/gpu/drm/radeon/radeon_connectors.c b/drivers/gpu/drm/radeon
index 9792d4f..b8ccdd7 100644
@@ -60,6 +60,10 @@ void radeon_connector_hotplug(struct drm_connector *connector
+ /* if the connector is already off, don't turn it back on */
+ if (connector->dpms != DRM_MODE_DPMS_ON)
/* powering up/down the eDP panel generates hpd events which
* can interfere with modesetting.
(In reply to comment #4)
> The following patch by agd5f fixes the problem...
That has been submitted upstream and marked for stable.
This should be fixed in the latest 18.104.22.168 update. The stable commit went into 3.0.3 as cdc0fbfac92e20e64737ec0648f38be.