• Manasi Navare's avatar
    drm/i915/display/icl: Enable master-slaves in trans port sync · eadf6f91
    Manasi Navare authored
    As per the display enable sequence, we need to follow the enable sequence
    for slaves first with DP_TP_CTL set to Idle and configure the transcoder
    port sync register to select the corersponding master, then follow the
    enable sequence for master leaving DP_TP_CTL to idle.
    At this point the transcoder port sync mode is configured and enabled
    and the Vblanks of both ports are synchronized so then set DP_TP_CTL
    for the slave and master to Normal and do post crtc enable updates.
    
    v11:
    * Rebase (Manasi)
    v10:
    * in trans sync mode, dont stop link train for tgl (Manasi)
    v9:
    Remove update_scanline_offset to rebase on Maarten's patch (Manasi)
    v8:
    * Rebase on Maarten's patches (Manasi)
    v7:
    * Use ffs(slaves) to get slave crtc (Ville)
    v6:
    * Modeset implies active_changed, remove one condition (Maarten)
    v5:
    * Fix checkpatch warning (Manasi)
    v4:
    * Reuse skl_commit_modeset_enables() hook (Maarten)
    * Obtain slave crtc and states from master (Maarten)
    v3:
    * Rebase on drm-tip (Manasi)
    v2:
    * Create a icl_update_crtcs hook (Maarten, Danvet)
    * This sequence only for CRTCs in trans port sync mode (Maarten)
    
    Cc: Daniel Vetter <daniel.vetter@ffwll.ch>
    Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Signed-off-by: default avatarManasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: default avatarMaarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191018172725.1338-4-manasi.d.navare@intel.com
    eadf6f91
intel_ddi.c 145 KB