Skip to content
  • Chris Wilson's avatar
    drm: Only create a cmdline mode if no probed modes match · 5f0c3f99
    Chris Wilson authored
    The intention of using video=<connector>:<mode> is primarily to select
    the user's preferred resolution at startup. Currently we always create a
    new mode irrespective of whether the monitor has a native mode at the
    desired resolution. This has the issue that we may then select the fake
    mode rather the native mode during fb_helper->inital_config() and so
    if the fake mode is invalid we then end up with a loss of signal. Oops.
    This invalid fake mode would also be exported to userspace, who
    potentially may make the same mistake.
    
    To avoid this issue, we filter out the added command line mode if we
    detect the desired resolution (and clock if specified) amongst the
    probed modes. This fixes the immediate problem of adding a duplicate
    mode, but perhaps more generically we should avoid adding a GTF mode if
    the monitor has an EDID that is not GTF-compatible, or similarly for
    CVT.
    
    Was meant to fix a regression from
    
    commit eaf99c74
    
    
    Author: Chris Wilson <chris@chris-wilson.co.uk>
    Date:   Wed Aug 6 10:08:32 2014 +0200
    
        drm: Perform cmdline mode parsing during connector initialisation
    
    but Radek explained that the original bug is no longer reproducible on
    latest kernels.
    
    v2: Explicitly delete our earlier cmdline mode
    v3: Mode pruning should now be sufficient to delete stale cmdline modes
    v4: Compute the vrefresh for the probed mode
    
    Reported-by: default avatarRadek Dostál <rd@radekdostal.com>
    Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Cc: Radek Dostál <rd@radekdostal.com>
    Cc: Jesse Barnes <jbarnes@virtuousgeek.org>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: dri-devel@lists.freedesktop.org
    Cc: Julia Lemire <jlemire@matrox.com>
    Cc: Dave Airlie <airlied@redhat.com>
    Reviewed-by: default avatarAlex Deucher <alexander.deucher@amd.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    [danvet: Drop cc: stable since no longer a pressing bugfix, just
    nice-to-have.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    Link: http://patchwork.freedesktop.org/patch/msgid/1464774651-20376-1-git-send-email-chris@chris-wilson.co.uk
    5f0c3f99