diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_drv.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.h | 25 |
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 | |||
396 | extern int radeon_fullscreen(struct drm_device *dev, void *data, struct drm_file *file_priv); | 396 | extern int radeon_fullscreen(struct drm_device *dev, void *data, struct drm_file *file_priv); |
397 | extern int radeon_cp_buffers(struct drm_device *dev, void *data, struct drm_file *file_priv); | 397 | extern int radeon_cp_buffers(struct drm_device *dev, void *data, struct drm_file *file_priv); |
398 | extern u32 radeon_read_fb_location(drm_radeon_private_t *dev_priv); | 398 | extern u32 radeon_read_fb_location(drm_radeon_private_t *dev_priv); |
399 | extern void radeon_write_agp_location(drm_radeon_private_t *dev_priv, u32 agp_loc); | ||
400 | extern void radeon_write_agp_base(drm_radeon_private_t *dev_priv, u64 agp_base); | ||
399 | extern u32 RADEON_READ_MM(drm_radeon_private_t *dev_priv, int addr); | 401 | extern u32 RADEON_READ_MM(drm_radeon_private_t *dev_priv, int addr); |
400 | 402 | ||
401 | extern void radeon_freelist_reset(struct drm_device * dev); | 403 | extern void radeon_freelist_reset(struct drm_device * dev); |
@@ -416,6 +418,10 @@ extern void radeon_mem_takedown(struct mem_block **heap); | |||
416 | extern void radeon_mem_release(struct drm_file *file_priv, | 418 | extern void radeon_mem_release(struct drm_file *file_priv, |
417 | struct mem_block *heap); | 419 | struct mem_block *heap); |
418 | 420 | ||
421 | extern void radeon_enable_bm(struct drm_radeon_private *dev_priv); | ||
422 | extern u32 radeon_read_ring_rptr(drm_radeon_private_t *dev_priv, u32 off); | ||
423 | extern void radeon_write_ring_rptr(drm_radeon_private_t *dev_priv, u32 off, u32 val); | ||
424 | |||
419 | /* radeon_irq.c */ | 425 | /* radeon_irq.c */ |
420 | extern void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state); | 426 | extern void radeon_irq_set_state(struct drm_device *dev, u32 mask, int state); |
421 | extern int radeon_irq_emit(struct drm_device *dev, void *data, struct drm_file *file_priv); | 427 | extern 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 */ | ||
466 | extern int r600_do_engine_reset(struct drm_device *dev); | ||
467 | extern int r600_do_cleanup_cp(struct drm_device *dev); | ||
468 | extern int r600_do_init_cp(struct drm_device *dev, drm_radeon_init_t *init, | ||
469 | struct drm_file *file_priv); | ||
470 | extern int r600_do_resume_cp(struct drm_device *dev, struct drm_file *file_priv); | ||
471 | extern int r600_do_cp_idle(drm_radeon_private_t *dev_priv); | ||
472 | extern void r600_do_cp_start(drm_radeon_private_t *dev_priv); | ||
473 | extern void r600_do_cp_reset(drm_radeon_private_t *dev_priv); | ||
474 | extern void r600_do_cp_stop(drm_radeon_private_t *dev_priv); | ||
475 | extern 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 ); \ |