[PATCH 2/2] drm/radeon/kms: de-inline radeon_bo_wait

2010-11-23 Thread Dave Airlie
From: Dave Airlie 

this function is much to large to be inlined practically.

Signed-off-by: Dave Airlie 
---
 drivers/gpu/drm/radeon/radeon_gem.c|   19 +++
 drivers/gpu/drm/radeon/radeon_object.h |   18 --
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_gem.c 
b/drivers/gpu/drm/radeon/radeon_gem.c
index df95eb8..d6fe39f 100644
--- a/drivers/gpu/drm/radeon/radeon_gem.c
+++ b/drivers/gpu/drm/radeon/radeon_gem.c
@@ -30,6 +30,25 @@
 #include "radeon_drm.h"
 #include "radeon.h"

+static int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type,
+   bool no_wait)
+{
+   int r;
+
+   r = ttm_bo_reserve(>tbo, true, no_wait, false, 0);
+   if (unlikely(r != 0))
+   return r;
+   spin_lock(>tbo.bdev->fence_lock);
+   if (mem_type)
+   *mem_type = bo->tbo.mem.mem_type;
+   if (bo->tbo.sync_obj)
+   r = ttm_bo_wait(>tbo, true, true, no_wait);
+   spin_unlock(>tbo.bdev->fence_lock);
+   ttm_bo_unreserve(>tbo);
+   return r;
+}
+
+
 int radeon_gem_object_init(struct drm_gem_object *obj)
 {
/* we do nothings here */
diff --git a/drivers/gpu/drm/radeon/radeon_object.h 
b/drivers/gpu/drm/radeon/radeon_object.h
index 22d4c23..938419e 100644
--- a/drivers/gpu/drm/radeon/radeon_object.h
+++ b/drivers/gpu/drm/radeon/radeon_object.h
@@ -118,24 +118,6 @@ static inline u64 radeon_bo_mmap_offset(struct radeon_bo 
*bo)
return bo->tbo.addr_space_offset;
 }

-static inline int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type,
-   bool no_wait)
-{
-   int r;
-
-   r = ttm_bo_reserve(>tbo, true, no_wait, false, 0);
-   if (unlikely(r != 0))
-   return r;
-   spin_lock(>tbo.bdev->fence_lock);
-   if (mem_type)
-   *mem_type = bo->tbo.mem.mem_type;
-   if (bo->tbo.sync_obj)
-   r = ttm_bo_wait(>tbo, true, true, no_wait);
-   spin_unlock(>tbo.bdev->fence_lock);
-   ttm_bo_unreserve(>tbo);
-   return r;
-}
-
 extern int radeon_bo_create(struct radeon_device *rdev,
struct drm_gem_object *gobj, unsigned long size,
int byte_align,
-- 
1.7.3.2



[PATCH 2/2] drm/radeon/kms: de-inline radeon_bo_wait

2010-11-22 Thread Dave Airlie
From: Dave Airlie airl...@redhat.com

this function is much to large to be inlined practically.

Signed-off-by: Dave Airlie airl...@redhat.com
---
 drivers/gpu/drm/radeon/radeon_gem.c|   19 +++
 drivers/gpu/drm/radeon/radeon_object.h |   18 --
 2 files changed, 19 insertions(+), 18 deletions(-)

diff --git a/drivers/gpu/drm/radeon/radeon_gem.c 
b/drivers/gpu/drm/radeon/radeon_gem.c
index df95eb8..d6fe39f 100644
--- a/drivers/gpu/drm/radeon/radeon_gem.c
+++ b/drivers/gpu/drm/radeon/radeon_gem.c
@@ -30,6 +30,25 @@
 #include radeon_drm.h
 #include radeon.h
 
+static int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type,
+   bool no_wait)
+{
+   int r;
+
+   r = ttm_bo_reserve(bo-tbo, true, no_wait, false, 0);
+   if (unlikely(r != 0))
+   return r;
+   spin_lock(bo-tbo.bdev-fence_lock);
+   if (mem_type)
+   *mem_type = bo-tbo.mem.mem_type;
+   if (bo-tbo.sync_obj)
+   r = ttm_bo_wait(bo-tbo, true, true, no_wait);
+   spin_unlock(bo-tbo.bdev-fence_lock);
+   ttm_bo_unreserve(bo-tbo);
+   return r;
+}
+
+
 int radeon_gem_object_init(struct drm_gem_object *obj)
 {
/* we do nothings here */
diff --git a/drivers/gpu/drm/radeon/radeon_object.h 
b/drivers/gpu/drm/radeon/radeon_object.h
index 22d4c23..938419e 100644
--- a/drivers/gpu/drm/radeon/radeon_object.h
+++ b/drivers/gpu/drm/radeon/radeon_object.h
@@ -118,24 +118,6 @@ static inline u64 radeon_bo_mmap_offset(struct radeon_bo 
*bo)
return bo-tbo.addr_space_offset;
 }
 
-static inline int radeon_bo_wait(struct radeon_bo *bo, u32 *mem_type,
-   bool no_wait)
-{
-   int r;
-
-   r = ttm_bo_reserve(bo-tbo, true, no_wait, false, 0);
-   if (unlikely(r != 0))
-   return r;
-   spin_lock(bo-tbo.bdev-fence_lock);
-   if (mem_type)
-   *mem_type = bo-tbo.mem.mem_type;
-   if (bo-tbo.sync_obj)
-   r = ttm_bo_wait(bo-tbo, true, true, no_wait);
-   spin_unlock(bo-tbo.bdev-fence_lock);
-   ttm_bo_unreserve(bo-tbo);
-   return r;
-}
-
 extern int radeon_bo_create(struct radeon_device *rdev,
struct drm_gem_object *gobj, unsigned long size,
int byte_align,
-- 
1.7.3.2

___
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel