diff options
author | Alex Deucher <alexander.deucher@amd.com> | 2012-02-23 17:53:43 -0500 |
---|---|---|
committer | Dave Airlie <airlied@redhat.com> | 2012-02-29 05:14:29 -0500 |
commit | b35ea4ab8884b363440d38db3c7c89edfb3682a1 (patch) | |
tree | b277972767c4a95366e5c1a3a3858aaed4429254 /drivers/gpu/drm/radeon/radeon.h | |
parent | 27cd77694bfa2e123cb7440507f8ddd762de6c38 (diff) |
drm/radeon/kms: reorganize irq callbacks
tidy up the radeon_asic struct.
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Christian König<christian.koenig@amd.com>
Reviewed-by: Michel Dänzer <michel.daenzer@amd.com>
Reviewed-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 | 13 |
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index b4dea5c79847..e72672f99c47 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
@@ -1151,8 +1151,12 @@ struct radeon_asic { | |||
1151 | } ring[RADEON_NUM_RINGS]; | 1151 | } ring[RADEON_NUM_RINGS]; |
1152 | 1152 | ||
1153 | int (*ring_test)(struct radeon_device *rdev, struct radeon_ring *cp); | 1153 | int (*ring_test)(struct radeon_device *rdev, struct radeon_ring *cp); |
1154 | int (*irq_set)(struct radeon_device *rdev); | 1154 | |
1155 | int (*irq_process)(struct radeon_device *rdev); | 1155 | struct { |
1156 | int (*set)(struct radeon_device *rdev); | ||
1157 | int (*process)(struct radeon_device *rdev); | ||
1158 | } irq; | ||
1159 | |||
1156 | u32 (*get_vblank_counter)(struct radeon_device *rdev, int crtc); | 1160 | u32 (*get_vblank_counter)(struct radeon_device *rdev, int crtc); |
1157 | 1161 | ||
1158 | struct { | 1162 | struct { |
@@ -1205,6 +1209,7 @@ struct radeon_asic { | |||
1205 | * through ring. | 1209 | * through ring. |
1206 | */ | 1210 | */ |
1207 | void (*ioctl_wait_idle)(struct radeon_device *rdev, struct radeon_bo *bo); | 1211 | void (*ioctl_wait_idle)(struct radeon_device *rdev, struct radeon_bo *bo); |
1212 | /* check if 3D engine is idle */ | ||
1208 | bool (*gui_idle)(struct radeon_device *rdev); | 1213 | bool (*gui_idle)(struct radeon_device *rdev); |
1209 | /* power management */ | 1214 | /* power management */ |
1210 | struct { | 1215 | struct { |
@@ -1679,8 +1684,8 @@ void radeon_ring_write(struct radeon_ring *ring, uint32_t v); | |||
1679 | #define radeon_ring_test(rdev, cp) (rdev)->asic->ring_test((rdev), (cp)) | 1684 | #define radeon_ring_test(rdev, cp) (rdev)->asic->ring_test((rdev), (cp)) |
1680 | #define radeon_ring_ib_execute(rdev, r, ib) (rdev)->asic->ring[(r)].ib_execute((rdev), (ib)) | 1685 | #define radeon_ring_ib_execute(rdev, r, ib) (rdev)->asic->ring[(r)].ib_execute((rdev), (ib)) |
1681 | #define radeon_ring_ib_parse(rdev, r, ib) (rdev)->asic->ring[(r)].ib_parse((rdev), (ib)) | 1686 | #define radeon_ring_ib_parse(rdev, r, ib) (rdev)->asic->ring[(r)].ib_parse((rdev), (ib)) |
1682 | #define radeon_irq_set(rdev) (rdev)->asic->irq_set((rdev)) | 1687 | #define radeon_irq_set(rdev) (rdev)->asic->irq.set((rdev)) |
1683 | #define radeon_irq_process(rdev) (rdev)->asic->irq_process((rdev)) | 1688 | #define radeon_irq_process(rdev) (rdev)->asic->irq.process((rdev)) |
1684 | #define radeon_get_vblank_counter(rdev, crtc) (rdev)->asic->get_vblank_counter((rdev), (crtc)) | 1689 | #define radeon_get_vblank_counter(rdev, crtc) (rdev)->asic->get_vblank_counter((rdev), (crtc)) |
1685 | #define radeon_fence_ring_emit(rdev, r, fence) (rdev)->asic->ring[(r)].emit_fence((rdev), (fence)) | 1690 | #define radeon_fence_ring_emit(rdev, r, fence) (rdev)->asic->ring[(r)].emit_fence((rdev), (fence)) |
1686 | #define radeon_semaphore_ring_emit(rdev, r, cp, semaphore, emit_wait) (rdev)->asic->ring[(r)].emit_semaphore((rdev), (cp), (semaphore), (emit_wait)) | 1691 | #define radeon_semaphore_ring_emit(rdev, r, cp, semaphore, emit_wait) (rdev)->asic->ring[(r)].emit_semaphore((rdev), (cp), (semaphore), (emit_wait)) |