diff options
author | Eric Anholt <anholt@FreeBSD.org> | 2006-03-28 13:40:32 -0800 |
---|---|---|
committer | Eric Anholt <anholt@leguin.anholt.net> | 2006-04-06 16:00:03 -0700 |
commit | e45581cd073b23a62719f20783d617bd35316fec (patch) | |
tree | a21cae7ae76da7dad0749d01ab2c553801481e15 | |
parent | 33977d23830b5f9bb7d9e2e9c141f91cb127b7de (diff) |
Fill in clock information from VBT table, so that a good clock value gets
requested for choosing divisors.
-rw-r--r-- | src/i830.h | 1 | ||||
-rw-r--r-- | src/i830_bios.c | 1 | ||||
-rw-r--r-- | src/i830_driver.c | 2 |
3 files changed, 3 insertions, 1 deletions
@@ -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; } /** |