On Sun, Nov 28, 2010 at 1:06 PM, Daniel Vetter <daniel.vetter at ffwll.ch> wrote: > Now all the asic specific stuff ist mostly hid in radeon_asic.* > > Signed-off-by: Daniel Vetter <daniel.vetter at ffwll.ch>
Reviewed-by: Alex Deucher <alexdeucher at gmail.com> > --- > ?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 at lists.freedesktop.org > http://lists.freedesktop.org/mailman/listinfo/dri-devel >