| From 7045c3689f148a0c95f42bae8ef3eb2829ac7de9 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> |
| Date: Fri, 13 May 2016 17:55:17 +0300 |
| Subject: drm/i915: Don't leave old junk in ilk active watermarks on readout |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| From: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| |
| commit 7045c3689f148a0c95f42bae8ef3eb2829ac7de9 upstream. |
| |
| When we read out the watermark state from the hardware we're supposed to |
| transfer that into the active watermarks, but currently we fail to any |
| part of the active watermarks that isn't explicitly written. Let's clear |
| it all upfront. |
| |
| Looks like this has been like this since the beginning, when I added the |
| readout. No idea why I didn't clear it up. |
| |
| Cc: Matt Roper <matthew.d.roper@intel.com> |
| Fixes: 243e6a44b9ca ("drm/i915: Init HSW watermark tracking in intel_modeset_setup_hw_state()") |
| Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| Reviewed-by: Matt Roper <matthew.d.roper@intel.com> |
| Signed-off-by: Matt Roper <matthew.d.roper@intel.com> |
| Link: http://patchwork.freedesktop.org/patch/msgid/1463151318-14719-2-git-send-email-ville.syrjala@linux.intel.com |
| (cherry picked from commit 15606534bf0a65d8a74a90fd57b8712d147dbca6) |
| Signed-off-by: Jani Nikula <jani.nikula@intel.com> |
| Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org> |
| |
| --- |
| drivers/gpu/drm/i915/intel_pm.c | 2 ++ |
| 1 file changed, 2 insertions(+) |
| |
| --- a/drivers/gpu/drm/i915/intel_pm.c |
| +++ b/drivers/gpu/drm/i915/intel_pm.c |
| @@ -3845,6 +3845,8 @@ static void ilk_pipe_wm_get_hw_state(str |
| if (IS_HASWELL(dev) || IS_BROADWELL(dev)) |
| hw->wm_linetime[pipe] = I915_READ(PIPE_WM_LINETIME(pipe)); |
| |
| + memset(active, 0, sizeof(*active)); |
| + |
| active->pipe_enabled = intel_crtc->active; |
| |
| if (active->pipe_enabled) { |