aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/nouveau/nv04_crtc.c
diff options
context:
space:
mode:
authorMarcin Slusarz <marcin.slusarz@gmail.com>2011-05-01 17:49:04 -0400
committerBen Skeggs <bskeggs@redhat.com>2011-05-15 20:51:05 -0400
commitb4fa9d0f6563756036f61c74fb38e3e97a1defd4 (patch)
tree2cb3d8bbbfab00a77fa84c576505a5a26c20d997 /drivers/gpu/drm/nouveau/nv04_crtc.c
parent52eba8dd5e830a836425e92d002bc51e42d3280e (diff)
drm/nouveau: make cursor_set implementation consistent with other drivers
When xorg state tracker wants to hide the cursor it calls set_cursor with NULL buffer_handle and size=0x0, but nouveau refuses to hide it because size is not 64x64... which is a bit odd. Both radeon and intel check buffer_handle before validating size of cursor, so make nouveau implementation consistent with them. Signed-off-by: Marcin Slusarz <marcin.slusarz@gmail.com> Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/nouveau/nv04_crtc.c')
-rw-r--r--drivers/gpu/drm/nouveau/nv04_crtc.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/nouveau/nv04_crtc.c b/drivers/gpu/drm/nouveau/nv04_crtc.c
index cc3cd175ab9d..3c78bc81357e 100644
--- a/drivers/gpu/drm/nouveau/nv04_crtc.c
+++ b/drivers/gpu/drm/nouveau/nv04_crtc.c
@@ -943,14 +943,14 @@ nv04_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
943 struct drm_gem_object *gem; 943 struct drm_gem_object *gem;
944 int ret = 0; 944 int ret = 0;
945 945
946 if (width != 64 || height != 64)
947 return -EINVAL;
948
949 if (!buffer_handle) { 946 if (!buffer_handle) {
950 nv_crtc->cursor.hide(nv_crtc, true); 947 nv_crtc->cursor.hide(nv_crtc, true);
951 return 0; 948 return 0;
952 } 949 }
953 950
951 if (width != 64 || height != 64)
952 return -EINVAL;
953
954 gem = drm_gem_object_lookup(dev, file_priv, buffer_handle); 954 gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
955 if (!gem) 955 if (!gem)
956 return -ENOENT; 956 return -ENOENT;