• Rolf Eike Beer's avatar
    DRM: clean up and document parsing of video= parameter · 04fee895
    Rolf Eike Beer authored
    The video= parameter of the DRM drivers supports some additional flags that
    the normal fb drivers do not have. They also allow to limit these flags to
    specific outputs. Both things were previously undocumented.
    
    Also the parsing of the line had some oddities:
    -A lot of misplaced options were silently ignored or partly rejected instead
     of stopping the parsing immediately
    -The 'R' option is documented to follow the 'M' option if specified. It is not
     documented that 'M' is needed to specify 'R' (also this is the case for normal
     fb drivers). In fact the code is correct for normal fb drivers but wrong for
     DRM ones.
     The old code allowed 'R' only _before_ 'M' (since it parses backwards) and only
     if 'M' is given at all which is not needed for the DRM drivers.
    -the margins option ('m') was parsed but later ignored even if the later
     functions support it.
    -specifying multiple enable options at the same time did not lead to an error.
    -specifying something bogus for horizontal resolution (i.e. other things as
     digits) did not lead to an error but an invalid resolution was used.
    
    If any errors are encountered the position of the faulting string is now
    printed to the user and the complete mode is ignored. This gives much
    more consistent error behaviour.
    
    I also removed some useless assignments and changed the local flag variables
    to be bool.
    Signed-off-by: default avatarRolf Eike Beer <eike-kernel@sf-tec.de>
    Signed-off-by: default avatarDave Airlie <airlied@redhat.com>
    04fee895
drm_modes.c 33.3 KB