mirror of
https://github.com/torvalds/linux.git
synced 2024-12-19 17:41:29 +00:00
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>
This commit is contained in:
parent
52eba8dd5e
commit
b4fa9d0f65
@ -943,14 +943,14 @@ nv04_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
|
||||
struct drm_gem_object *gem;
|
||||
int ret = 0;
|
||||
|
||||
if (width != 64 || height != 64)
|
||||
return -EINVAL;
|
||||
|
||||
if (!buffer_handle) {
|
||||
nv_crtc->cursor.hide(nv_crtc, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (width != 64 || height != 64)
|
||||
return -EINVAL;
|
||||
|
||||
gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
|
||||
if (!gem)
|
||||
return -ENOENT;
|
||||
|
@ -349,14 +349,14 @@ nv50_crtc_cursor_set(struct drm_crtc *crtc, struct drm_file *file_priv,
|
||||
struct drm_gem_object *gem;
|
||||
int ret = 0, i;
|
||||
|
||||
if (width != 64 || height != 64)
|
||||
return -EINVAL;
|
||||
|
||||
if (!buffer_handle) {
|
||||
nv_crtc->cursor.hide(nv_crtc, true);
|
||||
return 0;
|
||||
}
|
||||
|
||||
if (width != 64 || height != 64)
|
||||
return -EINVAL;
|
||||
|
||||
gem = drm_gem_object_lookup(dev, file_priv, buffer_handle);
|
||||
if (!gem)
|
||||
return -ENOENT;
|
||||
|
Loading…
Reference in New Issue
Block a user