drm/i915/skl: Correctly updating sprite wm parameter
authorSonika Jindal <sonika.jindal@intel.com>
Tue, 9 Dec 2014 05:29:15 +0000 (10:59 +0530)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Mon, 15 Dec 2014 10:25:28 +0000 (11:25 +0100)
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>
drivers/gpu/drm/i915/intel_pm.c

index 99865c046c8a5cfa9e1ce67a4ecda2460c9fad40..0f7ceba2032f74af080a2de9678bb26094ced83e 100644 (file)
@@ -2668,7 +2668,8 @@ static void skl_compute_wm_pipe_parameters(struct drm_crtc *crtc,
        list_for_each_entry(plane, &dev->mode_config.plane_list, head) {
                struct intel_plane *intel_plane = to_intel_plane(plane);
 
-               if (intel_plane->pipe == pipe)
+               if (intel_plane->pipe == pipe &&
+                       plane->type == DRM_PLANE_TYPE_OVERLAY)
                        p->plane[i++] = intel_plane->wm;
        }
 }