diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 64 |
1 files changed, 51 insertions, 13 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index c9fd97b58076..b3bc433eed4c 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h | |||
@@ -47,13 +47,6 @@ u8 atombios_get_backlight_level(struct radeon_encoder *radeon_encoder); | |||
47 | void radeon_legacy_set_backlight_level(struct radeon_encoder *radeon_encoder, u8 level); | 47 | void radeon_legacy_set_backlight_level(struct radeon_encoder *radeon_encoder, u8 level); |
48 | u8 radeon_legacy_get_backlight_level(struct radeon_encoder *radeon_encoder); | 48 | u8 radeon_legacy_get_backlight_level(struct radeon_encoder *radeon_encoder); |
49 | 49 | ||
50 | u32 radeon_ring_generic_get_rptr(struct radeon_device *rdev, | ||
51 | struct radeon_ring *ring); | ||
52 | u32 radeon_ring_generic_get_wptr(struct radeon_device *rdev, | ||
53 | struct radeon_ring *ring); | ||
54 | void radeon_ring_generic_set_wptr(struct radeon_device *rdev, | ||
55 | struct radeon_ring *ring); | ||
56 | |||
57 | /* | 50 | /* |
58 | * r100,rv100,rs100,rv200,rs200 | 51 | * r100,rv100,rs100,rv200,rs200 |
59 | */ | 52 | */ |
@@ -148,6 +141,13 @@ extern void r100_post_page_flip(struct radeon_device *rdev, int crtc); | |||
148 | extern void r100_wait_for_vblank(struct radeon_device *rdev, int crtc); | 141 | extern void r100_wait_for_vblank(struct radeon_device *rdev, int crtc); |
149 | extern int r100_mc_wait_for_idle(struct radeon_device *rdev); | 142 | extern int r100_mc_wait_for_idle(struct radeon_device *rdev); |
150 | 143 | ||
144 | u32 r100_gfx_get_rptr(struct radeon_device *rdev, | ||
145 | struct radeon_ring *ring); | ||
146 | u32 r100_gfx_get_wptr(struct radeon_device *rdev, | ||
147 | struct radeon_ring *ring); | ||
148 | void r100_gfx_set_wptr(struct radeon_device *rdev, | ||
149 | struct radeon_ring *ring); | ||
150 | |||
151 | /* | 151 | /* |
152 | * r200,rv250,rs300,rv280 | 152 | * r200,rv250,rs300,rv280 |
153 | */ | 153 | */ |
@@ -368,6 +368,12 @@ int r600_mc_wait_for_idle(struct radeon_device *rdev); | |||
368 | int r600_pcie_gart_init(struct radeon_device *rdev); | 368 | int r600_pcie_gart_init(struct radeon_device *rdev); |
369 | void r600_scratch_init(struct radeon_device *rdev); | 369 | void r600_scratch_init(struct radeon_device *rdev); |
370 | int r600_init_microcode(struct radeon_device *rdev); | 370 | int r600_init_microcode(struct radeon_device *rdev); |
371 | u32 r600_gfx_get_rptr(struct radeon_device *rdev, | ||
372 | struct radeon_ring *ring); | ||
373 | u32 r600_gfx_get_wptr(struct radeon_device *rdev, | ||
374 | struct radeon_ring *ring); | ||
375 | void r600_gfx_set_wptr(struct radeon_device *rdev, | ||
376 | struct radeon_ring *ring); | ||
371 | /* r600 irq */ | 377 | /* r600 irq */ |
372 | int r600_irq_process(struct radeon_device *rdev); | 378 | int r600_irq_process(struct radeon_device *rdev); |
373 | int r600_irq_init(struct radeon_device *rdev); | 379 | int r600_irq_init(struct radeon_device *rdev); |
@@ -392,6 +398,7 @@ int rv6xx_get_temp(struct radeon_device *rdev); | |||
392 | int r600_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); | 398 | int r600_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); |
393 | int r600_dpm_pre_set_power_state(struct radeon_device *rdev); | 399 | int r600_dpm_pre_set_power_state(struct radeon_device *rdev); |
394 | void r600_dpm_post_set_power_state(struct radeon_device *rdev); | 400 | void r600_dpm_post_set_power_state(struct radeon_device *rdev); |
401 | int r600_dpm_late_enable(struct radeon_device *rdev); | ||
395 | /* r600 dma */ | 402 | /* r600 dma */ |
396 | uint32_t r600_dma_get_rptr(struct radeon_device *rdev, | 403 | uint32_t r600_dma_get_rptr(struct radeon_device *rdev, |
397 | struct radeon_ring *ring); | 404 | struct radeon_ring *ring); |
@@ -454,6 +461,7 @@ int rv770_get_temp(struct radeon_device *rdev); | |||
454 | /* rv7xx pm */ | 461 | /* rv7xx pm */ |
455 | int rv770_dpm_init(struct radeon_device *rdev); | 462 | int rv770_dpm_init(struct radeon_device *rdev); |
456 | int rv770_dpm_enable(struct radeon_device *rdev); | 463 | int rv770_dpm_enable(struct radeon_device *rdev); |
464 | int rv770_dpm_late_enable(struct radeon_device *rdev); | ||
457 | void rv770_dpm_disable(struct radeon_device *rdev); | 465 | void rv770_dpm_disable(struct radeon_device *rdev); |
458 | int rv770_dpm_set_power_state(struct radeon_device *rdev); | 466 | int rv770_dpm_set_power_state(struct radeon_device *rdev); |
459 | void rv770_dpm_setup_asic(struct radeon_device *rdev); | 467 | void rv770_dpm_setup_asic(struct radeon_device *rdev); |
@@ -545,6 +553,7 @@ u32 btc_dpm_get_mclk(struct radeon_device *rdev, bool low); | |||
545 | bool btc_dpm_vblank_too_short(struct radeon_device *rdev); | 553 | bool btc_dpm_vblank_too_short(struct radeon_device *rdev); |
546 | int sumo_dpm_init(struct radeon_device *rdev); | 554 | int sumo_dpm_init(struct radeon_device *rdev); |
547 | int sumo_dpm_enable(struct radeon_device *rdev); | 555 | int sumo_dpm_enable(struct radeon_device *rdev); |
556 | int sumo_dpm_late_enable(struct radeon_device *rdev); | ||
548 | void sumo_dpm_disable(struct radeon_device *rdev); | 557 | void sumo_dpm_disable(struct radeon_device *rdev); |
549 | int sumo_dpm_pre_set_power_state(struct radeon_device *rdev); | 558 | int sumo_dpm_pre_set_power_state(struct radeon_device *rdev); |
550 | int sumo_dpm_set_power_state(struct radeon_device *rdev); | 559 | int sumo_dpm_set_power_state(struct radeon_device *rdev); |
@@ -591,6 +600,19 @@ void cayman_dma_vm_set_page(struct radeon_device *rdev, | |||
591 | 600 | ||
592 | void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 601 | void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
593 | 602 | ||
603 | u32 cayman_gfx_get_rptr(struct radeon_device *rdev, | ||
604 | struct radeon_ring *ring); | ||
605 | u32 cayman_gfx_get_wptr(struct radeon_device *rdev, | ||
606 | struct radeon_ring *ring); | ||
607 | void cayman_gfx_set_wptr(struct radeon_device *rdev, | ||
608 | struct radeon_ring *ring); | ||
609 | uint32_t cayman_dma_get_rptr(struct radeon_device *rdev, | ||
610 | struct radeon_ring *ring); | ||
611 | uint32_t cayman_dma_get_wptr(struct radeon_device *rdev, | ||
612 | struct radeon_ring *ring); | ||
613 | void cayman_dma_set_wptr(struct radeon_device *rdev, | ||
614 | struct radeon_ring *ring); | ||
615 | |||
594 | int ni_dpm_init(struct radeon_device *rdev); | 616 | int ni_dpm_init(struct radeon_device *rdev); |
595 | void ni_dpm_setup_asic(struct radeon_device *rdev); | 617 | void ni_dpm_setup_asic(struct radeon_device *rdev); |
596 | int ni_dpm_enable(struct radeon_device *rdev); | 618 | int ni_dpm_enable(struct radeon_device *rdev); |
@@ -610,6 +632,7 @@ int ni_dpm_force_performance_level(struct radeon_device *rdev, | |||
610 | bool ni_dpm_vblank_too_short(struct radeon_device *rdev); | 632 | bool ni_dpm_vblank_too_short(struct radeon_device *rdev); |
611 | int trinity_dpm_init(struct radeon_device *rdev); | 633 | int trinity_dpm_init(struct radeon_device *rdev); |
612 | int trinity_dpm_enable(struct radeon_device *rdev); | 634 | int trinity_dpm_enable(struct radeon_device *rdev); |
635 | int trinity_dpm_late_enable(struct radeon_device *rdev); | ||
613 | void trinity_dpm_disable(struct radeon_device *rdev); | 636 | void trinity_dpm_disable(struct radeon_device *rdev); |
614 | int trinity_dpm_pre_set_power_state(struct radeon_device *rdev); | 637 | int trinity_dpm_pre_set_power_state(struct radeon_device *rdev); |
615 | int trinity_dpm_set_power_state(struct radeon_device *rdev); | 638 | int trinity_dpm_set_power_state(struct radeon_device *rdev); |
@@ -669,6 +692,7 @@ int si_get_temp(struct radeon_device *rdev); | |||
669 | int si_dpm_init(struct radeon_device *rdev); | 692 | int si_dpm_init(struct radeon_device *rdev); |
670 | void si_dpm_setup_asic(struct radeon_device *rdev); | 693 | void si_dpm_setup_asic(struct radeon_device *rdev); |
671 | int si_dpm_enable(struct radeon_device *rdev); | 694 | int si_dpm_enable(struct radeon_device *rdev); |
695 | int si_dpm_late_enable(struct radeon_device *rdev); | ||
672 | void si_dpm_disable(struct radeon_device *rdev); | 696 | void si_dpm_disable(struct radeon_device *rdev); |
673 | int si_dpm_pre_set_power_state(struct radeon_device *rdev); | 697 | int si_dpm_pre_set_power_state(struct radeon_device *rdev); |
674 | int si_dpm_set_power_state(struct radeon_device *rdev); | 698 | int si_dpm_set_power_state(struct radeon_device *rdev); |
@@ -739,17 +763,30 @@ void cik_sdma_vm_set_page(struct radeon_device *rdev, | |||
739 | uint32_t incr, uint32_t flags); | 763 | uint32_t incr, uint32_t flags); |
740 | void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); | 764 | void cik_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
741 | int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); | 765 | int cik_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
742 | u32 cik_compute_ring_get_rptr(struct radeon_device *rdev, | 766 | u32 cik_gfx_get_rptr(struct radeon_device *rdev, |
743 | struct radeon_ring *ring); | 767 | struct radeon_ring *ring); |
744 | u32 cik_compute_ring_get_wptr(struct radeon_device *rdev, | 768 | u32 cik_gfx_get_wptr(struct radeon_device *rdev, |
745 | struct radeon_ring *ring); | 769 | struct radeon_ring *ring); |
746 | void cik_compute_ring_set_wptr(struct radeon_device *rdev, | 770 | void cik_gfx_set_wptr(struct radeon_device *rdev, |
747 | struct radeon_ring *ring); | 771 | struct radeon_ring *ring); |
772 | u32 cik_compute_get_rptr(struct radeon_device *rdev, | ||
773 | struct radeon_ring *ring); | ||
774 | u32 cik_compute_get_wptr(struct radeon_device *rdev, | ||
775 | struct radeon_ring *ring); | ||
776 | void cik_compute_set_wptr(struct radeon_device *rdev, | ||
777 | struct radeon_ring *ring); | ||
778 | u32 cik_sdma_get_rptr(struct radeon_device *rdev, | ||
779 | struct radeon_ring *ring); | ||
780 | u32 cik_sdma_get_wptr(struct radeon_device *rdev, | ||
781 | struct radeon_ring *ring); | ||
782 | void cik_sdma_set_wptr(struct radeon_device *rdev, | ||
783 | struct radeon_ring *ring); | ||
748 | int ci_get_temp(struct radeon_device *rdev); | 784 | int ci_get_temp(struct radeon_device *rdev); |
749 | int kv_get_temp(struct radeon_device *rdev); | 785 | int kv_get_temp(struct radeon_device *rdev); |
750 | 786 | ||
751 | int ci_dpm_init(struct radeon_device *rdev); | 787 | int ci_dpm_init(struct radeon_device *rdev); |
752 | int ci_dpm_enable(struct radeon_device *rdev); | 788 | int ci_dpm_enable(struct radeon_device *rdev); |
789 | int ci_dpm_late_enable(struct radeon_device *rdev); | ||
753 | void ci_dpm_disable(struct radeon_device *rdev); | 790 | void ci_dpm_disable(struct radeon_device *rdev); |
754 | int ci_dpm_pre_set_power_state(struct radeon_device *rdev); | 791 | int ci_dpm_pre_set_power_state(struct radeon_device *rdev); |
755 | int ci_dpm_set_power_state(struct radeon_device *rdev); | 792 | int ci_dpm_set_power_state(struct radeon_device *rdev); |
@@ -770,6 +807,7 @@ void ci_dpm_powergate_uvd(struct radeon_device *rdev, bool gate); | |||
770 | 807 | ||
771 | int kv_dpm_init(struct radeon_device *rdev); | 808 | int kv_dpm_init(struct radeon_device *rdev); |
772 | int kv_dpm_enable(struct radeon_device *rdev); | 809 | int kv_dpm_enable(struct radeon_device *rdev); |
810 | int kv_dpm_late_enable(struct radeon_device *rdev); | ||
773 | void kv_dpm_disable(struct radeon_device *rdev); | 811 | void kv_dpm_disable(struct radeon_device *rdev); |
774 | int kv_dpm_pre_set_power_state(struct radeon_device *rdev); | 812 | int kv_dpm_pre_set_power_state(struct radeon_device *rdev); |
775 | int kv_dpm_set_power_state(struct radeon_device *rdev); | 813 | int kv_dpm_set_power_state(struct radeon_device *rdev); |