diff options
author | Ilia Mirkin <imirkin@alum.mit.edu> | 2013-11-15 11:26:42 -0500 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2013-12-03 08:28:54 -0500 |
commit | 050828e9563d03cbaab950c16ae4aebaa02ff0de (patch) | |
tree | 3eb333ed90ff1ef899d434aa25e008ea98e75894 | |
parent | 92e5b0a2b121c29eac31e6d8106ceefa31de46a9 (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.c | 10 |
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) |