|
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.
|