• Ville Syrjälä's avatar
    drm/i915: Fix ilk+ watermarks when disabling pipes · df5e31c2
    Ville Syrjälä authored
    We're no longer programming any watermarks when we're disabling
    a pipe. That means ilk_wm_merge() & co. will keep considering
    the any pipe that is getting disabled as still enabled. Thus we
    either get no LP1+ watermakrs (ilk-ivb), or we get suboptimal
    ones (hsw-bdw).
    
    This seems to have been broken by commit b6b178a7 ("drm/i915:
    Calculate ironlake intermediate watermarks correctly, v2."). Before
    that we apparently had some difference between the intermediate
    and optimal watermarks and so we would program the optiomal ones.
    Now intermediate and optimal are identical for disabled pipes
    and so we don't program either.
    
    Fix this by programming the intermediate watermarks even for
    disabled pipes. We were already doing that for skl+. We'll
    leave out gmch platforms for now since those do the merging
    in a different manner and should work as is. We'll want to
    unify this eventually, but play it safe for now and just put
    in a FIXME.
    
    Cc: stable@vger.kernel.org
    Cc: Matt Roper <matthew.d.roper@intel.com>
    Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
    Fixes: b6b178a7 ("drm/i915: Calculate ironlake intermediate watermarks correctly, v2.")
    Signed-off-by: default avatarVille Syrjälä <ville.syrjala@linux.intel.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20181025130536.29024-1-ville.syrjala@linux.intel.com
    Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> #irc
    (cherry picked from commit a748faea)
    Signed-off-by: default avatarJoonas Lahtinen <joonas.lahtinen@linux.intel.com>
    df5e31c2
intel_display.c 460 KB