• Maarten Lankhorst's avatar
    drm/i915: Always keep crtc_state->active in sync with enable · 49d6fa21
    Maarten Lankhorst authored
    With the recent modeset internal rework, we wind up setting crtc_state->enable
    to false, but leave crtc_state->active as true following a
    drmModeSetCrtc(fb=0), which is incorrect.  This mismatch gets caught by
    drm_atomic_crtc_check() and causes subsequent atomic operations (such as plane
    updates while the CRTC is disabled) to fail.
    
    Bisect points to
    
            commit dad9a7d6d96630182fb52aae7c3856e9e7285e13
            Author: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
            Date:   Tue Apr 21 17:13:19 2015 +0300
    
                drm/i915: Use atomic helpers for computing changed flags
    
    as the commit that actually triggers the regression.
    
    The difference compared to (which this patch reverts)
    
    commit 90d46906
    Author: Matt Roper <matthew.d.roper@intel.com>
    Date:   Thu May 7 14:31:28 2015 -0700
    
        drm/i915: Set crtc_state->active to false when CRTC is disabled (v2)
    
    is that we know keep state->active/enable in sync for all legacy
    modeset paths, as it should be.
    
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Ander Conselvan de Oliveira <ander.conselvan.de.oliveira@intel.com>
    Reported-and-Tested-by: default avatarKenneth Graunke <kenneth@whitecape.org>
    Signed-off-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    [danvet: Directly squash in the revert and augment the commit
    message.]
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    
    Revert "drm/i915: Set crtc_state->active to false when CRTC is disabled (v2)"
    
    This reverts commit 90d46906.
    49d6fa21
intel_display.c 421 KB