• Ville Syrjälä's avatar
    drm/i915: Make primary_enabled match the actual hardware state · 98ec7739
    Ville Syrjälä authored
    The BIOS can enable a pipe but leave the primary plane disabled. This
    coflicts with out current idea of primary_enabled. Read the actual
    hardware plane state and set primary_enabled appropriately.
    
    We currently assume that primary_enabled is always true when we're about
    to disable a crtc. That needs to change now as the plane may not be
    enabled. So replace the relevant WARNs with early returns in
    intel_{enable,disable}_primary_hw_plane().
    
    Fixes the following warning
    [    3.831602] WARNING: CPU: 0 PID: 1112 at linux/drivers/gpu/drm/i915/intel_display.c:1918 intel_disable_primary_hw_plane+0xe4/0xf0 [i915]()
    
    which got introduced here by me:
     commit e9e39655c0c30cddc3f8c09a757678a24dd36737
     Author: Ville Syrjälä <ville.syrjala@linux.intel.com>
     Date:   Mon Apr 28 15:53:25 2014 +0300
    
        drm/i915: Remove useless checks from primary enable/disable
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Tested-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    98ec7739
intel_display.c 333 KB