drm/radeon: make all functions work with multiple rings.
Give all asic and radeon_ring_* functions a radeon_cp parameter, so they know the ring to work with. Signed-off-by: Christian König <deathsimple@vodafone.de> Reviewed-by: Jerome Glisse <jglisse@redhat.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:

committed by
Dave Airlie

parent
15d3332f31
commit
7b1f2485db
@@ -58,20 +58,21 @@ void r100_fini(struct radeon_device *rdev);
|
||||
int r100_suspend(struct radeon_device *rdev);
|
||||
int r100_resume(struct radeon_device *rdev);
|
||||
void r100_vga_set_state(struct radeon_device *rdev, bool state);
|
||||
bool r100_gpu_is_lockup(struct radeon_device *rdev);
|
||||
bool r100_gpu_is_lockup(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
int r100_asic_reset(struct radeon_device *rdev);
|
||||
u32 r100_get_vblank_counter(struct radeon_device *rdev, int crtc);
|
||||
void r100_pci_gart_tlb_flush(struct radeon_device *rdev);
|
||||
int r100_pci_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr);
|
||||
void r100_cp_commit(struct radeon_device *rdev);
|
||||
void r100_cp_commit(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
void r100_ring_start(struct radeon_device *rdev);
|
||||
int r100_irq_set(struct radeon_device *rdev);
|
||||
int r100_irq_process(struct radeon_device *rdev);
|
||||
void r100_fence_ring_emit(struct radeon_device *rdev,
|
||||
struct radeon_fence *fence);
|
||||
void r100_semaphore_ring_emit(struct radeon_device *rdev,
|
||||
struct radeon_cp *cp,
|
||||
struct radeon_semaphore *semaphore,
|
||||
unsigned ring, bool emit_wait);
|
||||
bool emit_wait);
|
||||
int r100_cs_parse(struct radeon_cs_parser *p);
|
||||
void r100_pll_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
|
||||
uint32_t r100_pll_rreg(struct radeon_device *rdev, uint32_t reg);
|
||||
@@ -86,7 +87,7 @@ int r100_set_surface_reg(struct radeon_device *rdev, int reg,
|
||||
void r100_clear_surface_reg(struct radeon_device *rdev, int reg);
|
||||
void r100_bandwidth_update(struct radeon_device *rdev);
|
||||
void r100_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
|
||||
int r100_ring_test(struct radeon_device *rdev);
|
||||
int r100_ring_test(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
void r100_hpd_init(struct radeon_device *rdev);
|
||||
void r100_hpd_fini(struct radeon_device *rdev);
|
||||
bool r100_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd);
|
||||
@@ -157,7 +158,7 @@ extern int r300_init(struct radeon_device *rdev);
|
||||
extern void r300_fini(struct radeon_device *rdev);
|
||||
extern int r300_suspend(struct radeon_device *rdev);
|
||||
extern int r300_resume(struct radeon_device *rdev);
|
||||
extern bool r300_gpu_is_lockup(struct radeon_device *rdev);
|
||||
extern bool r300_gpu_is_lockup(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
extern int r300_asic_reset(struct radeon_device *rdev);
|
||||
extern void r300_ring_start(struct radeon_device *rdev);
|
||||
extern void r300_fence_ring_emit(struct radeon_device *rdev,
|
||||
@@ -296,7 +297,7 @@ int r600_resume(struct radeon_device *rdev);
|
||||
void r600_vga_set_state(struct radeon_device *rdev, bool state);
|
||||
int r600_wb_init(struct radeon_device *rdev);
|
||||
void r600_wb_fini(struct radeon_device *rdev);
|
||||
void r600_cp_commit(struct radeon_device *rdev);
|
||||
void r600_cp_commit(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
void r600_pcie_gart_tlb_flush(struct radeon_device *rdev);
|
||||
uint32_t r600_pciep_rreg(struct radeon_device *rdev, uint32_t reg);
|
||||
void r600_pciep_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
|
||||
@@ -304,17 +305,18 @@ int r600_cs_parse(struct radeon_cs_parser *p);
|
||||
void r600_fence_ring_emit(struct radeon_device *rdev,
|
||||
struct radeon_fence *fence);
|
||||
void r600_semaphore_ring_emit(struct radeon_device *rdev,
|
||||
struct radeon_cp *cp,
|
||||
struct radeon_semaphore *semaphore,
|
||||
unsigned ring, bool emit_wait);
|
||||
bool r600_gpu_is_lockup(struct radeon_device *rdev);
|
||||
bool emit_wait);
|
||||
bool r600_gpu_is_lockup(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
int r600_asic_reset(struct radeon_device *rdev);
|
||||
int r600_set_surface_reg(struct radeon_device *rdev, int reg,
|
||||
uint32_t tiling_flags, uint32_t pitch,
|
||||
uint32_t offset, uint32_t obj_size);
|
||||
void r600_clear_surface_reg(struct radeon_device *rdev, int reg);
|
||||
int r600_ib_test(struct radeon_device *rdev);
|
||||
int r600_ib_test(struct radeon_device *rdev, int ring);
|
||||
void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
|
||||
int r600_ring_test(struct radeon_device *rdev);
|
||||
int r600_ring_test(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
int r600_copy_blit(struct radeon_device *rdev,
|
||||
uint64_t src_offset, uint64_t dst_offset,
|
||||
unsigned num_gpu_pages, struct radeon_fence *fence);
|
||||
@@ -334,7 +336,7 @@ extern int r600_get_pcie_lanes(struct radeon_device *rdev);
|
||||
bool r600_card_posted(struct radeon_device *rdev);
|
||||
void r600_cp_stop(struct radeon_device *rdev);
|
||||
int r600_cp_start(struct radeon_device *rdev);
|
||||
void r600_ring_init(struct radeon_device *rdev, unsigned ring_size);
|
||||
void r600_ring_init(struct radeon_device *rdev, struct radeon_cp *cp, unsigned ring_size);
|
||||
int r600_cp_resume(struct radeon_device *rdev);
|
||||
void r600_cp_fini(struct radeon_device *rdev);
|
||||
int r600_count_pipe_bits(uint32_t val);
|
||||
@@ -403,7 +405,7 @@ int evergreen_init(struct radeon_device *rdev);
|
||||
void evergreen_fini(struct radeon_device *rdev);
|
||||
int evergreen_suspend(struct radeon_device *rdev);
|
||||
int evergreen_resume(struct radeon_device *rdev);
|
||||
bool evergreen_gpu_is_lockup(struct radeon_device *rdev);
|
||||
bool evergreen_gpu_is_lockup(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
int evergreen_asic_reset(struct radeon_device *rdev);
|
||||
void evergreen_bandwidth_update(struct radeon_device *rdev);
|
||||
void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
|
||||
@@ -434,7 +436,7 @@ int cayman_init(struct radeon_device *rdev);
|
||||
void cayman_fini(struct radeon_device *rdev);
|
||||
int cayman_suspend(struct radeon_device *rdev);
|
||||
int cayman_resume(struct radeon_device *rdev);
|
||||
bool cayman_gpu_is_lockup(struct radeon_device *rdev);
|
||||
bool cayman_gpu_is_lockup(struct radeon_device *rdev, struct radeon_cp *cp);
|
||||
int cayman_asic_reset(struct radeon_device *rdev);
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user