[Intel-gfx] [PATCH] work around broken [hv]blank values from VBT

Jesse Barnes jbarnes at virtuousgeek.org
Wed Jan 14 01:47:23 CET 2009


On Tuesday, January 13, 2009 3:22 pm Jesse Barnes wrote:
> Either our calculation in i830_bios.c is wrong (i.e. the [hv]blank fields
> contain [hv]blank width values and are therefore relative to [hv]syncend)
> or there are quite a few broken VBTs out there.  This patch seems to work
> around the problem on the affected machines (see bug 17292 for a list,
> includes many Sony Vaio machines and some Dell N series Studio machines). 
> Only some panels seem to be sensitive enough to trigger a problem with
> these problematic mode lines, which may explain why we haven't seen the
> problem sooner.
>
> I haven't actually see a problem with the vtotal values yet, but added the
> same workaround for those fields for symmetry.

Ooh, I take that back, my little collection of ROMs has quite a few baddies, 
both horizontal and vertical:

[jbarnes at jbarnes-t61 bios_reader]$ for i in ~/intel-roms/*.bin; do echo 
$i; ./bios_reader $i|grep BAD;done                                                      
/home/jbarnes/intel-roms/855gm-bad-refresh.bin                                  
/home/jbarnes/intel-roms/aopen-965gm-no-lvds.bin                                
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)    
/home/jbarnes/intel-roms/dell-studio-15-945.bin                                 
                timings: 1280 1328 1360 1337 800 803 809 810 65000.00 (BAD!)    
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)    
/home/jbarnes/intel-roms/dell-studio-965gm.bin                                  
                timings: 1280 1328 1360 1337 800 803 809 810 65000.00 (BAD!)    
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)    
/home/jbarnes/intel-roms/dell-studio-nseries-965gm.bin                          
                timings: 1280 1328 1360 1337 800 803 809 810 65000.00 (BAD!)    
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)    
/home/jbarnes/intel-roms/fujitsu-S6010-lifebook.bin                             
/home/jbarnes/intel-roms/fujitsu-S6110-lifebook.bin                             
/home/jbarnes/intel-roms/fujitsu-stylistic-st4110.bin                           
/home/jbarnes/intel-roms/fujitsu-t3010.bin                                      
                timings: 0 726 991 0 3840 3848 3848 7935 60.00 (BAD!)           
                timings: 60 66 66 63 320 349 397 840 60.00 (BAD!)               
                timings: 6 6 18 1798 0 16 16 0 139510.00 (BAD!)                 
                timings: 0 127 181 0 256 256 259 3840 200.00 (BAD!)             
                timings: 807 911 917 807 18 18 18 24 38460.00 (BAD!)            
                timings: 500 506 521 501 18 20 27 24 20000.00 (BAD!)
                timings: 88 296 303 3162 18 33 53 24 20000.00 (BAD!)
                timings: 0 208 215 2112 18 23 63 24 7680.00 (BAD!)
                timings: 2048 2304 2307 2051 17 17 17 23 10240.00 (BAD!)
/home/jbarnes/intel-roms/gordonj-t61.bin
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/jbarnes-t61.bin
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/mitac-8011.bin
                timings: 1280 1376 1488 1440 768 771 777 823 71100.00 (BAD!)
/home/jbarnes/intel-roms/nx6110-no-tv.bin
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/pb-easynote.bin
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/sony-vaio-sr19xn.bin
                timings: 1280 1330 1686 1408 800 802 804 808 68200.00 (BAD!)
                timings: 1280 1330 1686 1408 800 802 804 808 68200.00 (BAD!)
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/sony-vaio-vgn-sr11m.bin
                timings: 1280 1330 1686 1408 800 802 804 808 68200.00 (BAD!)
                timings: 1280 1330 1686 1408 800 802 804 808 68200.00 (BAD!)
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)
/home/jbarnes/intel-roms/transtec-mini-pc-no-lvds.bin
                timings: 1280 1328 1360 1440 768 770 780 778 68250.00 (BAD!)

Which makes me wonder if the Windows driver really does use these values the 
same way we do.  Either our calculation is wrong or we're missing their 
quirks list.

-- 
Jesse Barnes, Intel Open Source Technology Center



More information about the Intel-gfx mailing list