Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-08 Thread Kristian Høgsberg
On Wed, 2009-04-08 at 04:11 +0100, Dave Airlie wrote:
   Do you want to pick it up then or do you want Dave to take it?
  
  Since it wasn't in my driver, I was assuming airlied would pick it up.
 
 Yup I'll grab it, I was going to leave it for the next merge window as I 
 dislike doing anything like this post-merge, and it arrived during this 
 merge.

Cool, thanks.
Kristian



--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-08 Thread Kristian Høgsberg
On Wed, Apr 08, 2009 at 09:29:04AM -0400, Kristian Høgsberg wrote:
 On Wed, 2009-04-08 at 04:11 +0100, Dave Airlie wrote:
Do you want to pick it up then or do you want Dave to take it?
   
   Since it wasn't in my driver, I was assuming airlied would pick it up.
  
  Yup I'll grab it, I was going to leave it for the next merge window as I 
  dislike doing anything like this post-merge, and it arrived during this 
  merge.

I did compile and test this one, but against the old headers
(in /lib/modules/...) that still had the drawable spinlock and idr
in the struct drm_device.  So my testing didn't catch that I left
the initialization code in drm_fill_in_dev().  Here's an updated patch.

cheers,
Kristian


From eb1299fca3de5f0c247b100180e509dc167faf0c Mon Sep 17 00:00:00 2001
From: =?utf-8?q?Kristian=20H=C3=B8gsberg?= k...@redhat.com
Date: Thu, 2 Apr 2009 14:21:10 -0400
Subject: [PATCH 1/2] Remove code for tracking per-drawable cliprects.
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8
Content-Transfer-Encoding: 8bit

This was only used by the i915 driver for the swapbuffer vsync tasklet.
That functionality is now gone and nothing uses the kernel side
cliprects anymore.  Just stub out the ioctls, but make sure we return
a non-zero handle in the DRM_IOCTL_ADD_DRAW case.

Signed-off-by: Kristian Høgsberg k...@redhat.com
---
 drivers/gpu/drm/Makefile   |2 +-
 drivers/gpu/drm/drm_drawable.c |  201 
 drivers/gpu/drm/drm_drv.c  |5 +-
 drivers/gpu/drm/drm_ioctl.c|   13 +++
 drivers/gpu/drm/drm_stub.c |3 -
 include/drm/drmP.h |8 --
 6 files changed, 16 insertions(+), 216 deletions(-)
 delete mode 100644 drivers/gpu/drm/drm_drawable.c

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 4ec5061..094ca09 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -5,7 +5,7 @@
 ccflags-y := -Iinclude/drm
 
 drm-y   := drm_auth.o drm_bufs.o drm_cache.o \
-   drm_context.o drm_dma.o drm_drawable.o \
+   drm_context.o drm_dma.o \
drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \
drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \
diff --git a/drivers/gpu/drm/drm_drawable.c b/drivers/gpu/drm/drm_drawable.c
deleted file mode 100644
index 80be1ca..000
--- a/drivers/gpu/drm/drm_drawable.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * \file drm_drawable.c
- * IOCTLs for drawables
- *
- * \author Rickard E. (Rik) Faith fa...@valinux.com
- * \author Gareth Hughes gar...@valinux.com
- * \author Michel Dänzer mic...@tungstengraphics.com
- */
-
-/*
- * Created: Tue Feb  2 08:37:54 1999 by fa...@valinux.com
- *
- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- * Copyright 2006 Tungsten Graphics, Inc., Bismarck, North Dakota.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the Software),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include drmP.h
-
-/**
- * Allocate drawable ID and memory to store information about it.
- */
-int drm_adddraw(struct drm_device *dev, void *data, struct drm_file *file_priv)
-{
-   unsigned long irqflags;
-   struct drm_draw *draw = data;
-   int new_id = 0;
-   int ret;
-
-again:
-   if (idr_pre_get(dev-drw_idr, GFP_KERNEL) == 0) {
-   DRM_ERROR(Out of memory expanding drawable idr\n);
-   return -ENOMEM;
-   }
-
-   spin_lock_irqsave(dev-drw_lock, irqflags);
-   ret = idr_get_new_above(dev-drw_idr, NULL, 1, new_id);
-   if (ret == -EAGAIN) {
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-   goto again;
-   }
-
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-
-   draw-handle = new_id;
-
-   DRM_DEBUG(%d\n, 

Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-07 Thread Kristian Høgsberg
On Fri, Apr 3, 2009 at 11:56 AM, Kristian Høgsberg k...@bitplanet.net wrote:
 2009/4/2 Eric Anholt e...@anholt.net:
 On Thu, 2009-04-02 at 14:41 -0400, Kristian Høgsberg wrote:
 This was only used by the i915 driver for the swapbuffer vsync tasklet.
 That functionality is now gone and nothing uses the kernel side
 cliprects anymore.  Just stub out the ioctls, but make sure we return
 a non-zero handle in the DRM_IOCTL_ADD_DRAW case.

 Have you tested old userland to make sure it doesn't freak out?  Other
 than that, I love the idea.

 I did, ran gears, resized it, and it worked.  glxgears is even less of
 a test suite than it is a benchmark, of course, bu int this case I do
 believe it tests the code paths in question.  The only gotchas would
 be if some userspace code relies on updating or removing an invalid
 drawable handle to return -EINVAL or relies on adddraw returning
 unique drawable handles.  In my reading of the xf86dri, aiglx and
 libgl, I've not come across any such requirement.

Do you want to pick it up then or do you want Dave to take it?

thanks,
Kristian

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-07 Thread Eric Anholt
On Tue, 2009-04-07 at 13:08 -0400, Kristian Høgsberg wrote:
 On Fri, Apr 3, 2009 at 11:56 AM, Kristian Høgsberg k...@bitplanet.net wrote:
  2009/4/2 Eric Anholt e...@anholt.net:
  On Thu, 2009-04-02 at 14:41 -0400, Kristian Høgsberg wrote:
  This was only used by the i915 driver for the swapbuffer vsync tasklet.
  That functionality is now gone and nothing uses the kernel side
  cliprects anymore.  Just stub out the ioctls, but make sure we return
  a non-zero handle in the DRM_IOCTL_ADD_DRAW case.
 
  Have you tested old userland to make sure it doesn't freak out?  Other
  than that, I love the idea.
 
  I did, ran gears, resized it, and it worked.  glxgears is even less of
  a test suite than it is a benchmark, of course, bu int this case I do
  believe it tests the code paths in question.  The only gotchas would
  be if some userspace code relies on updating or removing an invalid
  drawable handle to return -EINVAL or relies on adddraw returning
  unique drawable handles.  In my reading of the xf86dri, aiglx and
  libgl, I've not come across any such requirement.
 
 Do you want to pick it up then or do you want Dave to take it?

Since it wasn't in my driver, I was assuming airlied would pick it up.

-- 
Eric Anholt
e...@anholt.net eric.anh...@intel.com




signature.asc
Description: This is a digitally signed message part
--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-07 Thread Dave Airlie

  Do you want to pick it up then or do you want Dave to take it?
 
 Since it wasn't in my driver, I was assuming airlied would pick it up.

Yup I'll grab it, I was going to leave it for the next merge window as I 
dislike doing anything like this post-merge, and it arrived during this 
merge.

Dave.

--
This SF.net email is sponsored by:
High Quality Requirements in a Collaborative Environment.
Download a free trial of Rational Requirements Composer Now!
http://p.sf.net/sfu/www-ibm-com
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-03 Thread Kristian Høgsberg
2009/4/2 Eric Anholt e...@anholt.net:
 On Thu, 2009-04-02 at 14:41 -0400, Kristian Høgsberg wrote:
 This was only used by the i915 driver for the swapbuffer vsync tasklet.
 That functionality is now gone and nothing uses the kernel side
 cliprects anymore.  Just stub out the ioctls, but make sure we return
 a non-zero handle in the DRM_IOCTL_ADD_DRAW case.

 Have you tested old userland to make sure it doesn't freak out?  Other
 than that, I love the idea.

I did, ran gears, resized it, and it worked.  glxgears is even less of
a test suite than it is a benchmark, of course, bu int this case I do
believe it tests the code paths in question.  The only gotchas would
be if some userspace code relies on updating or removing an invalid
drawable handle to return -EINVAL or relies on adddraw returning
unique drawable handles.  In my reading of the xf86dri, aiglx and
libgl, I've not come across any such requirement.

cheers,
Kristian

--
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel


[PATCH] Remove code for tracking per-drawable cliprects.

2009-04-02 Thread Kristian Høgsberg
This was only used by the i915 driver for the swapbuffer vsync tasklet.
That functionality is now gone and nothing uses the kernel side
cliprects anymore.  Just stub out the ioctls, but make sure we return
a non-zero handle in the DRM_IOCTL_ADD_DRAW case.

Signed-off-by: Kristian Høgsberg k...@redhat.com
---
 drivers/gpu/drm/Makefile   |2 +-
 drivers/gpu/drm/drm_drawable.c |  201 
 drivers/gpu/drm/drm_drv.c  |5 +-
 drivers/gpu/drm/drm_ioctl.c|   13 +++
 include/drm/drmP.h |8 --
 5 files changed, 16 insertions(+), 213 deletions(-)
 delete mode 100644 drivers/gpu/drm/drm_drawable.c

diff --git a/drivers/gpu/drm/Makefile b/drivers/gpu/drm/Makefile
index 4ec5061..094ca09 100644
--- a/drivers/gpu/drm/Makefile
+++ b/drivers/gpu/drm/Makefile
@@ -5,7 +5,7 @@
 ccflags-y := -Iinclude/drm
 
 drm-y   := drm_auth.o drm_bufs.o drm_cache.o \
-   drm_context.o drm_dma.o drm_drawable.o \
+   drm_context.o drm_dma.o \
drm_drv.o drm_fops.o drm_gem.o drm_ioctl.o drm_irq.o \
drm_lock.o drm_memory.o drm_proc.o drm_stub.o drm_vm.o \
drm_agpsupport.o drm_scatter.o ati_pcigart.o drm_pci.o \
diff --git a/drivers/gpu/drm/drm_drawable.c b/drivers/gpu/drm/drm_drawable.c
deleted file mode 100644
index 80be1ca..000
--- a/drivers/gpu/drm/drm_drawable.c
+++ /dev/null
@@ -1,201 +0,0 @@
-/**
- * \file drm_drawable.c
- * IOCTLs for drawables
- *
- * \author Rickard E. (Rik) Faith fa...@valinux.com
- * \author Gareth Hughes gar...@valinux.com
- * \author Michel Dänzer mic...@tungstengraphics.com
- */
-
-/*
- * Created: Tue Feb  2 08:37:54 1999 by fa...@valinux.com
- *
- * Copyright 1999 Precision Insight, Inc., Cedar Park, Texas.
- * Copyright 2000 VA Linux Systems, Inc., Sunnyvale, California.
- * Copyright 2006 Tungsten Graphics, Inc., Bismarck, North Dakota.
- * All Rights Reserved.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a
- * copy of this software and associated documentation files (the Software),
- * to deal in the Software without restriction, including without limitation
- * the rights to use, copy, modify, merge, publish, distribute, sublicense,
- * and/or sell copies of the Software, and to permit persons to whom the
- * Software is furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice (including the next
- * paragraph) shall be included in all copies or substantial portions of the
- * Software.
- *
- * THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.  IN NO EVENT SHALL
- * VA LINUX SYSTEMS AND/OR ITS SUPPLIERS BE LIABLE FOR ANY CLAIM, DAMAGES OR
- * OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
- * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
- * OTHER DEALINGS IN THE SOFTWARE.
- */
-
-#include drmP.h
-
-/**
- * Allocate drawable ID and memory to store information about it.
- */
-int drm_adddraw(struct drm_device *dev, void *data, struct drm_file *file_priv)
-{
-   unsigned long irqflags;
-   struct drm_draw *draw = data;
-   int new_id = 0;
-   int ret;
-
-again:
-   if (idr_pre_get(dev-drw_idr, GFP_KERNEL) == 0) {
-   DRM_ERROR(Out of memory expanding drawable idr\n);
-   return -ENOMEM;
-   }
-
-   spin_lock_irqsave(dev-drw_lock, irqflags);
-   ret = idr_get_new_above(dev-drw_idr, NULL, 1, new_id);
-   if (ret == -EAGAIN) {
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-   goto again;
-   }
-
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-
-   draw-handle = new_id;
-
-   DRM_DEBUG(%d\n, draw-handle);
-
-   return 0;
-}
-
-/**
- * Free drawable ID and memory to store information about it.
- */
-int drm_rmdraw(struct drm_device *dev, void *data, struct drm_file *file_priv)
-{
-   struct drm_draw *draw = data;
-   unsigned long irqflags;
-   struct drm_drawable_info *info;
-
-   spin_lock_irqsave(dev-drw_lock, irqflags);
-
-   info = drm_get_drawable_info(dev, draw-handle);
-   if (info == NULL) {
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-   return -EINVAL;
-   }
-   drm_free(info-rects, info-num_rects * sizeof(struct drm_clip_rect),
-   DRM_MEM_BUFS);
-   drm_free(info, sizeof(struct drm_drawable_info), DRM_MEM_BUFS);
-
-   idr_remove(dev-drw_idr, draw-handle);
-
-   spin_unlock_irqrestore(dev-drw_lock, irqflags);
-   DRM_DEBUG(%d\n, draw-handle);
-   return 0;
-}
-
-int drm_update_drawable_info(struct drm_device *dev, void *data, struct 
drm_file *file_priv)
-{
-   struct drm_update_draw *update = data;
-   unsigned long irqflags;
-   

Re: [PATCH] Remove code for tracking per-drawable cliprects.

2009-04-02 Thread Eric Anholt
On Thu, 2009-04-02 at 14:41 -0400, Kristian Høgsberg wrote:
 This was only used by the i915 driver for the swapbuffer vsync tasklet.
 That functionality is now gone and nothing uses the kernel side
 cliprects anymore.  Just stub out the ioctls, but make sure we return
 a non-zero handle in the DRM_IOCTL_ADD_DRAW case.

Have you tested old userland to make sure it doesn't freak out?  Other
than that, I love the idea.

-- 
Eric Anholt
e...@anholt.net eric.anh...@intel.com




signature.asc
Description: This is a digitally signed message part
--
--
___
Dri-devel mailing list
Dri-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/dri-devel