| From ed1197848495e5949c4295ece90cccf9f59b6136 Mon Sep 17 00:00:00 2001 |
| From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= <ville.syrjala@linux.intel.com> |
| Date: Fri, 5 Jul 2013 11:57:15 +0300 |
| Subject: drm/i915: Calculate the sprite WM based on the source width instead |
| of the destination width |
| MIME-Version: 1.0 |
| Content-Type: text/plain; charset=UTF-8 |
| Content-Transfer-Encoding: 8bit |
| |
| Using the destination width in the sprite WM calculations isn't correct. |
| We should be using the source width. |
| |
| Note: This doesn't affect hsw since it does not support sprite |
| scaling. |
| |
| Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> |
| Reviewed-by: Paulo Zanoni <paulo.r.zanoni@intel.com> |
| [danvet: Add review note from Paulo to the commit message.] |
| Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> |
| |
| (cherry picked from commit ec4c4aa14720b284af8eadd2d65d5131519fc29f) |
| Signed-off-by: Darren Hart <dvhart@linux.intel.com> |
| --- |
| drivers/gpu/drm/i915/intel_sprite.c | 6 +++--- |
| 1 file changed, 3 insertions(+), 3 deletions(-) |
| |
| diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c |
| index 3e3a6d01cff6..5a36afb6ea03 100644 |
| --- a/drivers/gpu/drm/i915/intel_sprite.c |
| +++ b/drivers/gpu/drm/i915/intel_sprite.c |
| @@ -108,7 +108,7 @@ vlv_update_plane(struct drm_plane *dplane, struct drm_framebuffer *fb, |
| |
| sprctl |= SP_ENABLE; |
| |
| - intel_update_sprite_watermarks(dev, pipe, crtc_w, pixel_size, true, |
| + intel_update_sprite_watermarks(dev, pipe, src_w, pixel_size, true, |
| src_w != crtc_w || src_h != crtc_h); |
| |
| /* Sizes are 0 based */ |
| @@ -263,7 +263,7 @@ ivb_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, |
| if (IS_HASWELL(dev)) |
| sprctl |= SPRITE_PIPE_CSC_ENABLE; |
| |
| - intel_update_sprite_watermarks(dev, pipe, crtc_w, pixel_size, true, |
| + intel_update_sprite_watermarks(dev, pipe, src_w, pixel_size, true, |
| src_w != crtc_w || src_h != crtc_h); |
| |
| /* Sizes are 0 based */ |
| @@ -452,7 +452,7 @@ ilk_update_plane(struct drm_plane *plane, struct drm_framebuffer *fb, |
| dvscntr |= DVS_TRICKLE_FEED_DISABLE; /* must disable */ |
| dvscntr |= DVS_ENABLE; |
| |
| - intel_update_sprite_watermarks(dev, pipe, crtc_w, pixel_size, true, |
| + intel_update_sprite_watermarks(dev, pipe, src_w, pixel_size, true, |
| src_w != crtc_w || src_h != crtc_h); |
| |
| /* Sizes are 0 based */ |
| -- |
| 1.8.5.rc3 |
| |