diff options
author | Connor Behan <connor.behan@gmail.com> | 2015-12-01 18:45:59 -0500 |
---|---|---|
committer | Martin-Éric Racine <martin-eric.racine@iki.fi> | 2015-12-02 14:19:33 +0200 |
commit | cecdf5085739649dc3b52e343c246f6c3c1dda4d (patch) | |
tree | 6ea26a8f3af80748dd7939df36a20c35998b0b66 | |
parent | 44c508916af7a6e59d898829faaec599dbd51f4a (diff) |
LX: Restore old VT switch code
Calls for enabling and disabling outputs were removed from the VT switch
routine when RandR support was added. Presumably, this is because the
server already sets DPMS properly on a VT switch. However, DDX code can
undo what the server does so it seems best to keep the explicit calls.
Closes: X.Org Bugzilla #80825
Signed-off-by: Connor Behan <connor.behan@gmail.com>
-rw-r--r-- | src/geode.h | 4 | ||||
-rw-r--r-- | src/lx_display.c | 4 | ||||
-rw-r--r-- | src/lx_driver.c | 3 |
3 files changed, 9 insertions, 2 deletions
diff --git a/src/geode.h b/src/geode.h index 815efc7..eb61c28 100644 --- a/src/geode.h +++ b/src/geode.h @@ -441,6 +441,10 @@ void GXAccelSync(ScrnInfoPtr pScrni); /* gx_video.c */ void GXInitVideo(ScreenPtr pScrn); +/* lx_display.c */ +void lx_enable_dac_power(ScrnInfoPtr pScrni, int option); +void lx_disable_dac_power(ScrnInfoPtr pScrni, int option); + /* lx_driver.c */ void LXSetupChipsetFPtr(ScrnInfoPtr pScrn); diff --git a/src/lx_display.c b/src/lx_display.c index 997d53d..6315f9f 100644 --- a/src/lx_display.c +++ b/src/lx_display.c @@ -39,7 +39,7 @@ typedef struct _LXOutputPrivateRec { GeodeMemPtr rotate_mem; } LXCrtcPrivateRec, *LXCrtcPrivatePtr; -static void +void lx_enable_dac_power(ScrnInfoPtr pScrni, int option) { GeodeRec *pGeode = GEODEPTR(pScrni); @@ -59,7 +59,7 @@ lx_enable_dac_power(ScrnInfoPtr pScrni, int option) df_set_panel_enable(1); } -static void +void lx_disable_dac_power(ScrnInfoPtr pScrni, int option) { GeodeRec *pGeode = GEODEPTR(pScrni); diff --git a/src/lx_driver.c b/src/lx_driver.c index c68f715..47f6875 100644 --- a/src/lx_driver.c +++ b/src/lx_driver.c @@ -682,6 +682,8 @@ LXLeaveGraphics(ScrnInfoPtr pScrni) gp_wait_until_idle(); + lx_disable_dac_power(pScrni, DF_CRT_DISABLE); + vg_set_custom_mode(&(pGeode->FBcimdisplaytiming.vgDisplayMode), pGeode->FBcimdisplaytiming.wBpp); @@ -710,6 +712,7 @@ LXLeaveGraphics(ScrnInfoPtr pScrni) vg_delay_milliseconds(3); } + lx_enable_dac_power(pScrni, 1); pScrni->vtSema = FALSE; } |