OpenSolaris

Printable Version Enter a New Search
Bug ID 6397125
Synopsis Radeon driver: fails to read hsync/vsync rates from EDID
State 10-Fix Delivered (Fix available in build)
Category:Subcategory xserver:xorg-server
Keywords
Responsible Engineer Henry Zhao
Reported Against
Duplicate Of
Introduced In
Commit to Fix snv_41
Fixed In snv_41
Release Fixed solaris_nevada(snv_41) , solaris_10u3(s10u3_02) (Bug ID:2139548)
Related Bugs 6328726 , 6591210
Submit Date 10-March-2006
Last Update Date 16-January-2007
Description
Radeon driver uses its own validation function RADEONValidateDDCModes() for mode validation when it detects an DFP/LCD monitor, uses server's xf86ValidateMode() for 
mode validation when it detects an CRT monitor, or RADEONValidateDDCModes() failes
(mostly because unavailability of DDC data). In either case, it calls RADEONSetSyncRangeFromEdid() to get monitor hsync/vsync numbers if these numbers are 
not available in a config file.

However, RADEONSetSyncRangeFromEdid() only tries to read Range Limits Descriptor from 
DDC to get hsync/vsync, and if no Range Limits Descriptor exits in DDC, it fall backs 
immediately to default numbers.  This is not right, because some monitor does not 
provide Range Limits Descriptor and if this happens, xf86ValidateMode() makes attempts 
to derive hsyn/vsync numbers from other timing sectors.

An example of failure happens with Sun 24.1" monitor which does not provide Range limits
Descriptor in DDC. In vga mode, with auto-config the sever cannot start at satisfactory
mode (1920x1200) because it does get righ hsync/vsync numbers.
Work Around
N/A
Comments
N/A