diff options
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon_asic.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon_asic.h | 160 |
1 files changed, 140 insertions, 20 deletions
diff --git a/drivers/gpu/drm/radeon/radeon_asic.h b/drivers/gpu/drm/radeon/radeon_asic.h index a5aff755f0d2..3d7a0d7c6a9a 100644 --- a/drivers/gpu/drm/radeon/radeon_asic.h +++ b/drivers/gpu/drm/radeon/radeon_asic.h | |||
@@ -57,8 +57,6 @@ int r100_init(struct radeon_device *rdev); | |||
57 | void r100_fini(struct radeon_device *rdev); | 57 | void r100_fini(struct radeon_device *rdev); |
58 | int r100_suspend(struct radeon_device *rdev); | 58 | int r100_suspend(struct radeon_device *rdev); |
59 | int r100_resume(struct radeon_device *rdev); | 59 | int r100_resume(struct radeon_device *rdev); |
60 | uint32_t r100_mm_rreg(struct radeon_device *rdev, uint32_t reg); | ||
61 | void r100_mm_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | ||
62 | void r100_vga_set_state(struct radeon_device *rdev, bool state); | 60 | void r100_vga_set_state(struct radeon_device *rdev, bool state); |
63 | bool r100_gpu_is_lockup(struct radeon_device *rdev); | 61 | bool r100_gpu_is_lockup(struct radeon_device *rdev); |
64 | int r100_asic_reset(struct radeon_device *rdev); | 62 | int r100_asic_reset(struct radeon_device *rdev); |
@@ -102,15 +100,17 @@ int r100_pci_gart_enable(struct radeon_device *rdev); | |||
102 | void r100_pci_gart_disable(struct radeon_device *rdev); | 100 | void r100_pci_gart_disable(struct radeon_device *rdev); |
103 | int r100_debugfs_mc_info_init(struct radeon_device *rdev); | 101 | int r100_debugfs_mc_info_init(struct radeon_device *rdev); |
104 | int r100_gui_wait_for_idle(struct radeon_device *rdev); | 102 | int r100_gui_wait_for_idle(struct radeon_device *rdev); |
103 | void r100_gpu_lockup_update(struct r100_gpu_lockup *lockup, | ||
104 | struct radeon_cp *cp); | ||
105 | bool r100_gpu_cp_is_lockup(struct radeon_device *rdev, | ||
106 | struct r100_gpu_lockup *lockup, | ||
107 | struct radeon_cp *cp); | ||
105 | void r100_ib_fini(struct radeon_device *rdev); | 108 | void r100_ib_fini(struct radeon_device *rdev); |
106 | int r100_ib_init(struct radeon_device *rdev); | 109 | int r100_ib_init(struct radeon_device *rdev); |
107 | void r100_irq_disable(struct radeon_device *rdev); | 110 | void r100_irq_disable(struct radeon_device *rdev); |
108 | void r100_mc_stop(struct radeon_device *rdev, struct r100_mc_save *save); | 111 | void r100_mc_stop(struct radeon_device *rdev, struct r100_mc_save *save); |
109 | void r100_mc_resume(struct radeon_device *rdev, struct r100_mc_save *save); | 112 | void r100_mc_resume(struct radeon_device *rdev, struct r100_mc_save *save); |
110 | void r100_vram_init_sizes(struct radeon_device *rdev); | 113 | void r100_vram_init_sizes(struct radeon_device *rdev); |
111 | void r100_wb_disable(struct radeon_device *rdev); | ||
112 | void r100_wb_fini(struct radeon_device *rdev); | ||
113 | int r100_wb_init(struct radeon_device *rdev); | ||
114 | int r100_cp_reset(struct radeon_device *rdev); | 114 | int r100_cp_reset(struct radeon_device *rdev); |
115 | void r100_vga_render_disable(struct radeon_device *rdev); | 115 | void r100_vga_render_disable(struct radeon_device *rdev); |
116 | void r100_restore_sanity(struct radeon_device *rdev); | 116 | void r100_restore_sanity(struct radeon_device *rdev); |
@@ -133,15 +133,19 @@ extern void r100_pm_prepare(struct radeon_device *rdev); | |||
133 | extern void r100_pm_finish(struct radeon_device *rdev); | 133 | extern void r100_pm_finish(struct radeon_device *rdev); |
134 | extern void r100_pm_init_profile(struct radeon_device *rdev); | 134 | extern void r100_pm_init_profile(struct radeon_device *rdev); |
135 | extern void r100_pm_get_dynpm_state(struct radeon_device *rdev); | 135 | extern void r100_pm_get_dynpm_state(struct radeon_device *rdev); |
136 | extern void r100_pre_page_flip(struct radeon_device *rdev, int crtc); | ||
137 | extern u32 r100_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
138 | extern void r100_post_page_flip(struct radeon_device *rdev, int crtc); | ||
136 | 139 | ||
137 | /* | 140 | /* |
138 | * r200,rv250,rs300,rv280 | 141 | * r200,rv250,rs300,rv280 |
139 | */ | 142 | */ |
140 | extern int r200_copy_dma(struct radeon_device *rdev, | 143 | extern int r200_copy_dma(struct radeon_device *rdev, |
141 | uint64_t src_offset, | 144 | uint64_t src_offset, |
142 | uint64_t dst_offset, | 145 | uint64_t dst_offset, |
143 | unsigned num_pages, | 146 | unsigned num_pages, |
144 | struct radeon_fence *fence); | 147 | struct radeon_fence *fence); |
148 | void r200_set_safe_registers(struct radeon_device *rdev); | ||
145 | 149 | ||
146 | /* | 150 | /* |
147 | * r300,r350,rv350,rv380 | 151 | * r300,r350,rv350,rv380 |
@@ -158,10 +162,17 @@ extern void r300_fence_ring_emit(struct radeon_device *rdev, | |||
158 | extern int r300_cs_parse(struct radeon_cs_parser *p); | 162 | extern int r300_cs_parse(struct radeon_cs_parser *p); |
159 | extern void rv370_pcie_gart_tlb_flush(struct radeon_device *rdev); | 163 | extern void rv370_pcie_gart_tlb_flush(struct radeon_device *rdev); |
160 | extern int rv370_pcie_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); | 164 | extern int rv370_pcie_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); |
161 | extern uint32_t rv370_pcie_rreg(struct radeon_device *rdev, uint32_t reg); | ||
162 | extern void rv370_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | ||
163 | extern void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes); | 165 | extern void rv370_set_pcie_lanes(struct radeon_device *rdev, int lanes); |
164 | extern int rv370_get_pcie_lanes(struct radeon_device *rdev); | 166 | extern int rv370_get_pcie_lanes(struct radeon_device *rdev); |
167 | extern void r300_set_reg_safe(struct radeon_device *rdev); | ||
168 | extern void r300_mc_program(struct radeon_device *rdev); | ||
169 | extern void r300_mc_init(struct radeon_device *rdev); | ||
170 | extern void r300_clock_startup(struct radeon_device *rdev); | ||
171 | extern int r300_mc_wait_for_idle(struct radeon_device *rdev); | ||
172 | extern int rv370_pcie_gart_init(struct radeon_device *rdev); | ||
173 | extern void rv370_pcie_gart_fini(struct radeon_device *rdev); | ||
174 | extern int rv370_pcie_gart_enable(struct radeon_device *rdev); | ||
175 | extern void rv370_pcie_gart_disable(struct radeon_device *rdev); | ||
165 | 176 | ||
166 | /* | 177 | /* |
167 | * r420,r423,rv410 | 178 | * r420,r423,rv410 |
@@ -171,6 +182,10 @@ extern void r420_fini(struct radeon_device *rdev); | |||
171 | extern int r420_suspend(struct radeon_device *rdev); | 182 | extern int r420_suspend(struct radeon_device *rdev); |
172 | extern int r420_resume(struct radeon_device *rdev); | 183 | extern int r420_resume(struct radeon_device *rdev); |
173 | extern void r420_pm_init_profile(struct radeon_device *rdev); | 184 | extern void r420_pm_init_profile(struct radeon_device *rdev); |
185 | extern u32 r420_mc_rreg(struct radeon_device *rdev, u32 reg); | ||
186 | extern void r420_mc_wreg(struct radeon_device *rdev, u32 reg, u32 v); | ||
187 | extern int r420_debugfs_pipes_info_init(struct radeon_device *rdev); | ||
188 | extern void r420_pipes_init(struct radeon_device *rdev); | ||
174 | 189 | ||
175 | /* | 190 | /* |
176 | * rs400,rs480 | 191 | * rs400,rs480 |
@@ -183,6 +198,11 @@ void rs400_gart_tlb_flush(struct radeon_device *rdev); | |||
183 | int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); | 198 | int rs400_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); |
184 | uint32_t rs400_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 199 | uint32_t rs400_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
185 | void rs400_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 200 | void rs400_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
201 | int rs400_gart_init(struct radeon_device *rdev); | ||
202 | int rs400_gart_enable(struct radeon_device *rdev); | ||
203 | void rs400_gart_adjust_size(struct radeon_device *rdev); | ||
204 | void rs400_gart_disable(struct radeon_device *rdev); | ||
205 | void rs400_gart_fini(struct radeon_device *rdev); | ||
186 | 206 | ||
187 | /* | 207 | /* |
188 | * rs600. | 208 | * rs600. |
@@ -194,6 +214,7 @@ extern int rs600_suspend(struct radeon_device *rdev); | |||
194 | extern int rs600_resume(struct radeon_device *rdev); | 214 | extern int rs600_resume(struct radeon_device *rdev); |
195 | int rs600_irq_set(struct radeon_device *rdev); | 215 | int rs600_irq_set(struct radeon_device *rdev); |
196 | int rs600_irq_process(struct radeon_device *rdev); | 216 | int rs600_irq_process(struct radeon_device *rdev); |
217 | void rs600_irq_disable(struct radeon_device *rdev); | ||
197 | u32 rs600_get_vblank_counter(struct radeon_device *rdev, int crtc); | 218 | u32 rs600_get_vblank_counter(struct radeon_device *rdev, int crtc); |
198 | void rs600_gart_tlb_flush(struct radeon_device *rdev); | 219 | void rs600_gart_tlb_flush(struct radeon_device *rdev); |
199 | int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); | 220 | int rs600_gart_set_page(struct radeon_device *rdev, int i, uint64_t addr); |
@@ -208,6 +229,11 @@ void rs600_hpd_set_polarity(struct radeon_device *rdev, | |||
208 | extern void rs600_pm_misc(struct radeon_device *rdev); | 229 | extern void rs600_pm_misc(struct radeon_device *rdev); |
209 | extern void rs600_pm_prepare(struct radeon_device *rdev); | 230 | extern void rs600_pm_prepare(struct radeon_device *rdev); |
210 | extern void rs600_pm_finish(struct radeon_device *rdev); | 231 | extern void rs600_pm_finish(struct radeon_device *rdev); |
232 | extern void rs600_pre_page_flip(struct radeon_device *rdev, int crtc); | ||
233 | extern u32 rs600_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
234 | extern void rs600_post_page_flip(struct radeon_device *rdev, int crtc); | ||
235 | void rs600_set_safe_registers(struct radeon_device *rdev); | ||
236 | |||
211 | 237 | ||
212 | /* | 238 | /* |
213 | * rs690,rs740 | 239 | * rs690,rs740 |
@@ -219,20 +245,37 @@ int rs690_suspend(struct radeon_device *rdev); | |||
219 | uint32_t rs690_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 245 | uint32_t rs690_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
220 | void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 246 | void rs690_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
221 | void rs690_bandwidth_update(struct radeon_device *rdev); | 247 | void rs690_bandwidth_update(struct radeon_device *rdev); |
248 | void rs690_line_buffer_adjust(struct radeon_device *rdev, | ||
249 | struct drm_display_mode *mode1, | ||
250 | struct drm_display_mode *mode2); | ||
222 | 251 | ||
223 | /* | 252 | /* |
224 | * rv515 | 253 | * rv515 |
225 | */ | 254 | */ |
255 | struct rv515_mc_save { | ||
256 | u32 d1vga_control; | ||
257 | u32 d2vga_control; | ||
258 | u32 vga_render_control; | ||
259 | u32 vga_hdp_control; | ||
260 | u32 d1crtc_control; | ||
261 | u32 d2crtc_control; | ||
262 | }; | ||
226 | int rv515_init(struct radeon_device *rdev); | 263 | int rv515_init(struct radeon_device *rdev); |
227 | void rv515_fini(struct radeon_device *rdev); | 264 | void rv515_fini(struct radeon_device *rdev); |
228 | uint32_t rv515_mc_rreg(struct radeon_device *rdev, uint32_t reg); | 265 | uint32_t rv515_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
229 | void rv515_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | 266 | void rv515_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
230 | void rv515_ring_start(struct radeon_device *rdev); | 267 | void rv515_ring_start(struct radeon_device *rdev); |
231 | uint32_t rv515_pcie_rreg(struct radeon_device *rdev, uint32_t reg); | ||
232 | void rv515_pcie_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | ||
233 | void rv515_bandwidth_update(struct radeon_device *rdev); | 268 | void rv515_bandwidth_update(struct radeon_device *rdev); |
234 | int rv515_resume(struct radeon_device *rdev); | 269 | int rv515_resume(struct radeon_device *rdev); |
235 | int rv515_suspend(struct radeon_device *rdev); | 270 | int rv515_suspend(struct radeon_device *rdev); |
271 | void rv515_bandwidth_avivo_update(struct radeon_device *rdev); | ||
272 | void rv515_vga_render_disable(struct radeon_device *rdev); | ||
273 | void rv515_set_safe_registers(struct radeon_device *rdev); | ||
274 | void rv515_mc_stop(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
275 | void rv515_mc_resume(struct radeon_device *rdev, struct rv515_mc_save *save); | ||
276 | void rv515_clock_startup(struct radeon_device *rdev); | ||
277 | void rv515_debugfs(struct radeon_device *rdev); | ||
278 | |||
236 | 279 | ||
237 | /* | 280 | /* |
238 | * r520,rv530,rv560,rv570,r580 | 281 | * r520,rv530,rv560,rv570,r580 |
@@ -257,19 +300,13 @@ void r600_pciep_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); | |||
257 | int r600_cs_parse(struct radeon_cs_parser *p); | 300 | int r600_cs_parse(struct radeon_cs_parser *p); |
258 | void r600_fence_ring_emit(struct radeon_device *rdev, | 301 | void r600_fence_ring_emit(struct radeon_device *rdev, |
259 | struct radeon_fence *fence); | 302 | struct radeon_fence *fence); |
260 | int r600_copy_dma(struct radeon_device *rdev, | ||
261 | uint64_t src_offset, | ||
262 | uint64_t dst_offset, | ||
263 | unsigned num_pages, | ||
264 | struct radeon_fence *fence); | ||
265 | int r600_irq_process(struct radeon_device *rdev); | ||
266 | int r600_irq_set(struct radeon_device *rdev); | ||
267 | bool r600_gpu_is_lockup(struct radeon_device *rdev); | 303 | bool r600_gpu_is_lockup(struct radeon_device *rdev); |
268 | int r600_asic_reset(struct radeon_device *rdev); | 304 | int r600_asic_reset(struct radeon_device *rdev); |
269 | int r600_set_surface_reg(struct radeon_device *rdev, int reg, | 305 | int r600_set_surface_reg(struct radeon_device *rdev, int reg, |
270 | uint32_t tiling_flags, uint32_t pitch, | 306 | uint32_t tiling_flags, uint32_t pitch, |
271 | uint32_t offset, uint32_t obj_size); | 307 | uint32_t offset, uint32_t obj_size); |
272 | void r600_clear_surface_reg(struct radeon_device *rdev, int reg); | 308 | void r600_clear_surface_reg(struct radeon_device *rdev, int reg); |
309 | int r600_ib_test(struct radeon_device *rdev); | ||
273 | void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); | 310 | void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
274 | int r600_ring_test(struct radeon_device *rdev); | 311 | int r600_ring_test(struct radeon_device *rdev); |
275 | int r600_copy_blit(struct radeon_device *rdev, | 312 | int r600_copy_blit(struct radeon_device *rdev, |
@@ -286,6 +323,52 @@ extern void r600_pm_misc(struct radeon_device *rdev); | |||
286 | extern void r600_pm_init_profile(struct radeon_device *rdev); | 323 | extern void r600_pm_init_profile(struct radeon_device *rdev); |
287 | extern void rs780_pm_init_profile(struct radeon_device *rdev); | 324 | extern void rs780_pm_init_profile(struct radeon_device *rdev); |
288 | extern void r600_pm_get_dynpm_state(struct radeon_device *rdev); | 325 | extern void r600_pm_get_dynpm_state(struct radeon_device *rdev); |
326 | extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes); | ||
327 | extern int r600_get_pcie_lanes(struct radeon_device *rdev); | ||
328 | bool r600_card_posted(struct radeon_device *rdev); | ||
329 | void r600_cp_stop(struct radeon_device *rdev); | ||
330 | int r600_cp_start(struct radeon_device *rdev); | ||
331 | void r600_ring_init(struct radeon_device *rdev, unsigned ring_size); | ||
332 | int r600_cp_resume(struct radeon_device *rdev); | ||
333 | void r600_cp_fini(struct radeon_device *rdev); | ||
334 | int r600_count_pipe_bits(uint32_t val); | ||
335 | int r600_mc_wait_for_idle(struct radeon_device *rdev); | ||
336 | int r600_pcie_gart_init(struct radeon_device *rdev); | ||
337 | void r600_scratch_init(struct radeon_device *rdev); | ||
338 | int r600_blit_init(struct radeon_device *rdev); | ||
339 | void r600_blit_fini(struct radeon_device *rdev); | ||
340 | int r600_init_microcode(struct radeon_device *rdev); | ||
341 | /* r600 irq */ | ||
342 | int r600_irq_process(struct radeon_device *rdev); | ||
343 | int r600_irq_init(struct radeon_device *rdev); | ||
344 | void r600_irq_fini(struct radeon_device *rdev); | ||
345 | void r600_ih_ring_init(struct radeon_device *rdev, unsigned ring_size); | ||
346 | int r600_irq_set(struct radeon_device *rdev); | ||
347 | void r600_irq_suspend(struct radeon_device *rdev); | ||
348 | void r600_disable_interrupts(struct radeon_device *rdev); | ||
349 | void r600_rlc_stop(struct radeon_device *rdev); | ||
350 | /* r600 audio */ | ||
351 | int r600_audio_init(struct radeon_device *rdev); | ||
352 | int r600_audio_tmds_index(struct drm_encoder *encoder); | ||
353 | void r600_audio_set_clock(struct drm_encoder *encoder, int clock); | ||
354 | int r600_audio_channels(struct radeon_device *rdev); | ||
355 | int r600_audio_bits_per_sample(struct radeon_device *rdev); | ||
356 | int r600_audio_rate(struct radeon_device *rdev); | ||
357 | uint8_t r600_audio_status_bits(struct radeon_device *rdev); | ||
358 | uint8_t r600_audio_category_code(struct radeon_device *rdev); | ||
359 | void r600_audio_schedule_polling(struct radeon_device *rdev); | ||
360 | void r600_audio_enable_polling(struct drm_encoder *encoder); | ||
361 | void r600_audio_disable_polling(struct drm_encoder *encoder); | ||
362 | void r600_audio_fini(struct radeon_device *rdev); | ||
363 | void r600_hdmi_init(struct drm_encoder *encoder); | ||
364 | int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder); | ||
365 | void r600_hdmi_update_audio_settings(struct drm_encoder *encoder); | ||
366 | /* r600 blit */ | ||
367 | int r600_blit_prepare_copy(struct radeon_device *rdev, int size_bytes); | ||
368 | void r600_blit_done_copy(struct radeon_device *rdev, struct radeon_fence *fence); | ||
369 | void r600_kms_blit_copy(struct radeon_device *rdev, | ||
370 | u64 src_gpu_addr, u64 dst_gpu_addr, | ||
371 | int size_bytes); | ||
289 | 372 | ||
290 | /* | 373 | /* |
291 | * rv770,rv730,rv710,rv740 | 374 | * rv770,rv730,rv710,rv740 |
@@ -294,11 +377,21 @@ int rv770_init(struct radeon_device *rdev); | |||
294 | void rv770_fini(struct radeon_device *rdev); | 377 | void rv770_fini(struct radeon_device *rdev); |
295 | int rv770_suspend(struct radeon_device *rdev); | 378 | int rv770_suspend(struct radeon_device *rdev); |
296 | int rv770_resume(struct radeon_device *rdev); | 379 | int rv770_resume(struct radeon_device *rdev); |
297 | extern void rv770_pm_misc(struct radeon_device *rdev); | 380 | void rv770_pm_misc(struct radeon_device *rdev); |
381 | u32 rv770_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
382 | void r700_vram_gtt_location(struct radeon_device *rdev, struct radeon_mc *mc); | ||
383 | void r700_cp_stop(struct radeon_device *rdev); | ||
384 | void r700_cp_fini(struct radeon_device *rdev); | ||
298 | 385 | ||
299 | /* | 386 | /* |
300 | * evergreen | 387 | * evergreen |
301 | */ | 388 | */ |
389 | struct evergreen_mc_save { | ||
390 | u32 vga_control[6]; | ||
391 | u32 vga_render_control; | ||
392 | u32 vga_hdp_control; | ||
393 | u32 crtc_control[6]; | ||
394 | }; | ||
302 | void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); | 395 | void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); |
303 | int evergreen_init(struct radeon_device *rdev); | 396 | int evergreen_init(struct radeon_device *rdev); |
304 | void evergreen_fini(struct radeon_device *rdev); | 397 | void evergreen_fini(struct radeon_device *rdev); |
@@ -307,6 +400,10 @@ int evergreen_resume(struct radeon_device *rdev); | |||
307 | bool evergreen_gpu_is_lockup(struct radeon_device *rdev); | 400 | bool evergreen_gpu_is_lockup(struct radeon_device *rdev); |
308 | int evergreen_asic_reset(struct radeon_device *rdev); | 401 | int evergreen_asic_reset(struct radeon_device *rdev); |
309 | void evergreen_bandwidth_update(struct radeon_device *rdev); | 402 | void evergreen_bandwidth_update(struct radeon_device *rdev); |
403 | void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); | ||
404 | int evergreen_copy_blit(struct radeon_device *rdev, | ||
405 | uint64_t src_offset, uint64_t dst_offset, | ||
406 | unsigned num_pages, struct radeon_fence *fence); | ||
310 | void evergreen_hpd_init(struct radeon_device *rdev); | 407 | void evergreen_hpd_init(struct radeon_device *rdev); |
311 | void evergreen_hpd_fini(struct radeon_device *rdev); | 408 | void evergreen_hpd_fini(struct radeon_device *rdev); |
312 | bool evergreen_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd); | 409 | bool evergreen_hpd_sense(struct radeon_device *rdev, enum radeon_hpd_id hpd); |
@@ -319,5 +416,28 @@ extern int evergreen_cs_parse(struct radeon_cs_parser *p); | |||
319 | extern void evergreen_pm_misc(struct radeon_device *rdev); | 416 | extern void evergreen_pm_misc(struct radeon_device *rdev); |
320 | extern void evergreen_pm_prepare(struct radeon_device *rdev); | 417 | extern void evergreen_pm_prepare(struct radeon_device *rdev); |
321 | extern void evergreen_pm_finish(struct radeon_device *rdev); | 418 | extern void evergreen_pm_finish(struct radeon_device *rdev); |
419 | extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc); | ||
420 | extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); | ||
421 | extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc); | ||
422 | void evergreen_disable_interrupt_state(struct radeon_device *rdev); | ||
423 | int evergreen_blit_init(struct radeon_device *rdev); | ||
424 | void evergreen_blit_fini(struct radeon_device *rdev); | ||
425 | /* evergreen blit */ | ||
426 | int evergreen_blit_prepare_copy(struct radeon_device *rdev, int size_bytes); | ||
427 | void evergreen_blit_done_copy(struct radeon_device *rdev, struct radeon_fence *fence); | ||
428 | void evergreen_kms_blit_copy(struct radeon_device *rdev, | ||
429 | u64 src_gpu_addr, u64 dst_gpu_addr, | ||
430 | int size_bytes); | ||
431 | |||
432 | /* | ||
433 | * cayman | ||
434 | */ | ||
435 | void cayman_pcie_gart_tlb_flush(struct radeon_device *rdev); | ||
436 | int cayman_init(struct radeon_device *rdev); | ||
437 | void cayman_fini(struct radeon_device *rdev); | ||
438 | int cayman_suspend(struct radeon_device *rdev); | ||
439 | int cayman_resume(struct radeon_device *rdev); | ||
440 | bool cayman_gpu_is_lockup(struct radeon_device *rdev); | ||
441 | int cayman_asic_reset(struct radeon_device *rdev); | ||
322 | 442 | ||
323 | #endif | 443 | #endif |