aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon.h
diff options
context:
space:
mode:
authorJerome Glisse <jglisse@redhat.com>2010-01-28 12:22:31 -0500
committerDave Airlie <airlied@redhat.com>2010-02-08 18:32:34 -0500
commit9f93ed39804a9cfe10577cfae66059fe6bc6e3a5 (patch)
treea59e77faf98a85451ea8ba54c1361f188fc6836d /drivers/gpu/drm/radeon/radeon.h
parent73a6d3fc104827db574e4bd206a025299fef0bb1 (diff)
drm/radeon/kms: bogus cs recorder utilities
This add an utilities function radeon_ib_bogus_add which will save an ib into a list of ib which can then be dumped using debugfs. Once dumped the ib is removed from the list. This should allow to save & capute ib for further debugging. Signed-off-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon.h2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h
index 3f353131bb38..b519d7db2dcb 100644
--- a/drivers/gpu/drm/radeon/radeon.h
+++ b/drivers/gpu/drm/radeon/radeon.h
@@ -383,6 +383,7 @@ struct radeon_ib_pool {
383 struct mutex mutex; 383 struct mutex mutex;
384 struct radeon_bo *robj; 384 struct radeon_bo *robj;
385 struct list_head scheduled_ibs; 385 struct list_head scheduled_ibs;
386 struct list_head bogus_ib;
386 struct radeon_ib ibs[RADEON_IB_POOL_SIZE]; 387 struct radeon_ib ibs[RADEON_IB_POOL_SIZE];
387 bool ready; 388 bool ready;
388 DECLARE_BITMAP(alloc_bm, RADEON_IB_POOL_SIZE); 389 DECLARE_BITMAP(alloc_bm, RADEON_IB_POOL_SIZE);
@@ -437,6 +438,7 @@ int radeon_ib_schedule(struct radeon_device *rdev, struct radeon_ib *ib);
437int radeon_ib_pool_init(struct radeon_device *rdev); 438int radeon_ib_pool_init(struct radeon_device *rdev);
438void radeon_ib_pool_fini(struct radeon_device *rdev); 439void radeon_ib_pool_fini(struct radeon_device *rdev);
439int radeon_ib_test(struct radeon_device *rdev); 440int radeon_ib_test(struct radeon_device *rdev);
441extern void radeon_ib_bogus_add(struct radeon_device *rdev, struct radeon_ib *ib);
440/* Ring access between begin & end cannot sleep */ 442/* Ring access between begin & end cannot sleep */
441void radeon_ring_free_size(struct radeon_device *rdev); 443void radeon_ring_free_size(struct radeon_device *rdev);
442int radeon_ring_lock(struct radeon_device *rdev, unsigned ndw); 444int radeon_ring_lock(struct radeon_device *rdev, unsigned ndw);