diff options
author | Sonika Jindal <sonika.jindal@intel.com> | 2014-12-09 00:29:15 -0500 |
---|---|---|
committer | Daniel Vetter <daniel.vetter@ffwll.ch> | 2014-12-15 05:25:28 -0500 |
commit | a712f8ebf80319e29eac117dc614eabecdc31c71 (patch) | |
tree | 080ef42ac8bab00b82f9bf02243dce258744365c /drivers | |
parent | 45f8f69abc789acea7f0b06e604644945794c709 (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.c | 3 |
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 | } |