diff options
author | Jerome Glisse <jglisse@redhat.com> | 2010-01-28 12:22:31 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2010-02-08 18:32:34 -0500 |
commit | 9f93ed39804a9cfe10577cfae66059fe6bc6e3a5 (patch) | |
tree | a59e77faf98a85451ea8ba54c1361f188fc6836d /drivers/gpu/drm/radeon/radeon.h | |
parent | 73a6d3fc104827db574e4bd206a025299fef0bb1 (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.h | 2 |
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); | |||
437 | int radeon_ib_pool_init(struct radeon_device *rdev); | 438 | int radeon_ib_pool_init(struct radeon_device *rdev); |
438 | void radeon_ib_pool_fini(struct radeon_device *rdev); | 439 | void radeon_ib_pool_fini(struct radeon_device *rdev); |
439 | int radeon_ib_test(struct radeon_device *rdev); | 440 | int radeon_ib_test(struct radeon_device *rdev); |
441 | extern 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 */ |
441 | void radeon_ring_free_size(struct radeon_device *rdev); | 443 | void radeon_ring_free_size(struct radeon_device *rdev); |
442 | int radeon_ring_lock(struct radeon_device *rdev, unsigned ndw); | 444 | int radeon_ring_lock(struct radeon_device *rdev, unsigned ndw); |