aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/i915/intel_sprite.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/i915/intel_sprite.c')
-rw-r--r--drivers/gpu/drm/i915/intel_sprite.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/gpu/drm/i915/intel_sprite.c b/drivers/gpu/drm/i915/intel_sprite.c
index 32f10621fac8..3be22c0fcfb5 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -864,7 +864,7 @@ intel_check_sprite_plane(struct intel_plane *plane,
864 uint32_t src_x, src_y, src_w, src_h; 864 uint32_t src_x, src_y, src_w, src_h;
865 struct drm_rect *src = &state->base.src; 865 struct drm_rect *src = &state->base.src;
866 struct drm_rect *dst = &state->base.dst; 866 struct drm_rect *dst = &state->base.dst;
867 const struct drm_rect *clip = &state->clip; 867 struct drm_rect clip = {};
868 int max_stride = INTEL_GEN(dev_priv) >= 9 ? 32768 : 16384; 868 int max_stride = INTEL_GEN(dev_priv) >= 9 ? 32768 : 16384;
869 int hscale, vscale; 869 int hscale, vscale;
870 int max_scale, min_scale; 870 int max_scale, min_scale;
@@ -923,7 +923,11 @@ intel_check_sprite_plane(struct intel_plane *plane,
923 vscale = drm_rect_calc_vscale_relaxed(src, dst, min_scale, max_scale); 923 vscale = drm_rect_calc_vscale_relaxed(src, dst, min_scale, max_scale);
924 BUG_ON(vscale < 0); 924 BUG_ON(vscale < 0);
925 925
926 state->base.visible = drm_rect_clip_scaled(src, dst, clip, hscale, vscale); 926 if (crtc_state->base.enable)
927 drm_mode_get_hv_timing(&crtc_state->base.mode,
928 &clip.x2, &clip.y2);
929
930 state->base.visible = drm_rect_clip_scaled(src, dst, &clip, hscale, vscale);
927 931
928 crtc_x = dst->x1; 932 crtc_x = dst->x1;
929 crtc_y = dst->y1; 933 crtc_y = dst->y1;