diff options
author | Marcin Slusarz <marcin.slusarz@gmail.com> | 2011-05-01 17:49:04 -0400 |
---|---|---|
committer | Ben Skeggs <bskeggs@redhat.com> | 2011-05-15 20:51:05 -0400 |
commit | b4fa9d0f6563756036f61c74fb38e3e97a1defd4 (patch) | |
tree | 2cb3d8bbbfab00a77fa84c576505a5a26c20d997 /drivers/gpu | |
parent | 52eba8dd5e830a836425e92d002bc51e42d3280e (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')
-rw-r--r-- | drivers/gpu/drm/nouveau/nv04_crtc.c | 6 | ||||
-rw-r--r-- | drivers/gpu/drm/nouveau/nv50_crtc.c | 6 |
2 files changed, 6 insertions, 6 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; |
diff --git a/drivers/gpu/drm/nouveau/nv50_crtc.c b/drivers/gpu/drm/nouveau/nv50_crtc.c index b522a3a534c6..ebabacf38da9 100644 --- a/drivers/gpu/drm/nouveau/nv50_crtc.c +++ b/drivers/gpu/drm/nouveau/nv50_crtc.c | |||
@@ -349,14 +349,14 @@ nv50_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv, | |||
349 | struct drm_gem_object *gem; | 349 | struct drm_gem_object *gem; |
350 | int ret = 0, i; | 350 | int ret = 0, i; |
351 | 351 | ||
352 | if (width != 64 || height != 64) | ||
353 | return -EINVAL; | ||
354 | |||
355 | if (!buffer_handle) { | 352 | if (!buffer_handle) { |
356 | nv_crtc->cursor.hide(nv_crtc, true); | 353 | nv_crtc->cursor.hide(nv_crtc, true); |
357 | return 0; | 354 | return 0; |
358 | } | 355 | } |
359 | 356 | ||
357 | if (width != 64 || height != 64) | ||
358 | return -EINVAL; | ||
359 | |||
360 | gem = drm_gem_object_lookup(dev, file_priv, buffer_handle); | 360 | gem = drm_gem_object_lookup(dev, file_priv, buffer_handle); |
361 | if (!gem) | 361 | if (!gem) |
362 | return -ENOENT; | 362 | return -ENOENT; |