• Gustavo Padovan's avatar
    drm/i915: Merge of visible and !visible paths for primary planes · ccc759dc
    Gustavo Padovan authored
    Fold intel_pipe_set_base() in the update primary plane path merging
    pieces of code that are common to both paths.
    
    Basically the the pin/unpin procedures are the same for both paths
    and some checks can also be shared (some of the were moved to the
    check() stage)
    
    v2: take Ville's comments:
    	- remove unnecessary plane check
    	- move mutex lock to inside the conditional
    	- make the pin fail message a debug one
    	- add a fixme for the fastboot hack
    	- call intel_frontbuffer_flip() after FBC update
    
    v3: take more Ville's comments:
    	- fold update code under if (intel_crtc->active), and do the
    	visible/!visible split inside.
    	- check ret inside the same conditional we assign it
    
    v4: don't use intel_enable_primary_hw_plane(), the primary_enabled
    check inside will break page flips
    
    v5: take more Ville's comments:
    	- set primary_enabled to true and add BDW hack
    	- unify if (old_fb) and if (old_fb != fb)
    
    v6: take more Ville's comments:
    	- make was_primary bool and fix its check
    	- add the BDW vblank wait comment
    Suggested-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarGustavo Padovan <gustavo.padovan@collabora.co.uk>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    ccc759dc
intel_display.c 378 KB