summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorConnor Behan <connor.behan@gmail.com>2015-12-01 18:45:59 -0500
committerMartin-Éric Racine <martin-eric.racine@iki.fi>2015-12-02 14:19:33 +0200
commitcecdf5085739649dc3b52e343c246f6c3c1dda4d (patch)
tree6ea26a8f3af80748dd7939df36a20c35998b0b66
parent44c508916af7a6e59d898829faaec599dbd51f4a (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.h4
-rw-r--r--src/lx_display.c4
-rw-r--r--src/lx_driver.c3
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;
}