summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorEric Anholt <anholt@FreeBSD.org>2006-03-28 13:40:32 -0800
committerEric Anholt <anholt@leguin.anholt.net>2006-04-06 16:00:03 -0700
commite45581cd073b23a62719f20783d617bd35316fec (patch)
treea21cae7ae76da7dad0749d01ab2c553801481e15
parent33977d23830b5f9bb7d9e2e9c141f91cb127b7de (diff)
Fill in clock information from VBT table, so that a good clock value gets
requested for choosing divisors.
-rw-r--r--src/i830.h1
-rw-r--r--src/i830_bios.c1
-rw-r--r--src/i830_driver.c2
3 files changed, 3 insertions, 1 deletions
diff --git a/src/i830.h b/src/i830.h
index 3fba456c..019c1d32 100644
--- a/src/i830.h
+++ b/src/i830.h
@@ -434,6 +434,7 @@ typedef struct _I830Rec {
int PanelXRes, PanelYRes;
/* The BIOS's fixed timings for the LVDS */
+ int panel_fixed_clock;
int panel_fixed_hactive;
int panel_fixed_hblank;
int panel_fixed_hsyncoff;
diff --git a/src/i830_bios.c b/src/i830_bios.c
index 47c39ec3..eb810fca 100644
--- a/src/i830_bios.c
+++ b/src/i830_bios.c
@@ -157,6 +157,7 @@ i830GetLVDSInfoFromBIOS(ScrnInfoPtr pScrn)
/* Since lvds_bdb_2_fp_edid_dtd is just an EDID detailed timing
* block, pull the contents out using EDID macros.
*/
+ pI830->panel_fixed_clock = _PIXEL_CLOCK(timing_ptr) / 1000;
pI830->panel_fixed_hactive = _H_ACTIVE(timing_ptr);
pI830->panel_fixed_hblank = _H_BLANK(timing_ptr);
pI830->panel_fixed_hsyncoff = _H_SYNC_OFF(timing_ptr);
diff --git a/src/i830_driver.c b/src/i830_driver.c
index c6b59708..fccef4a7 100644
--- a/src/i830_driver.c
+++ b/src/i830_driver.c
@@ -2043,7 +2043,7 @@ i830SetModeToPanelParameters(ScrnInfoPtr pScrn, DisplayModePtr pMode)
pMode->VTotal = pI830->panel_fixed_vactive;
pMode->VSyncStart = pI830->panel_fixed_vactive + pI830->panel_fixed_vsyncoff;
pMode->VSyncEnd = pMode->VSyncStart + pI830->panel_fixed_vsyncwidth;
- pMode->Clock = 0; /* XXX */
+ pMode->Clock = pI830->panel_fixed_clock;
}
/**