Summary: | regression in vt-switching between x servers with ums radeon driver | ||||||
---|---|---|---|---|---|---|---|
Product: | xorg | Reporter: | Andriy Gapon <avg> | ||||
Component: | Driver/Radeon | Assignee: | xf86-video-ati maintainers <xorg-driver-ati> | ||||
Status: | RESOLVED WONTFIX | QA Contact: | Xorg Project Team <xorg-team> | ||||
Severity: | normal | ||||||
Priority: | medium | CC: | eich | ||||
Version: | 7.7 (2012.06) | ||||||
Hardware: | x86-64 (AMD64) | ||||||
OS: | FreeBSD | ||||||
Whiteboard: | |||||||
i915 platform: | i915 features: | ||||||
Attachments: |
|
Description
Andriy Gapon
2013-07-11 08:30:52 UTC
Bisecting would be your best bet. Haven't gotten around to bisecting yet. Just a note that it happened with 6.14.4 too. Reverting http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?h=ums&id=eb6d769a087b2ed5952f477fc3f0b0625810a287 http://cgit.freedesktop.org/xorg/driver/xf86-video-ati/commit/?id=ac51e331895b216d288bc7bd108a38b362214668 seems to have really fixed my problem. Now I will try to find the guilty commit and perhaps the guilty piece of it. Looking at eb6d769a087b2ed5952f477fc3f0b0625810a287 it seems that it does a little bit more than the commit message says. Whereas previously there was an early return from radeon_crtc_dpms(): if ((mode == DPMSModeOn) && radeon_crtc->enabled) return; now there isn't one in radeon_*do*_crtc_dpms(). So now, when radeon_do_crtc_dpms is called RADEONRestore() it's always executed to the completion even when mode == DPMSModeOn && radeon_crtc->enabled already. Note sure if this was intended. Some more data points. Reverting only eb6d769a087b2ed5952f477fc3f0b0625810a287 still does help. Not reverting anything and instead adding an early return from radeon_do_crtc_dpms does _not_ help. So, the culprit appears to be eb6d769a087b2ed5952f477fc3f0b0625810a287. What next? Egbert, any ideas? Created attachment 82940 [details] [review] Test patch Could you please try this patch? Unfortunately this patch didn't help. Could you please attach a debugger, breakpoint in RADEONRestore() and find out where crtc->funcs->dpms points to? I switched to KMS driver, so I can't provide further info. |
Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.