• José Roberto de Souza's avatar
    drm/i915/display: Always enables MST master pipe first · 659f1415
    José Roberto de Souza authored
    Due to DDB overlaps the pipe enabling sequence is not always crescent.
    As the previous patch selects the smallest pipe/transcoder in the MST
    stream to be master and it needs to be enabled first, this changes
    were needed to guarantee that.
    
    So first lets enable all pipes that do not need a fullmodeset as
    those don't have any external dependency and those are the ones that
    can overlap with each other.
    
    Then on the second loop it will enable all the pipes that needs a
    modeset and don't depends on other pipes like MST master
    pipe/transcoder.
    
    Then finally all the pipes that needs a modeset and have dependency
    on other pipes, that at this point are alread enabled.
    
    v3: rebased
    
    v4:
    - added check for modeset_pipes too to decide if is necessary for a
    wait a vblank
    - added DDB allocation overlap check for pipes that needs a modeset
    
    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>
    Cc: Manasi Navare <manasi.d.navare@intel.com>
    Reviewed-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Signed-off-by: default avatarJosé Roberto de Souza <jose.souza@intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20191223010654.67037-3-jose.souza@intel.com
    659f1415
intel_display.c 518 KB