aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/gpu/drm/radeon/radeon_asic.h
diff options
context:
space:
mode:
authorDaniel Vetter <daniel.vetter@ffwll.ch>2011-02-18 11:59:19 -0500
committerDave Airlie <airlied@redhat.com>2011-02-22 19:35:20 -0500
commit3574dda4851d2058841ae9e6b583e54cf52c71fa (patch)
treef94c760cda00223ace0ae45a2c8225b6eecbc79c /drivers/gpu/drm/radeon/radeon_asic.h
parent31c3603d83a774df4acdfe3a89ce64719d0db0d8 (diff)
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>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r--drivers/gpu/drm/radeon/radeon_asic.h58
1 files changed, 53 insertions, 5 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h
index c59bd98a2029..24c4772ab988 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);
208void rs400_gart_disable(struct radeon_device *rdev); 208void rs400_gart_disable(struct radeon_device *rdev);
209void rs400_gart_fini(struct radeon_device *rdev); 209void rs400_gart_fini(struct radeon_device *rdev);
210 210
211
212/* 211/*
213 * rs600. 212 * rs600.
214 */ 213 */
@@ -307,14 +306,13 @@ void r600_pciep_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v);
307int r600_cs_parse(struct radeon_cs_parser *p); 306int r600_cs_parse(struct radeon_cs_parser *p);
308void r600_fence_ring_emit(struct radeon_device *rdev, 307void r600_fence_ring_emit(struct radeon_device *rdev,
309 struct radeon_fence *fence); 308 struct radeon_fence *fence);
310int r600_irq_process(struct radeon_device *rdev);
311int r600_irq_set(struct radeon_device *rdev);
312bool r600_gpu_is_lockup(struct radeon_device *rdev); 309bool r600_gpu_is_lockup(struct radeon_device *rdev);
313int r600_asic_reset(struct radeon_device *rdev); 310int r600_asic_reset(struct radeon_device *rdev);
314int r600_set_surface_reg(struct radeon_device *rdev, int reg, 311int r600_set_surface_reg(struct radeon_device *rdev, int reg,
315 uint32_t tiling_flags, uint32_t pitch, 312 uint32_t tiling_flags, uint32_t pitch,
316 uint32_t offset, uint32_t obj_size); 313 uint32_t offset, uint32_t obj_size);
317void r600_clear_surface_reg(struct radeon_device *rdev, int reg); 314void r600_clear_surface_reg(struct radeon_device *rdev, int reg);
315int r600_ib_test(struct radeon_device *rdev);
318void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); 316void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib);
319int r600_ring_test(struct radeon_device *rdev); 317int r600_ring_test(struct radeon_device *rdev);
320int r600_copy_blit(struct radeon_device *rdev, 318int r600_copy_blit(struct radeon_device *rdev,
@@ -333,6 +331,44 @@ extern void rs780_pm_init_profile(struct radeon_device *rdev);
333extern void r600_pm_get_dynpm_state(struct radeon_device *rdev); 331extern void r600_pm_get_dynpm_state(struct radeon_device *rdev);
334extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes); 332extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes);
335extern int r600_get_pcie_lanes(struct radeon_device *rdev); 333extern int r600_get_pcie_lanes(struct radeon_device *rdev);
334bool r600_card_posted(struct radeon_device *rdev);
335void r600_cp_stop(struct radeon_device *rdev);
336int r600_cp_start(struct radeon_device *rdev);
337void r600_ring_init(struct radeon_device *rdev, unsigned ring_size);
338int r600_cp_resume(struct radeon_device *rdev);
339void r600_cp_fini(struct radeon_device *rdev);
340int r600_count_pipe_bits(uint32_t val);
341int r600_mc_wait_for_idle(struct radeon_device *rdev);
342int r600_pcie_gart_init(struct radeon_device *rdev);
343void r600_scratch_init(struct radeon_device *rdev);
344int r600_blit_init(struct radeon_device *rdev);
345void r600_blit_fini(struct radeon_device *rdev);
346int r600_init_microcode(struct radeon_device *rdev);
347/* r600 irq */
348int r600_irq_process(struct radeon_device *rdev);
349int r600_irq_init(struct radeon_device *rdev);
350void r600_irq_fini(struct radeon_device *rdev);
351void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size);
352int r600_irq_set(struct radeon_device *rdev);
353void r600_irq_suspend(struct radeon_device *rdev);
354void r600_disable_interrupts(struct radeon_device *rdev);
355void r600_rlc_stop(struct radeon_device *rdev);
356/* r600 audio */
357int r600_audio_init(struct radeon_device *rdev);
358int r600_audio_tmds_index(struct drm_encoder *encoder);
359void r600_audio_set_clock(struct drm_encoder *encoder, int clock);
360int r600_audio_channels(struct radeon_device *rdev);
361int r600_audio_bits_per_sample(struct radeon_device *rdev);
362int r600_audio_rate(struct radeon_device *rdev);
363uint8_t r600_audio_status_bits(struct radeon_device *rdev);
364uint8_t r600_audio_category_code(struct radeon_device *rdev);
365void r600_audio_schedule_polling(struct radeon_device *rdev);
366void r600_audio_enable_polling(struct drm_encoder *encoder);
367void r600_audio_disable_polling(struct drm_encoder *encoder);
368void r600_audio_fini(struct radeon_device *rdev);
369void r600_hdmi_init(struct drm_encoder *encoder);
370int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder);
371void r600_hdmi_update_audio_settings(struct drm_encoder *encoder);
336 372
337/* 373/*
338 * rv770,rv730,rv710,rv740 374 * rv770,rv730,rv710,rv740
@@ -341,12 +377,21 @@ int rv770_init(struct radeon_device *rdev);
341void rv770_fini(struct radeon_device *rdev); 377void rv770_fini(struct radeon_device *rdev);
342int rv770_suspend(struct radeon_device *rdev); 378int rv770_suspend(struct radeon_device *rdev);
343int rv770_resume(struct radeon_device *rdev); 379int rv770_resume(struct radeon_device *rdev);
344extern void rv770_pm_misc(struct radeon_device *rdev); 380void rv770_pm_misc(struct radeon_device *rdev);
345extern u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); 381u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
382void r700_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc);
383void r700_cp_stop(struct radeon_device *rdev);
384void r700_cp_fini(struct radeon_device *rdev);
346 385
347/* 386/*
348 * evergreen 387 * evergreen
349 */ 388 */
389struct evergreen_mc_save {
390 u32 vga_control[6];
391 u32 vga_render_control;
392 u32 vga_hdp_control;
393 u32 crtc_control[6];
394};
350void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); 395void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev);
351int evergreen_init(struct radeon_device *rdev); 396int evergreen_init(struct radeon_device *rdev);
352void evergreen_fini(struct radeon_device *rdev); 397void evergreen_fini(struct radeon_device *rdev);
@@ -374,5 +419,8 @@ extern void evergreen_pm_finish(struct radeon_device *rdev);
374extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc); 419extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc);
375extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); 420extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base);
376extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc); 421extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc);
422void evergreen_disable_interrupt_state(struct radeon_device *rdev);
423int evergreen_blit_init(struct radeon_device *rdev);
424void evergreen_blit_fini(struct radeon_device *rdev);
377 425
378#endif 426#endif