When turning the outputs off (DPMSModeOff), CRTCs stayed enabled. This led to higher gpu temperatures than with fglrx driver.
v2: when entering DPMS also disable active CRTCs v3: use drmmode_set_mode_major() for enabling CRTCs when leaving DPMS Signed-off-by: Piotr Redlewski <[email protected]> --- src/drmmode_display.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/drmmode_display.c b/src/drmmode_display.c index 205ef6a..4291f4d 100644 --- a/src/drmmode_display.c +++ b/src/drmmode_display.c @@ -342,7 +342,18 @@ drmmode_do_crtc_dpms(xf86CrtcPtr crtc, int mode) static void drmmode_crtc_dpms(xf86CrtcPtr crtc, int mode) { - /* Nothing to do. drmmode_do_crtc_dpms() is called as appropriate */ + drmmode_crtc_private_ptr drmmode_crtc = crtc->driver_private; + drmmode_ptr drmmode = drmmode_crtc->drmmode; + + /* Disable unused CRTCs */ + if (!crtc->enabled || mode != DPMSModeOn) { + drmModeSetCrtc(drmmode->fd, drmmode_crtc->mode_crtc->crtc_id, + 0, 0, 0, NULL, 0, NULL); + return; + } + + crtc->funcs->set_mode_major(crtc, &crtc->mode, crtc->rotation, + crtc->x, crtc->y); } static PixmapPtr -- 2.4.4 _______________________________________________ xorg-driver-ati mailing list [email protected] http://lists.x.org/mailman/listinfo/xorg-driver-ati
