• Chandra Konduru's avatar
    drm/i915: skylake primary plane scaling using shared scalers · 6156a456
    Chandra Konduru authored
    This patch enables skylake primary plane scaling using shared
    scalers atomic desgin.
    
    v2:
    -use single copy of scaler limits (Matt)
    
    v3:
    -move detach_scalers to crtc commit path (Matt)
    -use values in plane_state->src as regular integers (me)
    
    v4:
    -changes to align with updated scaler structures (Matt, me)
    -keep plane src rect in 16.16 format (Matt, Daniel)
    
    v5:
    -Rebased on top of 90/270 rotation changes (me)
    -Fixed an issue introduced by 90/270 changes where plane programming
     is using drm_plane->state rect instead of intel_plane->state rect.
     This change also required for scaling to work properly. (me)
    -With 90/270, updated limits to cover both portrait and landscape usages (me)
    -Refactored skylake_update_primary_plane to reduce its size (Daniel)
     Added helper functions for refactoring are comprehended enough to be
     used for skylake_update_plane (for sprite) too. One stop towards
     having single function for all planes.
    
    v6:
    -Added fixme note when checking plane_state->src width in update_plane (Daniel)
    -Release lock when failing to colorkey request with active scaler (Daniel)
    Signed-off-by: default avatarChandra Konduru <chandra.konduru@intel.com>
    Reviewed-by: matthew.d.roper@intel.com
    Reviewed-by: sonika.jindal@intel.com (v5)
    Testcase: igt/kms_plane_scaling
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    6156a456
intel_display.c 428 KB