radeon: consolidate asic-specific function decls for r600 & later
Now all the asic specific stuff ist mostly hid in radeon_asic.* Reviewed-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
31c3603d83
commit
3574dda485
4 changed files with 58 additions and 63 deletions
|
@ -26,6 +26,7 @@
|
|||
#include "drmP.h"
|
||||
#include "radeon.h"
|
||||
#include "radeon_reg.h"
|
||||
#include "radeon_asic.h"
|
||||
#include "atom.h"
|
||||
|
||||
#define AUDIO_TIMER_INTERVALL 100 /* 1/10 sekund should be enough */
|
||||
|
|
|
@ -26,6 +26,7 @@
|
|||
#include "drmP.h"
|
||||
#include "radeon_drm.h"
|
||||
#include "radeon.h"
|
||||
#include "radeon_asic.h"
|
||||
#include "atom.h"
|
||||
|
||||
/*
|
||||
|
|
|
@ -1459,59 +1459,12 @@ extern void radeon_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc
|
|||
extern int radeon_resume_kms(struct drm_device *dev);
|
||||
extern int radeon_suspend_kms(struct drm_device *dev, pm_message_t state);
|
||||
|
||||
/* r600, rv610, rv630, rv620, rv635, rv670, rs780, rs880 */
|
||||
extern bool r600_card_posted(struct radeon_device *rdev);
|
||||
extern void r600_cp_stop(struct radeon_device *rdev);
|
||||
extern int r600_cp_start(struct radeon_device *rdev);
|
||||
extern void r600_ring_init(struct radeon_device *rdev, unsigned ring_size);
|
||||
extern int r600_cp_resume(struct radeon_device *rdev);
|
||||
extern void r600_cp_fini(struct radeon_device *rdev);
|
||||
extern int r600_count_pipe_bits(uint32_t val);
|
||||
extern int r600_mc_wait_for_idle(struct radeon_device *rdev);
|
||||
extern int r600_pcie_gart_init(struct radeon_device *rdev);
|
||||
extern void r600_pcie_gart_tlb_flush(struct radeon_device *rdev);
|
||||
extern int r600_ib_test(struct radeon_device *rdev);
|
||||
extern int r600_ring_test(struct radeon_device *rdev);
|
||||
extern void r600_scratch_init(struct radeon_device *rdev);
|
||||
extern int r600_blit_init(struct radeon_device *rdev);
|
||||
extern void r600_blit_fini(struct radeon_device *rdev);
|
||||
extern int r600_init_microcode(struct radeon_device *rdev);
|
||||
extern int r600_asic_reset(struct radeon_device *rdev);
|
||||
/* r600 irq */
|
||||
extern int r600_irq_init(struct radeon_device *rdev);
|
||||
extern void r600_irq_fini(struct radeon_device *rdev);
|
||||
extern void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size);
|
||||
extern int r600_irq_set(struct radeon_device *rdev);
|
||||
extern void r600_irq_suspend(struct radeon_device *rdev);
|
||||
extern void r600_disable_interrupts(struct radeon_device *rdev);
|
||||
extern void r600_rlc_stop(struct radeon_device *rdev);
|
||||
/* r600 audio */
|
||||
extern int r600_audio_init(struct radeon_device *rdev);
|
||||
extern int r600_audio_tmds_index(struct drm_encoder *encoder);
|
||||
extern void r600_audio_set_clock(struct drm_encoder *encoder, int clock);
|
||||
extern int r600_audio_channels(struct radeon_device *rdev);
|
||||
extern int r600_audio_bits_per_sample(struct radeon_device *rdev);
|
||||
extern int r600_audio_rate(struct radeon_device *rdev);
|
||||
extern uint8_t r600_audio_status_bits(struct radeon_device *rdev);
|
||||
extern uint8_t r600_audio_category_code(struct radeon_device *rdev);
|
||||
extern void r600_audio_schedule_polling(struct radeon_device *rdev);
|
||||
extern void r600_audio_enable_polling(struct drm_encoder *encoder);
|
||||
extern void r600_audio_disable_polling(struct drm_encoder *encoder);
|
||||
extern void r600_audio_fini(struct radeon_device *rdev);
|
||||
extern void r600_hdmi_init(struct drm_encoder *encoder);
|
||||
/*
|
||||
* r600 functions used by radeon_encoder.c
|
||||
*/
|
||||
extern void r600_hdmi_enable(struct drm_encoder *encoder);
|
||||
extern void r600_hdmi_disable(struct drm_encoder *encoder);
|
||||
extern void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mode);
|
||||
extern int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder);
|
||||
extern void r600_hdmi_update_audio_settings(struct drm_encoder *encoder);
|
||||
|
||||
extern void r700_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc);
|
||||
extern void r700_cp_stop(struct radeon_device *rdev);
|
||||
extern void r700_cp_fini(struct radeon_device *rdev);
|
||||
extern void evergreen_disable_interrupt_state(struct radeon_device *rdev);
|
||||
extern int evergreen_irq_set(struct radeon_device *rdev);
|
||||
extern int evergreen_blit_init(struct radeon_device *rdev);
|
||||
extern void evergreen_blit_fini(struct radeon_device *rdev);
|
||||
|
||||
extern int ni_init_microcode(struct radeon_device *rdev);
|
||||
extern int btc_mc_load_microcode(struct radeon_device *rdev);
|
||||
|
@ -1523,14 +1476,6 @@ extern int radeon_acpi_init(struct radeon_device *rdev);
|
|||
static inline int radeon_acpi_init(struct radeon_device *rdev) { return 0; }
|
||||
#endif
|
||||
|
||||
/* evergreen */
|
||||
struct evergreen_mc_save {
|
||||
u32 vga_control[6];
|
||||
u32 vga_render_control;
|
||||
u32 vga_hdp_control;
|
||||
u32 crtc_control[6];
|
||||
};
|
||||
|
||||
#include "radeon_object.h"
|
||||
|
||||
#endif
|
||||
|
|
|
@ -208,7 +208,6 @@ void rs400_gart_adjust_size(struct radeon_device *rdev);
|
|||
void rs400_gart_disable(struct radeon_device *rdev);
|
||||
void rs400_gart_fini(struct radeon_device *rdev);
|
||||
|
||||
|
||||
/*
|
||||
* rs600.
|
||||
*/
|
||||
|
@ -307,14 +306,13 @@ void r600_pciep_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
|
|||
int r600_cs_parse(struct radeon_cs_parser *p);
|
||||
void r600_fence_ring_emit(struct radeon_device *rdev,
|
||||
struct radeon_fence *fence);
|
||||
int r600_irq_process(struct radeon_device *rdev);
|
||||
int r600_irq_set(struct radeon_device *rdev);
|
||||
bool r600_gpu_is_lockup(struct radeon_device *rdev);
|
||||
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);
|
||||
void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
|
||||
int r600_ring_test(struct radeon_device *rdev);
|
||||
int r600_copy_blit(struct radeon_device *rdev,
|
||||
|
@ -333,6 +331,44 @@ extern void rs780_pm_init_profile(struct radeon_device *rdev);
|
|||
extern void r600_pm_get_dynpm_state(struct radeon_device *rdev);
|
||||
extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes);
|
||||
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);
|
||||
int r600_cp_resume(struct radeon_device *rdev);
|
||||
void r600_cp_fini(struct radeon_device *rdev);
|
||||
int r600_count_pipe_bits(uint32_t val);
|
||||
int r600_mc_wait_for_idle(struct radeon_device *rdev);
|
||||
int r600_pcie_gart_init(struct radeon_device *rdev);
|
||||
void r600_scratch_init(struct radeon_device *rdev);
|
||||
int r600_blit_init(struct radeon_device *rdev);
|
||||
void r600_blit_fini(struct radeon_device *rdev);
|
||||
int r600_init_microcode(struct radeon_device *rdev);
|
||||
/* r600 irq */
|
||||
int r600_irq_process(struct radeon_device *rdev);
|
||||
int r600_irq_init(struct radeon_device *rdev);
|
||||
void r600_irq_fini(struct radeon_device *rdev);
|
||||
void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size);
|
||||
int r600_irq_set(struct radeon_device *rdev);
|
||||
void r600_irq_suspend(struct radeon_device *rdev);
|
||||
void r600_disable_interrupts(struct radeon_device *rdev);
|
||||
void r600_rlc_stop(struct radeon_device *rdev);
|
||||
/* r600 audio */
|
||||
int r600_audio_init(struct radeon_device *rdev);
|
||||
int r600_audio_tmds_index(struct drm_encoder *encoder);
|
||||
void r600_audio_set_clock(struct drm_encoder *encoder, int clock);
|
||||
int r600_audio_channels(struct radeon_device *rdev);
|
||||
int r600_audio_bits_per_sample(struct radeon_device *rdev);
|
||||
int r600_audio_rate(struct radeon_device *rdev);
|
||||
uint8_t r600_audio_status_bits(struct radeon_device *rdev);
|
||||
uint8_t r600_audio_category_code(struct radeon_device *rdev);
|
||||
void r600_audio_schedule_polling(struct radeon_device *rdev);
|
||||
void r600_audio_enable_polling(struct drm_encoder *encoder);
|
||||
void r600_audio_disable_polling(struct drm_encoder *encoder);
|
||||
void r600_audio_fini(struct radeon_device *rdev);
|
||||
void r600_hdmi_init(struct drm_encoder *encoder);
|
||||
int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder);
|
||||
void r600_hdmi_update_audio_settings(struct drm_encoder *encoder);
|
||||
|
||||
/*
|
||||
* rv770,rv730,rv710,rv740
|
||||
|
@ -341,12 +377,21 @@ int rv770_init(struct radeon_device *rdev);
|
|||
void rv770_fini(struct radeon_device *rdev);
|
||||
int rv770_suspend(struct radeon_device *rdev);
|
||||
int rv770_resume(struct radeon_device *rdev);
|
||||
extern void rv770_pm_misc(struct radeon_device *rdev);
|
||||
extern u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
|
||||
void rv770_pm_misc(struct radeon_device *rdev);
|
||||
u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
|
||||
void r700_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc);
|
||||
void r700_cp_stop(struct radeon_device *rdev);
|
||||
void r700_cp_fini(struct radeon_device *rdev);
|
||||
|
||||
/*
|
||||
* evergreen
|
||||
*/
|
||||
struct evergreen_mc_save {
|
||||
u32 vga_control[6];
|
||||
u32 vga_render_control;
|
||||
u32 vga_hdp_control;
|
||||
u32 crtc_control[6];
|
||||
};
|
||||
void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev);
|
||||
int evergreen_init(struct radeon_device *rdev);
|
||||
void evergreen_fini(struct radeon_device *rdev);
|
||||
|
@ -374,5 +419,8 @@ extern void evergreen_pm_finish(struct radeon_device *rdev);
|
|||
extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc);
|
||||
extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
|
||||
extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc);
|
||||
void evergreen_disable_interrupt_state(struct radeon_device *rdev);
|
||||
int evergreen_blit_init(struct radeon_device *rdev);
|
||||
void evergreen_blit_fini(struct radeon_device *rdev);
|
||||
|
||||
#endif
|
||||
|
|
Reference in a new issue