diff options
author | Eric Anholt <anholt@FreeBSD.org> | 2006-03-27 18:50:53 -0800 |
---|---|---|
committer | Eric Anholt <anholt@leguin.anholt.net> | 2006-04-06 15:59:51 -0700 |
commit | 33977d23830b5f9bb7d9e2e9c141f91cb127b7de (patch) | |
tree | 1ebdaa0b07352965c364d6d5b5ec49714e731874 /src/i830_bios.c | |
parent | febdfa967dbe1df487db71ba5f677ef37450bf7a (diff) |
Port code from radeon driver for panel mode validation, which will hopefully get
the right mode chosen on the VAIO. Untested.
Diffstat (limited to 'src/i830_bios.c')
-rw-r--r-- | src/i830_bios.c | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/src/i830_bios.c b/src/i830_bios.c index 31e89b59..47c39ec3 100644 --- a/src/i830_bios.c +++ b/src/i830_bios.c @@ -102,6 +102,7 @@ i830GetLVDSInfoFromBIOS(ScrnInfoPtr pScrn) struct bdb_header *bdb; int vbt_off, bdb_off, bdb_block_off, block_size; int panel_type = -1; + Bool found_panel_info = FALSE; if (!i830GetBIOS(pScrn)) return FALSE; @@ -147,9 +148,11 @@ i830GetLVDSInfoFromBIOS(ScrnInfoPtr pScrn) timing_ptr = pI830->VBIOS + bdb_off + lvds2->panels[panel_type].fp_edid_dtd_offset; + pI830->PanelXRes = fpparam->x_res; + pI830->PanelYRes = fpparam->y_res; xf86DrvMsg(pScrn->scrnIndex, X_INFO, "Found panel of size %dx%d in BIOS VBT tables\n", - fpparam->x_res, fpparam->y_res); + pI830->PanelXRes, pI830->PanelYRes); /* Since lvds_bdb_2_fp_edid_dtd is just an EDID detailed timing * block, pull the contents out using EDID macros. @@ -163,8 +166,11 @@ i830GetLVDSInfoFromBIOS(ScrnInfoPtr pScrn) pI830->panel_fixed_vblank = _V_BLANK(timing_ptr); pI830->panel_fixed_vsyncoff = _V_SYNC_OFF(timing_ptr); pI830->panel_fixed_vsyncwidth = _V_SYNC_WIDTH(timing_ptr); + + found_panel_info = TRUE; break; } } - return TRUE; + + return found_panel_info; } |