summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-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;
}