aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.h
diff options
context:
space:
mode:
authorChristian König <christian.koenig@amd.com>2014-07-30 15:05:17 -0400
committerAlex Deucher <alexander.deucher@amd.com>2014-08-05 08:53:55 -0400
commit03f62abd112d5150b6ce8957fa85d4f6e85e357f (patch)
treef0e6beb6d82b225f936bf33f1756c19bdc671208 /drivers/gpu/drm/radeon/radeon_asic.h
parent5a341be27fe23c31e4849b0a0506a4469bcbc283 (diff)
drm/radeon: split PT setup in more functions
Move the decision what to use into the common VM code. Signed-off-by: Christian König <christian.koenig@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.h64
1 files changed, 49 insertions, 15 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
index 3cf6be6666fc..275a5dc01780 100644
--- a/drivers/gpu/drm/radeon/radeon_asic.h
+++ b/drivers/gpu/drm/radeon/radeon_asic.h
@@ -607,11 +607,22 @@ void cayman_dma_ring_ib_execute(struct radeon_device *rdev,
607 struct radeon_ib *ib); 607 struct radeon_ib *ib);
608bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); 608bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring);
609bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); 609bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring);
610void cayman_dma_vm_set_page(struct radeon_device *rdev, 610
611 struct radeon_ib *ib, 611void cayman_dma_vm_copy_pages(struct radeon_device *rdev,
612 uint64_t pe, 612 struct radeon_ib *ib,
613 uint64_t addr, unsigned count, 613 uint64_t pe, uint64_t src,
614 uint32_t incr, uint32_t flags); 614 unsigned count);
615void cayman_dma_vm_write_pages(struct radeon_device *rdev,
616 struct radeon_ib *ib,
617 uint64_t pe,
618 uint64_t addr, unsigned count,
619 uint32_t incr, uint32_t flags);
620void cayman_dma_vm_set_pages(struct radeon_device *rdev,
621 struct radeon_ib *ib,
622 uint64_t pe,
623 uint64_t addr, unsigned count,
624 uint32_t incr, uint32_t flags);
625void cayman_dma_vm_pad_ib(struct radeon_ib *ib);
615 626
616void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); 627void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm);
617 628
@@ -694,11 +705,22 @@ int si_copy_dma(struct radeon_device *rdev,
694 uint64_t src_offset, uint64_t dst_offset, 705 uint64_t src_offset, uint64_t dst_offset,
695 unsigned num_gpu_pages, 706 unsigned num_gpu_pages,
696 struct radeon_fence **fence); 707 struct radeon_fence **fence);
697void si_dma_vm_set_page(struct radeon_device *rdev, 708
698 struct radeon_ib *ib, 709void si_dma_vm_copy_pages(struct radeon_device *rdev,
699 uint64_t pe, 710 struct radeon_ib *ib,
700 uint64_t addr, unsigned count, 711 uint64_t pe, uint64_t src,
701 uint32_t incr, uint32_t flags); 712 unsigned count);
713void si_dma_vm_write_pages(struct radeon_device *rdev,
714 struct radeon_ib *ib,
715 uint64_t pe,
716 uint64_t addr, unsigned count,
717 uint32_t incr, uint32_t flags);
718void si_dma_vm_set_pages(struct radeon_device *rdev,
719 struct radeon_ib *ib,
720 uint64_t pe,
721 uint64_t addr, unsigned count,
722 uint32_t incr, uint32_t flags);
723
702void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); 724void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm);
703u32 si_get_xclk(struct radeon_device *rdev); 725u32 si_get_xclk(struct radeon_device *rdev);
704uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev); 726uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev);
@@ -772,11 +794,23 @@ int cik_irq_process(struct radeon_device *rdev);
772int cik_vm_init(struct radeon_device *rdev); 794int cik_vm_init(struct radeon_device *rdev);
773void cik_vm_fini(struct radeon_device *rdev); 795void cik_vm_fini(struct radeon_device *rdev);
774void cik_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); 796void cik_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm);
775void cik_sdma_vm_set_page(struct radeon_device *rdev, 797
776 struct radeon_ib *ib, 798void cik_sdma_vm_copy_pages(struct radeon_device *rdev,
777 uint64_t pe, 799 struct radeon_ib *ib,
778 uint64_t addr, unsigned count, 800 uint64_t pe, uint64_t src,
779 uint32_t incr, uint32_t flags); 801 unsigned count);
802void cik_sdma_vm_write_pages(struct radeon_device *rdev,
803 struct radeon_ib *ib,
804 uint64_t pe,
805 uint64_t addr, unsigned count,
806 uint32_t incr, uint32_t flags);
807void cik_sdma_vm_set_pages(struct radeon_device *rdev,
808 struct radeon_ib *ib,
809 uint64_t pe,
810 uint64_t addr, unsigned count,
811 uint32_t incr, uint32_t flags);
812void cik_sdma_vm_pad_ib(struct radeon_ib *ib);
813
780void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); 814void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm);
781int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); 815int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib);
782u32 cik_gfx_get_rptr(struct radeon_device *rdev, 816u32 cik_gfx_get_rptr(struct radeon_device *rdev,