Subversion Repositories Kolibri OS

Rev

Rev 3192 | Rev 5078 | Go to most recent revision | Show entire file | Regard 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