Skip to content
  • Martin Decky's avatar
    video: Fix EDID macros H_SYNC_WIDTH and H_SYNC_OFFSET · dfc906da
    Martin Decky authored
    
    
    The macros for getting the values for horizontal sync width and offset
    do not respect the EDID specification. Both these values are 10 bit
    values according to [1], not 6 bit values. The lower 8 bits are stored
    in byte 8 and byte 9 of the DTD respectively, while two additional bits
    for each value are stored in byte 11. The original macros just slammed
    the bits together.
    
    Although the original macros usually worked fine because the higher two
    bits are rarely used, it can cause severe problems on plasma panels
    running at 1920x1080 @ 50 Hz with drivers that rely on the correct
    parsing of the EDID data by fbmon.c (e.g. udlfb).
    
    The patch should apply cleanly to both the fbdev-2.6.git branch and
    linux-next.git branch.
    
    [1] VESA Enhanced Extended Display Identification Data Standard,
         Release A, Revision 2, page 34, notes 7 & 8, VESA, Sep 2006
    
    Signed-off-by: default avatarMartin Decky <martin@decky.cz>
    Signed-off-by: default avatarPaul Mundt <lethal@linux-sh.org>
    dfc906da