diff options
author | Christian König <christian.koenig@amd.com> | 2014-07-30 15:05:17 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2014-08-05 08:53:55 -0400 |
commit | 03f62abd112d5150b6ce8957fa85d4f6e85e357f (patch) | |
tree | f0e6beb6d82b225f936bf33f1756c19bdc671208 /drivers/gpu/drm/radeon/radeon_asic.h | |
parent | 5a341be27fe23c31e4849b0a0506a4469bcbc283 (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.h | 64 |
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); |
608 | bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); | 608 | bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
609 | bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); | 609 | bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
610 | void cayman_dma_vm_set_page(struct radeon_device *rdev, | 610 | |
611 | struct radeon_ib *ib, | 611 | void 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); |
615 | void 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); | ||
620 | void 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); | ||
625 | void cayman_dma_vm_pad_ib(struct radeon_ib *ib); | ||
615 | 626 | ||
616 | void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 627 | void 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); |
697 | void si_dma_vm_set_page(struct radeon_device *rdev, | 708 | |
698 | struct radeon_ib *ib, | 709 | void 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); |
713 | void 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); | ||
718 | void 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 | |||
702 | void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 724 | void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
703 | u32 si_get_xclk(struct radeon_device *rdev); | 725 | u32 si_get_xclk(struct radeon_device *rdev); |
704 | uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev); | 726 | uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev); |
@@ -772,11 +794,23 @@ int cik_irq_process(struct radeon_device *rdev); | |||
772 | int cik_vm_init(struct radeon_device *rdev); | 794 | int cik_vm_init(struct radeon_device *rdev); |
773 | void cik_vm_fini(struct radeon_device *rdev); | 795 | void cik_vm_fini(struct radeon_device *rdev); |
774 | void cik_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 796 | void cik_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
775 | void cik_sdma_vm_set_page(struct radeon_device *rdev, | 797 | |
776 | struct radeon_ib *ib, | 798 | void 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); |
802 | void 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); | ||
807 | void 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); | ||
812 | void cik_sdma_vm_pad_ib(struct radeon_ib *ib); | ||
813 | |||
780 | void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 814 | void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
781 | int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); | 815 | int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
782 | u32 cik_gfx_get_rptr(struct radeon_device *rdev, | 816 | u32 cik_gfx_get_rptr(struct radeon_device *rdev, |