aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorSonika Jindal <sonika.jindal@intel.com>2014-12-09 00:29:15 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2014-12-15 05:25:28 -0500
commita712f8ebf80319e29eac117dc614eabecdc31c71 (patch)
tree080ef42ac8bab00b82f9bf02243dce258744365c /drivers
parent45f8f69abc789acea7f0b06e604644945794c709 (diff)
drm/i915/skl: Correctly updating sprite wm parameter
The pipe wm parameters is not correctly updated with sprite parameters because it copies them for each plane from plane_list to the sprite offset in pipe wm parameters. Since plane_list also contains primary and cursor planes, we end up updating wrong params for sprites. Signed-off-by: Sonika Jindal <sonika.jindal@intel.com> Reviewed-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/gpu/drm/i915/intel_pm.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/gpu/drm/i915/intel_pm.c b/drivers/gpu/drm/i915/intel_pm.c
index 99865c046c8a..0f7ceba2032f 100644
--- a/drivers/gpu/drm/i915/intel_pm.c
+++ b/drivers/gpu/drm/i915/intel_pm.c
@@ -2668,7 +2668,8 @@ static void skl_compute_wm_pipe_parameters(struct drm_crtc *crtc,
2668 list_for_each_entry(plane, &dev->mode_config.plane_list, head) { 2668 list_for_each_entry(plane, &dev->mode_config.plane_list, head) {
2669 struct intel_plane *intel_plane = to_intel_plane(plane); 2669 struct intel_plane *intel_plane = to_intel_plane(plane);
2670 2670
2671 if (intel_plane->pipe == pipe) 2671 if (intel_plane->pipe == pipe &&
2672 plane->type == DRM_PLANE_TYPE_OVERLAY)
2672 p->plane[i++] = intel_plane->wm; 2673 p->plane[i++] = intel_plane->wm;
2673 } 2674 }
2674} 2675}