On Sun, Nov 28, 2010 at 1:06 PM, Daniel Vetter <daniel.vetter@xxxxxxxx> wrote: > Now all the asic specific stuff ist mostly hid in radeon_asic.* > > Signed-off-by: Daniel Vetter <daniel.vetter@xxxxxxxx> Reviewed-by: Alex Deucher <alexdeucher@xxxxxxxxx> > --- > drivers/gpu/drm/radeon/r600_audio.c | 1 + > drivers/gpu/drm/radeon/r600_hdmi.c | 1 + > drivers/gpu/drm/radeon/radeon.h | 61 ++-------------------------------- > drivers/gpu/drm/radeon/radeon_asic.h | 58 +++++++++++++++++++++++++++++--- > 4 files changed, 58 insertions(+), 63 deletions(-) > > diff --git a/drivers/gpu/drm/radeon/r600_audio.c b/drivers/gpu/drm/radeon/r600_audio.c > index b5443fe..846fae5 100644 > --- a/drivers/gpu/drm/radeon/r600_audio.c > +++ b/drivers/gpu/drm/radeon/r600_audio.c > @@ -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 */ > diff --git a/drivers/gpu/drm/radeon/r600_hdmi.c b/drivers/gpu/drm/radeon/r600_hdmi.c > index e6a58ed..50db6d6 100644 > --- a/drivers/gpu/drm/radeon/r600_hdmi.c > +++ b/drivers/gpu/drm/radeon/r600_hdmi.c > @@ -26,6 +26,7 @@ > #include "drmP.h" > #include "radeon_drm.h" > #include "radeon.h" > +#include "radeon_asic.h" > #include "atom.h" > > /* > diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h > index 75b9585..2257a01 100644 > --- a/drivers/gpu/drm/radeon/radeon.h > +++ b/drivers/gpu/drm/radeon/radeon.h > @@ -1433,59 +1433,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); > > /* radeon_acpi.c */ > #if defined(CONFIG_ACPI) > @@ -1494,14 +1447,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 > diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h > index a5fddcd..979a11e 100644 > --- a/drivers/gpu/drm/radeon/radeon_asic.h > +++ b/drivers/gpu/drm/radeon/radeon_asic.h > @@ -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, > @@ -331,6 +329,44 @@ extern void r600_pm_misc(struct radeon_device *rdev); > extern void r600_pm_init_profile(struct radeon_device *rdev); > extern void rs780_pm_init_profile(struct radeon_device *rdev); > extern void r600_pm_get_dynpm_state(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 > @@ -339,12 +375,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); > @@ -371,5 +416,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 > -- > 1.7.1 > > _______________________________________________ > dri-devel mailing list > dri-devel@xxxxxxxxxxxxxxxxxxxxx > http://lists.freedesktop.org/mailman/listinfo/dri-devel > _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel