aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorIlia Mirkin <imirkin@alum.mit.edu>2013-11-15 11:26:42 -0500
committerBen Skeggs <bskeggs@redhat.com>2013-12-03 08:28:54 -0500
commit050828e9563d03cbaab950c16ae4aebaa02ff0de (patch)
tree3eb333ed90ff1ef899d434aa25e008ea98e75894
parent92e5b0a2b121c29eac31e6d8106ceefa31de46a9 (diff)
drm/nv10/plane: add downscaling restrictions
Signed-off-by: Ilia Mirkin <imirkin@alum.mit.edu> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
-rw-r--r--drivers/gpu/drm/nouveau/dispnv04/overlay.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/drivers/gpu/drm/nouveau/dispnv04/overlay.c b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
index 514a3055903c..c14afb794147 100644
--- a/drivers/gpu/drm/nouveau/dispnv04/overlay.c
+++ b/drivers/gpu/drm/nouveau/dispnv04/overlay.c
@@ -112,7 +112,15 @@ nv10_update_plane(struct drm_plane *plane, struct drm_crtc *crtc,
112 format = ALIGN(src_w * 4, 0x100); 112 format = ALIGN(src_w * 4, 0x100);
113 113
114 if (format > 0xffff) 114 if (format > 0xffff)
115 return -EINVAL; 115 return -ERANGE;
116
117 if (dev->chipset >= 0x30) {
118 if (crtc_w < (src_w >> 1) || crtc_h < (src_h >> 1))
119 return -ERANGE;
120 } else {
121 if (crtc_w < (src_w >> 3) || crtc_h < (src_h >> 3))
122 return -ERANGE;
123 }
116 124
117 ret = nouveau_bo_pin(nv_fb->nvbo, TTM_PL_FLAG_VRAM); 125 ret = nouveau_bo_pin(nv_fb->nvbo, TTM_PL_FLAG_VRAM);
118 if (ret) 126 if (ret)