aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_drv.h
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_drv.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_drv.h25
1 files changed, 24 insertions, 1 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h
index 9326c73976cf..86614a27bb6e 100644
--- a/drivers/gpu/drm/radeon/radeon_drv.h
+++ b/drivers/gpu/drm/radeon/radeon_drv.h
@@ -396,6 +396,8 @@ extern int radeon_engine_reset(struct drm_device *dev, void *data, struct drm_fi
396extern int radeon_fullscreen(struct drm_device *dev, void *data, struct drm_file *file_priv); 396extern int radeon_fullscreen(struct drm_device *dev, void *data, struct drm_file *file_priv);
397extern int radeon_cp_buffers(struct drm_device *dev, void *data, struct drm_file *file_priv); 397extern int radeon_cp_buffers(struct drm_device *dev, void *data, struct drm_file *file_priv);
398extern u32 radeon_read_fb_location(drm_radeon_private_t *dev_priv); 398extern u32 radeon_read_fb_location(drm_radeon_private_t *dev_priv);
399extern void radeon_write_agp_location(drm_radeon_private_t *dev_priv, u32 agp_loc);
400extern void radeon_write_agp_base(drm_radeon_private_t *dev_priv, u64 agp_base);
399extern u32 RADEON_READ_MM(drm_radeon_private_t *dev_priv, int addr); 401extern u32 RADEON_READ_MM(drm_radeon_private_t *dev_priv, int addr);
400 402
401extern void radeon_freelist_reset(struct drm_device * dev); 403extern void radeon_freelist_reset(struct drm_device * dev);
@@ -416,6 +418,10 @@ extern void radeon_mem_takedown(struct mem_block **heap);
416extern void radeon_mem_release(struct drm_file *file_priv, 418extern void radeon_mem_release(struct drm_file *file_priv,
417 struct mem_block *heap); 419 struct mem_block *heap);
418 420
421extern void radeon_enable_bm(struct drm_radeon_private *dev_priv);
422extern u32 radeon_read_ring_rptr(drm_radeon_private_t *dev_priv, u32 off);
423extern void radeon_write_ring_rptr(drm_radeon_private_t *dev_priv, u32 off, u32 val);
424
419 /* radeon_irq.c */ 425 /* radeon_irq.c */
420extern void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state); 426extern void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state);
421extern int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file *file_priv); 427extern int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file *file_priv);
@@ -456,6 +462,19 @@ extern int r300_do_cp_cmdbuf(struct drm_device *dev,
456 struct drm_file *file_priv, 462 struct drm_file *file_priv,
457 drm_radeon_kcmd_buffer_t *cmdbuf); 463 drm_radeon_kcmd_buffer_t *cmdbuf);
458 464
465/* r600_cp.c */
466extern int r600_do_engine_reset(struct drm_device *dev);
467extern int r600_do_cleanup_cp(struct drm_device *dev);
468extern int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init,
469 struct drm_file *file_priv);
470extern int r600_do_resume_cp(struct drm_device *dev, struct drm_file *file_priv);
471extern int r600_do_cp_idle(drm_radeon_private_t *dev_priv);
472extern void r600_do_cp_start(drm_radeon_private_t *dev_priv);
473extern void r600_do_cp_reset(drm_radeon_private_t *dev_priv);
474extern void r600_do_cp_stop(drm_radeon_private_t *dev_priv);
475extern int r600_cp_dispatch_indirect(struct drm_device *dev,
476 struct drm_buf *buf, int start, int end);
477
459/* Flags for stats.boxes 478/* Flags for stats.boxes
460 */ 479 */
461#define RADEON_BOX_DMA_IDLE 0x1 480#define RADEON_BOX_DMA_IDLE 0x1
@@ -1832,7 +1851,11 @@ do { \
1832 struct drm_radeon_master_private *master_priv = file_priv->master->driver_priv; \ 1851 struct drm_radeon_master_private *master_priv = file_priv->master->driver_priv; \
1833 drm_radeon_sarea_t *sarea_priv = master_priv->sarea_priv; \ 1852 drm_radeon_sarea_t *sarea_priv = master_priv->sarea_priv; \
1834 if ( sarea_priv->last_dispatch >= RADEON_MAX_VB_AGE ) { \ 1853 if ( sarea_priv->last_dispatch >= RADEON_MAX_VB_AGE ) { \
1835 int __ret = radeon_do_cp_idle( dev_priv ); \ 1854 int __ret; \
1855 if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R600) \
1856 __ret = r600_do_cp_idle(dev_priv); \
1857 else \
1858 __ret = radeon_do_cp_idle(dev_priv); \
1836 if ( __ret ) return __ret; \ 1859 if ( __ret ) return __ret; \
1837 sarea_priv->last_dispatch = 0; \ 1860 sarea_priv->last_dispatch = 0; \
1838 radeon_freelist_reset( dev ); \ 1861 radeon_freelist_reset( dev ); \