summaryrefslogtreecommitdiff
path: root/src/geode_dcon.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/geode_dcon.c')
-rw-r--r--src/geode_dcon.c25
1 files changed, 18 insertions, 7 deletions
diff --git a/src/geode_dcon.c b/src/geode_dcon.c
index fc887f7..5028531 100644
--- a/src/geode_dcon.c
+++ b/src/geode_dcon.c
@@ -51,7 +51,7 @@ dcon_present(void)
}
int
-DCONDPMSSet(ScrnInfoPtr pScrni, int mode, int flags)
+DCONDPMSSet(ScrnInfoPtr pScrni, int mode)
{
static int failed = -1;
int fd;
@@ -97,14 +97,25 @@ dcon_init(ScrnInfoPtr pScrni)
return FALSE;
}
+ pGeode->panelMode = xnfcalloc(1, sizeof(DisplayModeRec));
+ if (pGeode->panelMode == NULL)
+ return FALSE;
+
+ /* Set up the panel mode structure automagically */
+
+ pGeode->panelMode->type = M_T_DRIVER;
+ pGeode->panelMode->Clock = 57275;
+ pGeode->panelMode->HDisplay = 1200;
+ pGeode->panelMode->HSyncStart = 1208;
+ pGeode->panelMode->HSyncEnd = 1216;
+ pGeode->panelMode->HTotal = 1240;
+ pGeode->panelMode->VDisplay = 900;
+ pGeode->panelMode->VSyncStart = 905;
+ pGeode->panelMode->VSyncEnd = 908;
+ pGeode->panelMode->VTotal = 912;
+
/* TODO: Print board revision once sysfs exports it. */
xf86DrvMsg(pScrni->scrnIndex, X_DEFAULT, "DCON detected.\n");
- /* Panel size setup */
- pGeode->PanelX = DCON_DEFAULT_XRES;
- pGeode->PanelY = DCON_DEFAULT_YRES;
-
- /* FIXME: Mode setup should go here */
- /* FIXME: Controller setup should go here */
return TRUE;
}