Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-04-02 Thread Jani Nikula
On Fri, 27 Mar 2015, Daniel Vetter dan...@ffwll.ch wrote:
 On Fri, Mar 27, 2015 at 09:10:02AM +0100, Daniel Vetter wrote:
 It's completely unused and Tommi noticed that the #define is borked
 since forever. I've done a git search in userspace and only found
 broken definitions and no users anywhere.
 
 Cc: Tommi Rantala tt.rant...@gmail.com
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

 Hm Tommi discovered oopses in there, so I guess this should be
 cherry-picked to -fixes+cc: stable too? Jani?

I'm picking up Ville's fix [1] for the oops to fixes, cc: stable, and I
think the rest is -next material.

BR,
Jani.

[1] 
http://mid.gmane.org/1427479180-29894-1-git-send-email-ville.syrj...@linux.intel.com


 -Daniel

 ---
  drivers/gpu/drm/i915/i915_dma.c |  2 +-
  drivers/gpu/drm/i915/intel_drv.h|  2 --
  drivers/gpu/drm/i915/intel_sprite.c | 24 
  3 files changed, 1 insertion(+), 27 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/i915_dma.c 
 b/drivers/gpu/drm/i915/i915_dma.c
 index d49ed68f041e..68e0c85a17cf 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -1199,7 +1199,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
  DRM_IOCTL_DEF_DRV(I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_OVERLAY_ATTRS, intel_overlay_attrs, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_SET_SPRITE_COLORKEY, intel_sprite_set_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 -DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, intel_sprite_get_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 +DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, drm_noop, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_GEM_WAIT, i915_gem_wait_ioctl, 
 DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
  DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_CREATE, 
 i915_gem_context_create_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
  DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_DESTROY, 
 i915_gem_context_destroy_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
 diff --git a/drivers/gpu/drm/i915/intel_drv.h 
 b/drivers/gpu/drm/i915/intel_drv.h
 index cb57b9c446f3..6036e3b73b7b 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -1282,8 +1282,6 @@ void intel_flush_primary_plane(struct drm_i915_private 
 *dev_priv,
  int intel_plane_restore(struct drm_plane *plane);
  int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
struct drm_file *file_priv);
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -  struct drm_file *file_priv);
  bool intel_pipe_update_start(struct intel_crtc *crtc,
   uint32_t *start_vbl_count);
  void intel_pipe_update_end(struct intel_crtc *crtc, u32 start_vbl_count);
 diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
 b/drivers/gpu/drm/i915/intel_sprite.c
 index f41e872ad858..e9ff6fc61267 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
 @@ -1134,30 +1134,6 @@ out_unlock:
  return ret;
  }
  
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -  struct drm_file *file_priv)
 -{
 -struct drm_intel_sprite_colorkey *get = data;
 -struct drm_plane *plane;
 -struct intel_plane *intel_plane;
 -int ret = 0;
 -
 -drm_modeset_lock_all(dev);
 -
 -plane = drm_plane_find(dev, get-plane_id);
 -if (!plane) {
 -ret = -ENOENT;
 -goto out_unlock;
 -}
 -
 -intel_plane = to_intel_plane(plane);
 -*get = intel_plane-ckey;
 -
 -out_unlock:
 -drm_modeset_unlock_all(dev);
 -return ret;
 -}
 -
  int intel_plane_restore(struct drm_plane *plane)
  {
  if (!plane-crtc || !plane-state-fb)
 -- 
 2.1.4
 

 -- 
 Daniel Vetter
 Software Engineer, Intel Corporation
 http://blog.ffwll.ch

-- 
Jani Nikula, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Daniel Vetter
On Fri, Mar 27, 2015 at 09:10:02AM +0100, Daniel Vetter wrote:
 It's completely unused and Tommi noticed that the #define is borked
 since forever. I've done a git search in userspace and only found
 broken definitions and no users anywhere.
 
 Cc: Tommi Rantala tt.rant...@gmail.com
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

Hm Tommi discovered oopses in there, so I guess this should be
cherry-picked to -fixes+cc: stable too? Jani?
-Daniel

 ---
  drivers/gpu/drm/i915/i915_dma.c |  2 +-
  drivers/gpu/drm/i915/intel_drv.h|  2 --
  drivers/gpu/drm/i915/intel_sprite.c | 24 
  3 files changed, 1 insertion(+), 27 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
 index d49ed68f041e..68e0c85a17cf 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -1199,7 +1199,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
   DRM_IOCTL_DEF_DRV(I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
   DRM_IOCTL_DEF_DRV(I915_OVERLAY_ATTRS, intel_overlay_attrs, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
   DRM_IOCTL_DEF_DRV(I915_SET_SPRITE_COLORKEY, intel_sprite_set_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 - DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, intel_sprite_get_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 + DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, drm_noop, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
   DRM_IOCTL_DEF_DRV(I915_GEM_WAIT, i915_gem_wait_ioctl, 
 DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
   DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_CREATE, 
 i915_gem_context_create_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
   DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_DESTROY, 
 i915_gem_context_destroy_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
 diff --git a/drivers/gpu/drm/i915/intel_drv.h 
 b/drivers/gpu/drm/i915/intel_drv.h
 index cb57b9c446f3..6036e3b73b7b 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -1282,8 +1282,6 @@ void intel_flush_primary_plane(struct drm_i915_private 
 *dev_priv,
  int intel_plane_restore(struct drm_plane *plane);
  int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
 struct drm_file *file_priv);
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -   struct drm_file *file_priv);
  bool intel_pipe_update_start(struct intel_crtc *crtc,
uint32_t *start_vbl_count);
  void intel_pipe_update_end(struct intel_crtc *crtc, u32 start_vbl_count);
 diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
 b/drivers/gpu/drm/i915/intel_sprite.c
 index f41e872ad858..e9ff6fc61267 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
 @@ -1134,30 +1134,6 @@ out_unlock:
   return ret;
  }
  
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -   struct drm_file *file_priv)
 -{
 - struct drm_intel_sprite_colorkey *get = data;
 - struct drm_plane *plane;
 - struct intel_plane *intel_plane;
 - int ret = 0;
 -
 - drm_modeset_lock_all(dev);
 -
 - plane = drm_plane_find(dev, get-plane_id);
 - if (!plane) {
 - ret = -ENOENT;
 - goto out_unlock;
 - }
 -
 - intel_plane = to_intel_plane(plane);
 - *get = intel_plane-ckey;
 -
 -out_unlock:
 - drm_modeset_unlock_all(dev);
 - return ret;
 -}
 -
  int intel_plane_restore(struct drm_plane *plane)
  {
   if (!plane-crtc || !plane-state-fb)
 -- 
 2.1.4
 

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Daniel Vetter
It's completely unused and Tommi noticed that the #define is borked
since forever. I've done a git search in userspace and only found
broken definitions and no users anywhere.

Cc: Tommi Rantala tt.rant...@gmail.com
Signed-off-by: Daniel Vetter daniel.vet...@intel.com
---
 drivers/gpu/drm/i915/i915_dma.c |  2 +-
 drivers/gpu/drm/i915/intel_drv.h|  2 --
 drivers/gpu/drm/i915/intel_sprite.c | 24 
 3 files changed, 1 insertion(+), 27 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c
index d49ed68f041e..68e0c85a17cf 100644
--- a/drivers/gpu/drm/i915/i915_dma.c
+++ b/drivers/gpu/drm/i915/i915_dma.c
@@ -1199,7 +1199,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
DRM_IOCTL_DEF_DRV(I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, 
DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
DRM_IOCTL_DEF_DRV(I915_OVERLAY_ATTRS, intel_overlay_attrs, 
DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
DRM_IOCTL_DEF_DRV(I915_SET_SPRITE_COLORKEY, intel_sprite_set_colorkey, 
DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
-   DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, intel_sprite_get_colorkey, 
DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
+   DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, drm_noop, 
DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
DRM_IOCTL_DEF_DRV(I915_GEM_WAIT, i915_gem_wait_ioctl, 
DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_CREATE, 
i915_gem_context_create_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_DESTROY, 
i915_gem_context_destroy_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index cb57b9c446f3..6036e3b73b7b 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1282,8 +1282,6 @@ void intel_flush_primary_plane(struct drm_i915_private 
*dev_priv,
 int intel_plane_restore(struct drm_plane *plane);
 int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
  struct drm_file *file_priv);
-int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
- struct drm_file *file_priv);
 bool intel_pipe_update_start(struct intel_crtc *crtc,
 uint32_t *start_vbl_count);
 void intel_pipe_update_end(struct intel_crtc *crtc, u32 start_vbl_count);
diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
b/drivers/gpu/drm/i915/intel_sprite.c
index f41e872ad858..e9ff6fc61267 100644
--- a/drivers/gpu/drm/i915/intel_sprite.c
+++ b/drivers/gpu/drm/i915/intel_sprite.c
@@ -1134,30 +1134,6 @@ out_unlock:
return ret;
 }
 
-int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
- struct drm_file *file_priv)
-{
-   struct drm_intel_sprite_colorkey *get = data;
-   struct drm_plane *plane;
-   struct intel_plane *intel_plane;
-   int ret = 0;
-
-   drm_modeset_lock_all(dev);
-
-   plane = drm_plane_find(dev, get-plane_id);
-   if (!plane) {
-   ret = -ENOENT;
-   goto out_unlock;
-   }
-
-   intel_plane = to_intel_plane(plane);
-   *get = intel_plane-ckey;
-
-out_unlock:
-   drm_modeset_unlock_all(dev);
-   return ret;
-}
-
 int intel_plane_restore(struct drm_plane *plane)
 {
if (!plane-crtc || !plane-state-fb)
-- 
2.1.4

___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Emil Velikov
On 27 March 2015 at 08:10, Daniel Vetter daniel.vet...@ffwll.ch wrote:
 It's completely unused and Tommi noticed that the #define is borked
 since forever. I've done a git search in userspace and only found
 broken definitions and no users anywhere.

With this said, have you seen any userspace that uses the uapi/drm
headers ? I'm been going through various repos and cannot see a single
one. I'm contemplating on hiding them, so that:
 - We can stop the individual picking of changes into libdrm
 - Allow easier and automated sync between libdrm and the kernel. Note
that I've fixed the make copy-headers target, but the headers are
severely out of sync.

Although I don't know (see any document) that defines the policy on
this type of changes. Would you have any tips ?

Thanks
Emil
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx


Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Tommi Rantala
2015-03-27 18:42 GMT+02:00 Jani Nikula jani.nik...@linux.intel.com:
 On Fri, 27 Mar 2015, Daniel Vetter dan...@ffwll.ch wrote:
 On Fri, Mar 27, 2015 at 09:10:02AM +0100, Daniel Vetter wrote:
 It's completely unused and Tommi noticed that the #define is borked
 since forever. I've done a git search in userspace and only found
 broken definitions and no users anywhere.

 Cc: Tommi Rantala tt.rant...@gmail.com
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

 Hm Tommi discovered oopses in there, so I guess this should be
 cherry-picked to -fixes+cc: stable too? Jani?

 My OCD really wants to know why this blows up. The get/set functions
 look so similar that it feels like the set should fail just the same...
 Tommi, did you try just the set part of your test program [1]?

Yes, both the set and get ioctls crash:

[   20.868660] BUG: unable to handle kernel NULL pointer dereference
at   (null)
[   20.876527] IP: [  (null)]   (null)
[   20.881573] PGD c4f7d067 PUD c2a6b067 PMD 0
[   20.885866] Oops: 0010 [#1] SMP KASAN
[   20.889549] CPU: 1 PID: 2207 Comm: main Not tainted 4.0.0-rc5+ #89
[   20.902805] task: 8800c4fad380 ti: 8800c2b98000 task.ti:
8800c2b98000
[   20.910257] RIP: 0010:[]  [  (null)]
   (null)
[   20.917722] RSP: 0018:8800c2b9fd30  EFLAGS: 00010246
[   20.923012] RAX: ed002e87c961 RBX: 88017463d000 RCX: 0006
[   20.930116] RDX: dc00 RSI: 8800c2b9fdd8 RDI: 8801743e4800
[   20.937214] RBP: 8800c2b9fd68 R08:  R09: 
[   20.944318] R10:  R11:  R12: 8800c2b9fdd8
[   20.951416] R13: 8801743e48d8 R14: fffe R15: 8801743e4800
[   20.958524] FS:  7f7139b3a700() GS:880175e0()
knlGS:
[   20.966575] CS:  0010 DS:  ES:  CR0: 80050033
[   20.972300] CR2:  CR3: c2a67000 CR4: 000406e0
[   20.979407] Stack:
[   20.981414]  81b4a11d 8800c2b9fd68 88017463d000
8800c4c50c00
[   20.988838]  0014 fff2 8271c3e0
8800c2b9fe88
[   20.996238]  818acbbc 8800c2b9fe18 8165d7c2
8165d660
[   21.003658] Call Trace:
[   21.006110]  [81b4a11d] ? intel_sprite_set_colorkey+0xad/0xf0
[   21.012695]  [818acbbc] drm_ioctl+0x27c/0x890
[   21.017904]  [8165d7c2] ? avc_has_perm+0x182/0x320
[   21.023544]  [8165d660] ? avc_has_perm+0x20/0x320
[   21.029098]  [81b4a070] ? intel_pre_disable_primary+0x90/0x90
[   21.035690]  [8165ffac] ? inode_has_perm.isra.28+0x7c/0xa0
[   21.042023]  [812f8caf] do_vfs_ioctl+0x3cf/0x720
[   21.047488]  [81660caa] ? selinux_file_ioctl+0x6a/0x130
[   21.053558]  [812f9081] SyS_ioctl+0x81/0xa0
[   21.058595]  [825e08b2] system_call_fastpath+0x12/0x17
[   21.064580] Code:  Bad RIP value.
[   21.067916] RIP  [  (null)]   (null)
[   21.073048]  RSP 8800c2b9fd30
[   21.076524] CR2: 
[   21.079863] ---[ end trace 161ba639126f6a45 ]---


[  274.286068] BUG: unable to handle kernel NULL pointer dereference
at   (null)
[  274.295149] IP: [  (null)]   (null)
[  274.300242] PGD 171999067 PUD 171b93067 PMD 0
[  274.304744] Oops: 0010 [#1] SMP KASAN
[  274.308460] CPU: 0 PID: 2202 Comm: main Not tainted 4.0.0-rc5+ #89
[  274.321856] task: 8801726914e0 ti: 880172928000 task.ti:
880172928000
[  274.329383] RIP: 0010:[]  [  (null)]
   (null)
[  274.336924] RSP: 0018:88017292fd30  EFLAGS: 00010246
[  274.342267] RAX: ed002e7bc362 RBX: 88017442f000 RCX: 0007
[  274.349446] RDX:  RSI: 88017292fdd8 RDI: 880173de1800
[  274.356624] RBP: 88017292fd68 R08:  R09: 
[  274.363803] R10:  R11:  R12: 
[  274.370979] R13: 880173de18d8 R14: 88017292fdd8 R15: 880173de1800
[  274.378157] FS:  7f48d6b16700() GS:880175c0()
knlGS:
[  274.386297] CS:  0010 DS:  ES:  CR0: 80050033
[  274.392078] CR2:  CR3: 00017188d000 CR4: 000406f0
[  274.399257] Stack:
[  274.401280]  81b4a1f7 88017292fd68 88017442f000
880172cc7c00
[  274.408761]  0014 fff2 8271c3c0
88017292fe88
[  274.416244]  818acbbc 88017292fe18 8165d7c2
8165d660
[  274.423727] Call Trace:
[  274.426192]  [81b4a1f7] ? intel_sprite_get_colorkey+0x97/0xc0
[  274.432849]  [818acbbc] drm_ioctl+0x27c/0x890
[  274.438107]  [8165d7c2] ? avc_has_perm+0x182/0x320
[  274.443800]  [8165d660] ? avc_has_perm+0x20/0x320
[  274.449407]  [81b4a160] ? intel_sprite_set_colorkey+0xf0/0xf0
[  274.456065]  [8165ffac] ? 

Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Ville Syrjälä
On Fri, Mar 27, 2015 at 07:40:43PM +0200, Tommi Rantala wrote:
 2015-03-27 18:42 GMT+02:00 Jani Nikula jani.nik...@linux.intel.com:
  On Fri, 27 Mar 2015, Daniel Vetter dan...@ffwll.ch wrote:
  On Fri, Mar 27, 2015 at 09:10:02AM +0100, Daniel Vetter wrote:
  It's completely unused and Tommi noticed that the #define is borked
  since forever. I've done a git search in userspace and only found
  broken definitions and no users anywhere.
 
  Cc: Tommi Rantala tt.rant...@gmail.com
  Signed-off-by: Daniel Vetter daniel.vet...@intel.com
 
  Hm Tommi discovered oopses in there, so I guess this should be
  cherry-picked to -fixes+cc: stable too? Jani?
 
  My OCD really wants to know why this blows up. The get/set functions
  look so similar that it feels like the set should fail just the same...
  Tommi, did you try just the set part of your test program [1]?
 
 Yes, both the set and get ioctls crash:
 
 [   20.868660] BUG: unable to handle kernel NULL pointer dereference
 at   (null)
 [   20.876527] IP: [  (null)]   (null)
 [   20.881573] PGD c4f7d067 PUD c2a6b067 PMD 0
 [   20.885866] Oops: 0010 [#1] SMP KASAN
 [   20.889549] CPU: 1 PID: 2207 Comm: main Not tainted 4.0.0-rc5+ #89
 [   20.902805] task: 8800c4fad380 ti: 8800c2b98000 task.ti:
 8800c2b98000
 [   20.910257] RIP: 0010:[]  [  (null)]
(null)
 [   20.917722] RSP: 0018:8800c2b9fd30  EFLAGS: 00010246
 [   20.923012] RAX: ed002e87c961 RBX: 88017463d000 RCX: 
 0006
 [   20.930116] RDX: dc00 RSI: 8800c2b9fdd8 RDI: 
 8801743e4800
 [   20.937214] RBP: 8800c2b9fd68 R08:  R09: 
 
 [   20.944318] R10:  R11:  R12: 
 8800c2b9fdd8
 [   20.951416] R13: 8801743e48d8 R14: fffe R15: 
 8801743e4800
 [   20.958524] FS:  7f7139b3a700() GS:880175e0()
 knlGS:
 [   20.966575] CS:  0010 DS:  ES:  CR0: 80050033
 [   20.972300] CR2:  CR3: c2a67000 CR4: 
 000406e0
 [   20.979407] Stack:
 [   20.981414]  81b4a11d 8800c2b9fd68 88017463d000
 8800c4c50c00
 [   20.988838]  0014 fff2 8271c3e0
 8800c2b9fe88
 [   20.996238]  818acbbc 8800c2b9fe18 8165d7c2
 8165d660
 [   21.003658] Call Trace:
 [   21.006110]  [81b4a11d] ? intel_sprite_set_colorkey+0xad/0xf0
 [   21.012695]  [818acbbc] drm_ioctl+0x27c/0x890
 [   21.017904]  [8165d7c2] ? avc_has_perm+0x182/0x320
 [   21.023544]  [8165d660] ? avc_has_perm+0x20/0x320
 [   21.029098]  [81b4a070] ? intel_pre_disable_primary+0x90/0x90
 [   21.035690]  [8165ffac] ? inode_has_perm.isra.28+0x7c/0xa0
 [   21.042023]  [812f8caf] do_vfs_ioctl+0x3cf/0x720
 [   21.047488]  [81660caa] ? selinux_file_ioctl+0x6a/0x130
 [   21.053558]  [812f9081] SyS_ioctl+0x81/0xa0
 [   21.058595]  [825e08b2] system_call_fastpath+0x12/0x17
 [   21.064580] Code:  Bad RIP value.
 [   21.067916] RIP  [  (null)]   (null)
 [   21.073048]  RSP 8800c2b9fd30
 [   21.076524] CR2: 
 [   21.079863] ---[ end trace 161ba639126f6a45 ]---
 
 
 [  274.286068] BUG: unable to handle kernel NULL pointer dereference
 at   (null)
 [  274.295149] IP: [  (null)]   (null)
 [  274.300242] PGD 171999067 PUD 171b93067 PMD 0
 [  274.304744] Oops: 0010 [#1] SMP KASAN
 [  274.308460] CPU: 0 PID: 2202 Comm: main Not tainted 4.0.0-rc5+ #89
 [  274.321856] task: 8801726914e0 ti: 880172928000 task.ti:
 880172928000
 [  274.329383] RIP: 0010:[]  [  (null)]
(null)
 [  274.336924] RSP: 0018:88017292fd30  EFLAGS: 00010246
 [  274.342267] RAX: ed002e7bc362 RBX: 88017442f000 RCX: 
 0007
 [  274.349446] RDX:  RSI: 88017292fdd8 RDI: 
 880173de1800
 [  274.356624] RBP: 88017292fd68 R08:  R09: 
 
 [  274.363803] R10:  R11:  R12: 
 
 [  274.370979] R13: 880173de18d8 R14: 88017292fdd8 R15: 
 880173de1800
 [  274.378157] FS:  7f48d6b16700() GS:880175c0()
 knlGS:
 [  274.386297] CS:  0010 DS:  ES:  CR0: 80050033
 [  274.392078] CR2:  CR3: 00017188d000 CR4: 
 000406f0
 [  274.399257] Stack:
 [  274.401280]  81b4a1f7 88017292fd68 88017442f000
 880172cc7c00
 [  274.408761]  0014 fff2 8271c3c0
 88017292fe88
 [  274.416244]  818acbbc 88017292fe18 8165d7c2
 8165d660
 [  274.423727] Call Trace:
 [  274.426192]  [81b4a1f7] ? intel_sprite_get_colorkey+0x97/0xc0
 [  274.432849]  [818acbbc] drm_ioctl+0x27c/0x890
 [  274.438107]  [8165d7c2] ? 

Re: [Intel-gfx] [PATCH] drm/i915: Rip out GET_SPRITE_COLORKEY ioctl

2015-03-27 Thread Jani Nikula
On Fri, 27 Mar 2015, Daniel Vetter dan...@ffwll.ch wrote:
 On Fri, Mar 27, 2015 at 09:10:02AM +0100, Daniel Vetter wrote:
 It's completely unused and Tommi noticed that the #define is borked
 since forever. I've done a git search in userspace and only found
 broken definitions and no users anywhere.
 
 Cc: Tommi Rantala tt.rant...@gmail.com
 Signed-off-by: Daniel Vetter daniel.vet...@intel.com

 Hm Tommi discovered oopses in there, so I guess this should be
 cherry-picked to -fixes+cc: stable too? Jani?

My OCD really wants to know why this blows up. The get/set functions
look so similar that it feels like the set should fail just the same...
Tommi, did you try just the set part of your test program [1]?

Sorry for not trying it out myself, I'm calling it a day (and week)
now...

BR,
Jani.


[1] 
http://mid.gmane.org/ca+ydwtr+bco7lj44jfmukvrx144udfgos+ajtfk6khtvbdv...@mail.gmail.com

 -Daniel

 ---
  drivers/gpu/drm/i915/i915_dma.c |  2 +-
  drivers/gpu/drm/i915/intel_drv.h|  2 --
  drivers/gpu/drm/i915/intel_sprite.c | 24 
  3 files changed, 1 insertion(+), 27 deletions(-)
 
 diff --git a/drivers/gpu/drm/i915/i915_dma.c 
 b/drivers/gpu/drm/i915/i915_dma.c
 index d49ed68f041e..68e0c85a17cf 100644
 --- a/drivers/gpu/drm/i915/i915_dma.c
 +++ b/drivers/gpu/drm/i915/i915_dma.c
 @@ -1199,7 +1199,7 @@ const struct drm_ioctl_desc i915_ioctls[] = {
  DRM_IOCTL_DEF_DRV(I915_OVERLAY_PUT_IMAGE, intel_overlay_put_image, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_OVERLAY_ATTRS, intel_overlay_attrs, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_SET_SPRITE_COLORKEY, intel_sprite_set_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 -DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, intel_sprite_get_colorkey, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
 +DRM_IOCTL_DEF_DRV(I915_GET_SPRITE_COLORKEY, drm_noop, 
 DRM_MASTER|DRM_CONTROL_ALLOW|DRM_UNLOCKED),
  DRM_IOCTL_DEF_DRV(I915_GEM_WAIT, i915_gem_wait_ioctl, 
 DRM_AUTH|DRM_UNLOCKED|DRM_RENDER_ALLOW),
  DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_CREATE, 
 i915_gem_context_create_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
  DRM_IOCTL_DEF_DRV(I915_GEM_CONTEXT_DESTROY, 
 i915_gem_context_destroy_ioctl, DRM_UNLOCKED|DRM_RENDER_ALLOW),
 diff --git a/drivers/gpu/drm/i915/intel_drv.h 
 b/drivers/gpu/drm/i915/intel_drv.h
 index cb57b9c446f3..6036e3b73b7b 100644
 --- a/drivers/gpu/drm/i915/intel_drv.h
 +++ b/drivers/gpu/drm/i915/intel_drv.h
 @@ -1282,8 +1282,6 @@ void intel_flush_primary_plane(struct drm_i915_private 
 *dev_priv,
  int intel_plane_restore(struct drm_plane *plane);
  int intel_sprite_set_colorkey(struct drm_device *dev, void *data,
struct drm_file *file_priv);
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -  struct drm_file *file_priv);
  bool intel_pipe_update_start(struct intel_crtc *crtc,
   uint32_t *start_vbl_count);
  void intel_pipe_update_end(struct intel_crtc *crtc, u32 start_vbl_count);
 diff --git a/drivers/gpu/drm/i915/intel_sprite.c 
 b/drivers/gpu/drm/i915/intel_sprite.c
 index f41e872ad858..e9ff6fc61267 100644
 --- a/drivers/gpu/drm/i915/intel_sprite.c
 +++ b/drivers/gpu/drm/i915/intel_sprite.c
 @@ -1134,30 +1134,6 @@ out_unlock:
  return ret;
  }
  
 -int intel_sprite_get_colorkey(struct drm_device *dev, void *data,
 -  struct drm_file *file_priv)
 -{
 -struct drm_intel_sprite_colorkey *get = data;
 -struct drm_plane *plane;
 -struct intel_plane *intel_plane;
 -int ret = 0;
 -
 -drm_modeset_lock_all(dev);
 -
 -plane = drm_plane_find(dev, get-plane_id);
 -if (!plane) {
 -ret = -ENOENT;
 -goto out_unlock;
 -}
 -
 -intel_plane = to_intel_plane(plane);
 -*get = intel_plane-ckey;
 -
 -out_unlock:
 -drm_modeset_unlock_all(dev);
 -return ret;
 -}
 -
  int intel_plane_restore(struct drm_plane *plane)
  {
  if (!plane-crtc || !plane-state-fb)
 -- 
 2.1.4
 

 -- 
 Daniel Vetter
 Software Engineer, Intel Corporation
 http://blog.ffwll.ch

-- 
Jani Nikula, Intel Open Source Technology Center
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx