Rev 3192 | Rev 5078 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3192 | Rev 3764 | ||
---|---|---|---|
Line 317... | Line 317... | ||
317 | struct radeon_ring *ring, |
317 | struct radeon_ring *ring, |
318 | struct radeon_semaphore *semaphore, |
318 | struct radeon_semaphore *semaphore, |
319 | bool emit_wait); |
319 | bool emit_wait); |
320 | void r600_dma_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
320 | void r600_dma_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
321 | bool r600_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
321 | bool r600_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
322 | bool r600_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
322 | bool r600_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
323 | int r600_asic_reset(struct radeon_device *rdev); |
323 | int r600_asic_reset(struct radeon_device *rdev); |
324 | int r600_set_surface_reg(struct radeon_device *rdev, int reg, |
324 | int r600_set_surface_reg(struct radeon_device *rdev, int reg, |
325 | uint32_t tiling_flags, uint32_t pitch, |
325 | uint32_t tiling_flags, uint32_t pitch, |
326 | uint32_t offset, uint32_t obj_size); |
326 | uint32_t offset, uint32_t obj_size); |
327 | void r600_clear_surface_reg(struct radeon_device *rdev, int reg); |
327 | void r600_clear_surface_reg(struct radeon_device *rdev, int reg); |
328 | int r600_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); |
328 | int r600_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); |
329 | int r600_dma_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); |
329 | int r600_dma_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); |
330 | void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
330 | void r600_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
331 | int r600_ring_test(struct radeon_device *rdev, struct radeon_ring *cp); |
331 | int r600_ring_test(struct radeon_device *rdev, struct radeon_ring *cp); |
332 | int r600_dma_ring_test(struct radeon_device *rdev, struct radeon_ring *cp); |
332 | int r600_dma_ring_test(struct radeon_device *rdev, struct radeon_ring *cp); |
- | 333 | int r600_uvd_ring_test(struct radeon_device *rdev, struct radeon_ring *ring); |
|
333 | int r600_copy_blit(struct radeon_device *rdev, |
334 | int r600_copy_blit(struct radeon_device *rdev, |
334 | uint64_t src_offset, uint64_t dst_offset, |
335 | uint64_t src_offset, uint64_t dst_offset, |
335 | unsigned num_gpu_pages, struct radeon_fence **fence); |
336 | unsigned num_gpu_pages, struct radeon_fence **fence); |
336 | int r600_copy_dma(struct radeon_device *rdev, |
337 | int r600_copy_dma(struct radeon_device *rdev, |
337 | uint64_t src_offset, uint64_t dst_offset, |
338 | uint64_t src_offset, uint64_t dst_offset, |
Line 344... | Line 345... | ||
344 | extern void r600_ioctl_wait_idle(struct radeon_device *rdev, struct radeon_bo *bo); |
345 | extern void r600_ioctl_wait_idle(struct radeon_device *rdev, struct radeon_bo *bo); |
345 | extern bool r600_gui_idle(struct radeon_device *rdev); |
346 | extern bool r600_gui_idle(struct radeon_device *rdev); |
346 | extern void r600_pm_misc(struct radeon_device *rdev); |
347 | extern void r600_pm_misc(struct radeon_device *rdev); |
347 | extern void r600_pm_init_profile(struct radeon_device *rdev); |
348 | extern void r600_pm_init_profile(struct radeon_device *rdev); |
348 | extern void rs780_pm_init_profile(struct radeon_device *rdev); |
349 | extern void rs780_pm_init_profile(struct radeon_device *rdev); |
- | 350 | extern uint32_t rs780_mc_rreg(struct radeon_device *rdev, uint32_t reg); |
|
- | 351 | extern void rs780_mc_wreg(struct radeon_device *rdev, uint32_t reg, uint32_t v); |
|
349 | extern void r600_pm_get_dynpm_state(struct radeon_device *rdev); |
352 | extern void r600_pm_get_dynpm_state(struct radeon_device *rdev); |
350 | extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes); |
353 | extern void r600_set_pcie_lanes(struct radeon_device *rdev, int lanes); |
351 | extern int r600_get_pcie_lanes(struct radeon_device *rdev); |
354 | extern int r600_get_pcie_lanes(struct radeon_device *rdev); |
352 | bool r600_card_posted(struct radeon_device *rdev); |
355 | bool r600_card_posted(struct radeon_device *rdev); |
353 | void r600_cp_stop(struct radeon_device *rdev); |
356 | void r600_cp_stop(struct radeon_device *rdev); |
Line 371... | Line 374... | ||
371 | void r600_irq_suspend(struct radeon_device *rdev); |
374 | void r600_irq_suspend(struct radeon_device *rdev); |
372 | void r600_disable_interrupts(struct radeon_device *rdev); |
375 | void r600_disable_interrupts(struct radeon_device *rdev); |
373 | void r600_rlc_stop(struct radeon_device *rdev); |
376 | void r600_rlc_stop(struct radeon_device *rdev); |
374 | /* r600 audio */ |
377 | /* r600 audio */ |
375 | int r600_audio_init(struct radeon_device *rdev); |
378 | int r600_audio_init(struct radeon_device *rdev); |
376 | void r600_audio_set_clock(struct drm_encoder *encoder, int clock); |
- | |
377 | struct r600_audio r600_audio_status(struct radeon_device *rdev); |
379 | struct r600_audio r600_audio_status(struct radeon_device *rdev); |
378 | void r600_audio_fini(struct radeon_device *rdev); |
380 | void r600_audio_fini(struct radeon_device *rdev); |
379 | int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder); |
381 | int r600_hdmi_buffer_status_changed(struct drm_encoder *encoder); |
380 | void r600_hdmi_update_audio_settings(struct drm_encoder *encoder); |
382 | void r600_hdmi_update_audio_settings(struct drm_encoder *encoder); |
- | 383 | void r600_hdmi_enable(struct drm_encoder *encoder, bool enable); |
|
- | 384 | void r600_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mode); |
|
381 | /* r600 blit */ |
385 | /* r600 blit */ |
382 | int r600_blit_prepare_copy(struct radeon_device *rdev, unsigned num_gpu_pages, |
386 | int r600_blit_prepare_copy(struct radeon_device *rdev, unsigned num_gpu_pages, |
383 | struct radeon_fence **fence, struct radeon_sa_bo **vb, |
387 | struct radeon_fence **fence, struct radeon_sa_bo **vb, |
384 | struct radeon_semaphore **sem); |
388 | struct radeon_semaphore **sem); |
385 | void r600_blit_done_copy(struct radeon_device *rdev, struct radeon_fence **fence, |
389 | void r600_blit_done_copy(struct radeon_device *rdev, struct radeon_fence **fence, |
Line 387... | Line 391... | ||
387 | void r600_kms_blit_copy(struct radeon_device *rdev, |
391 | void r600_kms_blit_copy(struct radeon_device *rdev, |
388 | u64 src_gpu_addr, u64 dst_gpu_addr, |
392 | u64 src_gpu_addr, u64 dst_gpu_addr, |
389 | unsigned num_gpu_pages, |
393 | unsigned num_gpu_pages, |
390 | struct radeon_sa_bo *vb); |
394 | struct radeon_sa_bo *vb); |
391 | int r600_mc_wait_for_idle(struct radeon_device *rdev); |
395 | int r600_mc_wait_for_idle(struct radeon_device *rdev); |
- | 396 | u32 r600_get_xclk(struct radeon_device *rdev); |
|
392 | uint64_t r600_get_gpu_clock(struct radeon_device *rdev); |
397 | uint64_t r600_get_gpu_clock_counter(struct radeon_device *rdev); |
- | 398 | ||
- | 399 | /* uvd */ |
|
- | 400 | int r600_uvd_init(struct radeon_device *rdev); |
|
- | 401 | int r600_uvd_rbc_start(struct radeon_device *rdev); |
|
- | 402 | void r600_uvd_rbc_stop(struct radeon_device *rdev); |
|
- | 403 | int r600_uvd_ib_test(struct radeon_device *rdev, struct radeon_ring *ring); |
|
- | 404 | void r600_uvd_fence_emit(struct radeon_device *rdev, |
|
- | 405 | struct radeon_fence *fence); |
|
- | 406 | void r600_uvd_semaphore_emit(struct radeon_device *rdev, |
|
- | 407 | struct radeon_ring *ring, |
|
- | 408 | struct radeon_semaphore *semaphore, |
|
- | 409 | bool emit_wait); |
|
- | 410 | void r600_uvd_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
|
Line 393... | Line 411... | ||
393 | 411 | ||
394 | /* |
412 | /* |
395 | * rv770,rv730,rv710,rv740 |
413 | * rv770,rv730,rv710,rv740 |
396 | */ |
414 | */ |
Line 405... | Line 423... | ||
405 | void r700_cp_fini(struct radeon_device *rdev); |
423 | void r700_cp_fini(struct radeon_device *rdev); |
406 | int rv770_copy_dma(struct radeon_device *rdev, |
424 | int rv770_copy_dma(struct radeon_device *rdev, |
407 | uint64_t src_offset, uint64_t dst_offset, |
425 | uint64_t src_offset, uint64_t dst_offset, |
408 | unsigned num_gpu_pages, |
426 | unsigned num_gpu_pages, |
409 | struct radeon_fence **fence); |
427 | struct radeon_fence **fence); |
- | 428 | u32 rv770_get_xclk(struct radeon_device *rdev); |
|
- | 429 | int rv770_uvd_resume(struct radeon_device *rdev); |
|
- | 430 | int rv770_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); |
|
Line 410... | Line 431... | ||
410 | 431 | ||
411 | /* |
432 | /* |
412 | * evergreen |
433 | * evergreen |
413 | */ |
434 | */ |
Line 420... | Line 441... | ||
420 | void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); |
441 | void evergreen_pcie_gart_tlb_flush(struct radeon_device *rdev); |
421 | int evergreen_init(struct radeon_device *rdev); |
442 | int evergreen_init(struct radeon_device *rdev); |
422 | void evergreen_fini(struct radeon_device *rdev); |
443 | void evergreen_fini(struct radeon_device *rdev); |
423 | int evergreen_suspend(struct radeon_device *rdev); |
444 | int evergreen_suspend(struct radeon_device *rdev); |
424 | int evergreen_resume(struct radeon_device *rdev); |
445 | int evergreen_resume(struct radeon_device *rdev); |
425 | bool evergreen_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
446 | bool evergreen_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
- | 447 | bool evergreen_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
|
426 | int evergreen_asic_reset(struct radeon_device *rdev); |
448 | int evergreen_asic_reset(struct radeon_device *rdev); |
427 | void evergreen_bandwidth_update(struct radeon_device *rdev); |
449 | void evergreen_bandwidth_update(struct radeon_device *rdev); |
428 | void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
450 | void evergreen_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
429 | void evergreen_hpd_init(struct radeon_device *rdev); |
451 | void evergreen_hpd_init(struct radeon_device *rdev); |
430 | void evergreen_hpd_fini(struct radeon_device *rdev); |
452 | void evergreen_hpd_fini(struct radeon_device *rdev); |
Line 439... | Line 461... | ||
439 | extern void evergreen_pm_misc(struct radeon_device *rdev); |
461 | extern void evergreen_pm_misc(struct radeon_device *rdev); |
440 | extern void evergreen_pm_prepare(struct radeon_device *rdev); |
462 | extern void evergreen_pm_prepare(struct radeon_device *rdev); |
441 | extern void evergreen_pm_finish(struct radeon_device *rdev); |
463 | extern void evergreen_pm_finish(struct radeon_device *rdev); |
442 | extern void sumo_pm_init_profile(struct radeon_device *rdev); |
464 | extern void sumo_pm_init_profile(struct radeon_device *rdev); |
443 | extern void btc_pm_init_profile(struct radeon_device *rdev); |
465 | extern void btc_pm_init_profile(struct radeon_device *rdev); |
- | 466 | int sumo_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); |
|
- | 467 | int evergreen_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); |
|
444 | extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc); |
468 | extern void evergreen_pre_page_flip(struct radeon_device *rdev, int crtc); |
445 | extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); |
469 | extern u32 evergreen_page_flip(struct radeon_device *rdev, int crtc, u64 crtc_base); |
446 | extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc); |
470 | extern void evergreen_post_page_flip(struct radeon_device *rdev, int crtc); |
447 | extern void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc); |
471 | extern void dce4_wait_for_vblank(struct radeon_device *rdev, int crtc); |
448 | void evergreen_disable_interrupt_state(struct radeon_device *rdev); |
472 | void evergreen_disable_interrupt_state(struct radeon_device *rdev); |
Line 454... | Line 478... | ||
454 | struct radeon_ib *ib); |
478 | struct radeon_ib *ib); |
455 | int evergreen_copy_dma(struct radeon_device *rdev, |
479 | int evergreen_copy_dma(struct radeon_device *rdev, |
456 | uint64_t src_offset, uint64_t dst_offset, |
480 | uint64_t src_offset, uint64_t dst_offset, |
457 | unsigned num_gpu_pages, |
481 | unsigned num_gpu_pages, |
458 | struct radeon_fence **fence); |
482 | struct radeon_fence **fence); |
- | 483 | void evergreen_hdmi_enable(struct drm_encoder *encoder, bool enable); |
|
- | 484 | void evergreen_hdmi_setmode(struct drm_encoder *encoder, struct drm_display_mode *mode); |
|
Line 459... | Line 485... | ||
459 | 485 | ||
460 | /* |
486 | /* |
461 | * cayman |
487 | * cayman |
462 | */ |
488 | */ |
463 | void cayman_fence_ring_emit(struct radeon_device *rdev, |
489 | void cayman_fence_ring_emit(struct radeon_device *rdev, |
- | 490 | struct radeon_fence *fence); |
|
- | 491 | void cayman_uvd_semaphore_emit(struct radeon_device *rdev, |
|
- | 492 | struct radeon_ring *ring, |
|
- | 493 | struct radeon_semaphore *semaphore, |
|
464 | struct radeon_fence *fence); |
494 | bool emit_wait); |
465 | void cayman_pcie_gart_tlb_flush(struct radeon_device *rdev); |
495 | void cayman_pcie_gart_tlb_flush(struct radeon_device *rdev); |
466 | int cayman_init(struct radeon_device *rdev); |
496 | int cayman_init(struct radeon_device *rdev); |
467 | void cayman_fini(struct radeon_device *rdev); |
497 | void cayman_fini(struct radeon_device *rdev); |
468 | int cayman_suspend(struct radeon_device *rdev); |
498 | int cayman_suspend(struct radeon_device *rdev); |
Line 471... | Line 501... | ||
471 | void cayman_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
501 | void cayman_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
472 | int cayman_vm_init(struct radeon_device *rdev); |
502 | int cayman_vm_init(struct radeon_device *rdev); |
473 | void cayman_vm_fini(struct radeon_device *rdev); |
503 | void cayman_vm_fini(struct radeon_device *rdev); |
474 | void cayman_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
504 | void cayman_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
475 | uint32_t cayman_vm_page_flags(struct radeon_device *rdev, uint32_t flags); |
505 | uint32_t cayman_vm_page_flags(struct radeon_device *rdev, uint32_t flags); |
476 | void cayman_vm_set_page(struct radeon_device *rdev, uint64_t pe, |
506 | void cayman_vm_set_page(struct radeon_device *rdev, |
- | 507 | struct radeon_ib *ib, |
|
- | 508 | uint64_t pe, |
|
477 | uint64_t addr, unsigned count, |
509 | uint64_t addr, unsigned count, |
478 | uint32_t incr, uint32_t flags); |
510 | uint32_t incr, uint32_t flags); |
479 | int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
511 | int evergreen_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
480 | int evergreen_dma_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
512 | int evergreen_dma_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
481 | void cayman_dma_ring_ib_execute(struct radeon_device *rdev, |
513 | void cayman_dma_ring_ib_execute(struct radeon_device *rdev, |
482 | struct radeon_ib *ib); |
514 | struct radeon_ib *ib); |
- | 515 | bool cayman_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
|
483 | bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
516 | bool cayman_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *ring); |
484 | void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
517 | void cayman_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
Line 485... | Line 518... | ||
485 | 518 | ||
486 | /* DCE6 - SI */ |
519 | /* DCE6 - SI */ |
Line 494... | Line 527... | ||
494 | void si_pcie_gart_tlb_flush(struct radeon_device *rdev); |
527 | void si_pcie_gart_tlb_flush(struct radeon_device *rdev); |
495 | int si_init(struct radeon_device *rdev); |
528 | int si_init(struct radeon_device *rdev); |
496 | void si_fini(struct radeon_device *rdev); |
529 | void si_fini(struct radeon_device *rdev); |
497 | int si_suspend(struct radeon_device *rdev); |
530 | int si_suspend(struct radeon_device *rdev); |
498 | int si_resume(struct radeon_device *rdev); |
531 | int si_resume(struct radeon_device *rdev); |
499 | bool si_gpu_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
532 | bool si_gfx_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
- | 533 | bool si_dma_is_lockup(struct radeon_device *rdev, struct radeon_ring *cp); |
|
500 | int si_asic_reset(struct radeon_device *rdev); |
534 | int si_asic_reset(struct radeon_device *rdev); |
501 | void si_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
535 | void si_ring_ib_execute(struct radeon_device *rdev, struct radeon_ib *ib); |
502 | int si_irq_set(struct radeon_device *rdev); |
536 | int si_irq_set(struct radeon_device *rdev); |
503 | int si_irq_process(struct radeon_device *rdev); |
537 | int si_irq_process(struct radeon_device *rdev); |
504 | int si_vm_init(struct radeon_device *rdev); |
538 | int si_vm_init(struct radeon_device *rdev); |
505 | void si_vm_fini(struct radeon_device *rdev); |
539 | void si_vm_fini(struct radeon_device *rdev); |
506 | void si_vm_set_page(struct radeon_device *rdev, uint64_t pe, |
540 | void si_vm_set_page(struct radeon_device *rdev, |
- | 541 | struct radeon_ib *ib, |
|
- | 542 | uint64_t pe, |
|
507 | uint64_t addr, unsigned count, |
543 | uint64_t addr, unsigned count, |
508 | uint32_t incr, uint32_t flags); |
544 | uint32_t incr, uint32_t flags); |
509 | void si_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
545 | void si_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
510 | int si_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
546 | int si_ib_parse(struct radeon_device *rdev, struct radeon_ib *ib); |
511 | uint64_t si_get_gpu_clock(struct radeon_device *rdev); |
- | |
512 | int si_copy_dma(struct radeon_device *rdev, |
547 | int si_copy_dma(struct radeon_device *rdev, |
513 | uint64_t src_offset, uint64_t dst_offset, |
548 | uint64_t src_offset, uint64_t dst_offset, |
514 | unsigned num_gpu_pages, |
549 | unsigned num_gpu_pages, |
515 | struct radeon_fence **fence); |
550 | struct radeon_fence **fence); |
516 | void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
551 | void si_dma_vm_flush(struct radeon_device *rdev, int ridx, struct radeon_vm *vm); |
- | 552 | u32 si_get_xclk(struct radeon_device *rdev); |
|
- | 553 | uint64_t si_get_gpu_clock_counter(struct radeon_device *rdev); |
|
- | 554 | int si_set_uvd_clocks(struct radeon_device *rdev, u32 vclk, u32 dclk); |
|
Line 517... | Line 555... | ||
517 | 555 |