Bug 20573

Summary: [KMS]blank screen after rotate
Product: DRI Reporter: liuhaien <haien.liu>
Component: DRM/IntelAssignee: Jesse Barnes <jbarnes>
Status: CLOSED FIXED QA Contact:
Severity: major    
Priority: high    
Version: unspecified   
Hardware: Other   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 20571    
Attachments:
Description Flags
xorg.0.log
none
re-enable disabled outputs at mode set time none

Description liuhaien 2009-03-09 19:29:35 UTC
Created attachment 23710 [details]
xorg.0.log

System environment:
----------------------
Libdrm:         (master)391c92ae1799f0d1fddb2321c5713afc58575514
Mesa:   (mesa_7_4_branch)463ac421a53c769922f174b3a07f7014f64b3234               
Xserver:        (server-1.6-branch)f469726fec502ce29999eda6919c3c3d26c127d8
Xf86_video_intel:              
(master)73aa23d9150121a4e4b70a78cab910acd164abf5
Kernel:       (for-airlied)edde72a59461d766997b469f6d20afdf5fe9b5b4

Bug detailed description:
--------------------------
startx with uxa, the screen will turn blank when running "xrandr --output xx --rotate xx".

reproduce steps:
---------------------
1.xinit&(with uxa)
2.xrandr --output xxx --rotate xxx
Comment 1 Jesse Barnes 2009-03-12 16:47:32 UTC
Hm, rotate appears to do nothing with master bits from today.  Will investigate.
Comment 2 Gordon Jin 2009-03-13 20:59:35 UTC
impacting moblin
Comment 3 liuhaien 2009-03-16 20:21:55 UTC
the issue also happens on 855gm and 915gm
Comment 4 Jesse Barnes 2009-03-18 12:00:41 UTC
Looks like the rotation actually happens correctly, but the server disables the output.  Doing a "xset dpms force on" turns the display back on and things seem to work.  Looks like the server's DisableUnusedFunctions is turning off the LVDS after the rotation happens, which means the output's crtc isn't set correctly.
Comment 5 Jesse Barnes 2009-03-18 12:50:01 UTC
Created attachment 24005 [details] [review]
re-enable disabled outputs at mode set time

With the mode_set_major hook we may need to re-enable a previously disabled output at rotate time.  I'm not sure this is the correct fix, but please try it out (works for me).
Comment 6 liuhaien 2009-03-18 19:12:42 UTC
(In reply to comment #5)
> Created an attachment (id=24005) [details]
> re-enable disabled outputs at mode set time
> 
> With the mode_set_major hook we may need to re-enable a previously disabled
> output at rotate time.  I'm not sure this is the correct fix, but please try it
> out (works for me).
> 

the patch works for me.
Comment 7 Jesse Barnes 2009-03-18 20:21:14 UTC
Fix pushed, thanks to airlied for review.

commit bedc894a565ce3c7a50990e3f78953fc2432ad40
Author: Jesse Barnes <jbarnes@nietzche.localdomain>
Date:   Wed Mar 18 20:19:44 2009 -0700

    Re-enable disabled outputs after rotation
Comment 8 liuhaien 2009-03-20 00:56:56 UTC
verified agaist:
Libdrm:		(master)6169e3a6012d55522fc8028a5674891a5a99d935
Mesa:	(mesa_7_4_branch)7122490982f2d22cb276b1c4e393712fa73f004f		
Xserver:	(server-1.6-branch)60c161545af80eb78eb790a05bde79409dfdf16e
Xf86_video_intel:		(2.7)28319d60aa2d793c209043c1ce2d38b14c66a4be
Kernel:       (for-airlied)dc529a4fe1ae4667c819437a94185e8581e1e680
Comment 9 liuhaien 2009-03-20 00:57:37 UTC
(In reply to comment #8)
> verified agaist:
> Libdrm:         (master)6169e3a6012d55522fc8028a5674891a5a99d935
> Mesa:   (mesa_7_4_branch)7122490982f2d22cb276b1c4e393712fa73f004f               
> Xserver:        (server-1.6-branch)60c161545af80eb78eb790a05bde79409dfdf16e
> Xf86_video_intel:               (2.7)28319d60aa2d793c209043c1ce2d38b14c66a4be
> Kernel:       (for-airlied)dc529a4fe1ae4667c819437a94185e8581e1e680
> 

sorry,xf-v-intel should use master branch.
Comment 10 Elizabeth 2017-10-06 14:55:27 UTC
Closing old verified.

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.