diff options
Diffstat (limited to 'src')
-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; } |