Rev 5271 | Rev 6321 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 5271 | Rev 6104 | ||
---|---|---|---|
Line 28... | Line 28... | ||
28 | 28 | ||
29 | //#include |
29 | //#include |
30 | #include |
30 | #include |
31 | #include |
31 | #include |
32 | #include |
32 | #include |
33 | //#include |
- | |
34 | //#include |
33 | #include |
35 | #include "radeon_reg.h" |
34 | #include "radeon_reg.h" |
36 | #include "radeon.h" |
35 | #include "radeon.h" |
37 | #include "radeon_asic.h" |
36 | #include "radeon_asic.h" |
Line 134... | Line 133... | ||
134 | rdev->pciep_rreg = &r600_pciep_rreg; |
133 | rdev->pciep_rreg = &r600_pciep_rreg; |
135 | rdev->pciep_wreg = &r600_pciep_wreg; |
134 | rdev->pciep_wreg = &r600_pciep_wreg; |
136 | } |
135 | } |
137 | } |
136 | } |
Line -... | Line 137... | ||
- | 137 | ||
- | 138 | static int radeon_invalid_get_allowed_info_register(struct radeon_device *rdev, |
|
- | 139 | u32 reg, u32 *val) |
|
- | 140 | { |
|
- | 141 | return -EINVAL; |
|
Line 138... | Line 142... | ||
138 | 142 | } |
|
139 | 143 | ||
140 | /* helper to disable agp */ |
144 | /* helper to disable agp */ |
141 | /** |
145 | /** |
Line 157... | Line 161... | ||
157 | rdev->family == CHIP_RV410 || |
161 | rdev->family == CHIP_RV410 || |
158 | rdev->family == CHIP_R423) { |
162 | rdev->family == CHIP_R423) { |
159 | DRM_INFO("Forcing AGP to PCIE mode\n"); |
163 | DRM_INFO("Forcing AGP to PCIE mode\n"); |
160 | rdev->flags |= RADEON_IS_PCIE; |
164 | rdev->flags |= RADEON_IS_PCIE; |
161 | rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; |
165 | rdev->asic->gart.tlb_flush = &rv370_pcie_gart_tlb_flush; |
- | 166 | rdev->asic->gart.get_page_entry = &rv370_pcie_gart_get_page_entry; |
|
162 | rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; |
167 | rdev->asic->gart.set_page = &rv370_pcie_gart_set_page; |
163 | } else { |
168 | } else { |
164 | DRM_INFO("Forcing AGP to PCI mode\n"); |
169 | DRM_INFO("Forcing AGP to PCI mode\n"); |
165 | rdev->flags |= RADEON_IS_PCI; |
170 | rdev->flags |= RADEON_IS_PCI; |
166 | rdev->asic->gart.tlb_flush = &r100_pci_gart_tlb_flush; |
171 | rdev->asic->gart.tlb_flush = &r100_pci_gart_tlb_flush; |
- | 172 | rdev->asic->gart.get_page_entry = &r100_pci_gart_get_page_entry; |
|
167 | rdev->asic->gart.set_page = &r100_pci_gart_set_page; |
173 | rdev->asic->gart.set_page = &r100_pci_gart_set_page; |
168 | } |
174 | } |
169 | rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; |
175 | rdev->mc.gtt_size = radeon_gart_size * 1024 * 1024; |
170 | } |
176 | } |
Line 187... | Line 193... | ||
187 | .set_wptr = &r100_gfx_set_wptr, |
193 | .set_wptr = &r100_gfx_set_wptr, |
188 | }; |
194 | }; |
Line 189... | Line 195... | ||
189 | 195 | ||
190 | static struct radeon_asic r100_asic = { |
196 | static struct radeon_asic r100_asic = { |
191 | .init = &r100_init, |
197 | .init = &r100_init, |
192 | // .fini = &r100_fini, |
198 | .fini = &r100_fini, |
193 | // .suspend = &r100_suspend, |
199 | // .suspend = &r100_suspend, |
194 | // .resume = &r100_resume, |
200 | // .resume = &r100_resume, |
195 | // .vga_set_state = &r100_vga_set_state, |
201 | // .vga_set_state = &r100_vga_set_state, |
196 | .asic_reset = &r100_asic_reset, |
202 | .asic_reset = &r100_asic_reset, |
197 | .mmio_hdp_flush = NULL, |
203 | .mmio_hdp_flush = NULL, |
198 | .gui_idle = &r100_gui_idle, |
204 | .gui_idle = &r100_gui_idle, |
- | 205 | .mc_wait_for_idle = &r100_mc_wait_for_idle, |
|
199 | .mc_wait_for_idle = &r100_mc_wait_for_idle, |
206 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
200 | .gart = { |
207 | .gart = { |
- | 208 | .tlb_flush = &r100_pci_gart_tlb_flush, |
|
201 | .tlb_flush = &r100_pci_gart_tlb_flush, |
209 | .get_page_entry = &r100_pci_gart_get_page_entry, |
202 | .set_page = &r100_pci_gart_set_page, |
210 | .set_page = &r100_pci_gart_set_page, |
203 | }, |
211 | }, |
204 | .ring = { |
212 | .ring = { |
205 | [RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring |
213 | [RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring |
Line 253... | Line 261... | ||
253 | }, |
261 | }, |
254 | }; |
262 | }; |
Line 255... | Line 263... | ||
255 | 263 | ||
256 | static struct radeon_asic r200_asic = { |
264 | static struct radeon_asic r200_asic = { |
257 | .init = &r100_init, |
265 | .init = &r100_init, |
258 | // .fini = &r100_fini, |
266 | .fini = &r100_fini, |
259 | // .suspend = &r100_suspend, |
267 | // .suspend = &r100_suspend, |
260 | // .resume = &r100_resume, |
268 | // .resume = &r100_resume, |
261 | // .vga_set_state = &r100_vga_set_state, |
269 | // .vga_set_state = &r100_vga_set_state, |
262 | .asic_reset = &r100_asic_reset, |
270 | .asic_reset = &r100_asic_reset, |
263 | .mmio_hdp_flush = NULL, |
271 | .mmio_hdp_flush = NULL, |
264 | .gui_idle = &r100_gui_idle, |
272 | .gui_idle = &r100_gui_idle, |
- | 273 | .mc_wait_for_idle = &r100_mc_wait_for_idle, |
|
265 | .mc_wait_for_idle = &r100_mc_wait_for_idle, |
274 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
266 | .gart = { |
275 | .gart = { |
- | 276 | .tlb_flush = &r100_pci_gart_tlb_flush, |
|
267 | .tlb_flush = &r100_pci_gart_tlb_flush, |
277 | .get_page_entry = &r100_pci_gart_get_page_entry, |
268 | .set_page = &r100_pci_gart_set_page, |
278 | .set_page = &r100_pci_gart_set_page, |
269 | }, |
279 | }, |
270 | .ring = { |
280 | .ring = { |
271 | [RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring |
281 | [RADEON_RING_TYPE_GFX_INDEX] = &r100_gfx_ring |
Line 331... | Line 341... | ||
331 | .get_rptr = &r100_gfx_get_rptr, |
341 | .get_rptr = &r100_gfx_get_rptr, |
332 | .get_wptr = &r100_gfx_get_wptr, |
342 | .get_wptr = &r100_gfx_get_wptr, |
333 | .set_wptr = &r100_gfx_set_wptr, |
343 | .set_wptr = &r100_gfx_set_wptr, |
334 | }; |
344 | }; |
Line -... | Line 345... | ||
- | 345 | ||
- | 346 | static struct radeon_asic_ring rv515_gfx_ring = { |
|
- | 347 | .ib_execute = &r100_ring_ib_execute, |
|
- | 348 | .emit_fence = &r300_fence_ring_emit, |
|
- | 349 | .emit_semaphore = &r100_semaphore_ring_emit, |
|
- | 350 | .cs_parse = &r300_cs_parse, |
|
- | 351 | .ring_start = &rv515_ring_start, |
|
- | 352 | .ring_test = &r100_ring_test, |
|
- | 353 | .ib_test = &r100_ib_test, |
|
- | 354 | .is_lockup = &r100_gpu_is_lockup, |
|
- | 355 | .get_rptr = &r100_gfx_get_rptr, |
|
- | 356 | .get_wptr = &r100_gfx_get_wptr, |
|
- | 357 | .set_wptr = &r100_gfx_set_wptr, |
|
- | 358 | }; |
|
335 | 359 | ||
336 | static struct radeon_asic r300_asic = { |
360 | static struct radeon_asic r300_asic = { |
337 | .init = &r300_init, |
361 | .init = &r300_init, |
338 | // .fini = &r300_fini, |
362 | .fini = &r300_fini, |
339 | // .suspend = &r300_suspend, |
363 | // .suspend = &r300_suspend, |
340 | // .resume = &r300_resume, |
364 | // .resume = &r300_resume, |
341 | // .vga_set_state = &r100_vga_set_state, |
365 | // .vga_set_state = &r100_vga_set_state, |
342 | .asic_reset = &r300_asic_reset, |
366 | .asic_reset = &r300_asic_reset, |
343 | .mmio_hdp_flush = NULL, |
367 | .mmio_hdp_flush = NULL, |
344 | .gui_idle = &r100_gui_idle, |
368 | .gui_idle = &r100_gui_idle, |
- | 369 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
|
345 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
370 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
346 | .gart = { |
371 | .gart = { |
- | 372 | .tlb_flush = &r100_pci_gart_tlb_flush, |
|
347 | .tlb_flush = &r100_pci_gart_tlb_flush, |
373 | .get_page_entry = &r100_pci_gart_get_page_entry, |
348 | .set_page = &r100_pci_gart_set_page, |
374 | .set_page = &r100_pci_gart_set_page, |
349 | }, |
375 | }, |
350 | .ring = { |
376 | .ring = { |
351 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
377 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 399... | Line 425... | ||
399 | }, |
425 | }, |
400 | }; |
426 | }; |
Line 401... | Line 427... | ||
401 | 427 | ||
402 | static struct radeon_asic r300_asic_pcie = { |
428 | static struct radeon_asic r300_asic_pcie = { |
403 | .init = &r300_init, |
429 | .init = &r300_init, |
404 | // .fini = &r300_fini, |
430 | .fini = &r300_fini, |
405 | // .suspend = &r300_suspend, |
431 | // .suspend = &r300_suspend, |
406 | // .resume = &r300_resume, |
432 | // .resume = &r300_resume, |
407 | // .vga_set_state = &r100_vga_set_state, |
433 | // .vga_set_state = &r100_vga_set_state, |
408 | .asic_reset = &r300_asic_reset, |
434 | .asic_reset = &r300_asic_reset, |
409 | .mmio_hdp_flush = NULL, |
435 | .mmio_hdp_flush = NULL, |
410 | .gui_idle = &r100_gui_idle, |
436 | .gui_idle = &r100_gui_idle, |
- | 437 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
|
411 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
438 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
412 | .gart = { |
439 | .gart = { |
- | 440 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
|
413 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
441 | .get_page_entry = &rv370_pcie_gart_get_page_entry, |
414 | .set_page = &rv370_pcie_gart_set_page, |
442 | .set_page = &rv370_pcie_gart_set_page, |
415 | }, |
443 | }, |
416 | .ring = { |
444 | .ring = { |
417 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
445 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 465... | Line 493... | ||
465 | }, |
493 | }, |
466 | }; |
494 | }; |
Line 467... | Line 495... | ||
467 | 495 | ||
468 | static struct radeon_asic r420_asic = { |
496 | static struct radeon_asic r420_asic = { |
469 | .init = &r420_init, |
497 | .init = &r420_init, |
470 | // .fini = &r420_fini, |
498 | .fini = &r420_fini, |
471 | // .suspend = &r420_suspend, |
499 | // .suspend = &r420_suspend, |
472 | // .resume = &r420_resume, |
500 | // .resume = &r420_resume, |
473 | // .vga_set_state = &r100_vga_set_state, |
501 | // .vga_set_state = &r100_vga_set_state, |
474 | .asic_reset = &r300_asic_reset, |
502 | .asic_reset = &r300_asic_reset, |
475 | .mmio_hdp_flush = NULL, |
503 | .mmio_hdp_flush = NULL, |
476 | .gui_idle = &r100_gui_idle, |
504 | .gui_idle = &r100_gui_idle, |
- | 505 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
|
477 | .mc_wait_for_idle = &r300_mc_wait_for_idle, |
506 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
478 | .gart = { |
507 | .gart = { |
- | 508 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
|
479 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
509 | .get_page_entry = &rv370_pcie_gart_get_page_entry, |
480 | .set_page = &rv370_pcie_gart_set_page, |
510 | .set_page = &rv370_pcie_gart_set_page, |
481 | }, |
511 | }, |
482 | .ring = { |
512 | .ring = { |
483 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
513 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 531... | Line 561... | ||
531 | }, |
561 | }, |
532 | }; |
562 | }; |
Line 533... | Line 563... | ||
533 | 563 | ||
534 | static struct radeon_asic rs400_asic = { |
564 | static struct radeon_asic rs400_asic = { |
535 | .init = &rs400_init, |
565 | .init = &rs400_init, |
536 | // .fini = &rs400_fini, |
566 | .fini = &rs400_fini, |
537 | // .suspend = &rs400_suspend, |
567 | // .suspend = &rs400_suspend, |
538 | // .resume = &rs400_resume, |
568 | // .resume = &rs400_resume, |
539 | // .vga_set_state = &r100_vga_set_state, |
569 | // .vga_set_state = &r100_vga_set_state, |
540 | .asic_reset = &r300_asic_reset, |
570 | .asic_reset = &r300_asic_reset, |
541 | .mmio_hdp_flush = NULL, |
571 | .mmio_hdp_flush = NULL, |
542 | .gui_idle = &r100_gui_idle, |
572 | .gui_idle = &r100_gui_idle, |
- | 573 | .mc_wait_for_idle = &rs400_mc_wait_for_idle, |
|
543 | .mc_wait_for_idle = &rs400_mc_wait_for_idle, |
574 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
544 | .gart = { |
575 | .gart = { |
- | 576 | .tlb_flush = &rs400_gart_tlb_flush, |
|
545 | .tlb_flush = &rs400_gart_tlb_flush, |
577 | .get_page_entry = &rs400_gart_get_page_entry, |
546 | .set_page = &rs400_gart_set_page, |
578 | .set_page = &rs400_gart_set_page, |
547 | }, |
579 | }, |
548 | .ring = { |
580 | .ring = { |
549 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
581 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 597... | Line 629... | ||
597 | }, |
629 | }, |
598 | }; |
630 | }; |
Line 599... | Line 631... | ||
599 | 631 | ||
600 | static struct radeon_asic rs600_asic = { |
632 | static struct radeon_asic rs600_asic = { |
601 | .init = &rs600_init, |
633 | .init = &rs600_init, |
602 | // .fini = &rs600_fini, |
634 | .fini = &rs600_fini, |
603 | // .suspend = &rs600_suspend, |
635 | // .suspend = &rs600_suspend, |
604 | // .resume = &rs600_resume, |
636 | // .resume = &rs600_resume, |
605 | // .vga_set_state = &r100_vga_set_state, |
637 | // .vga_set_state = &r100_vga_set_state, |
606 | .asic_reset = &rs600_asic_reset, |
638 | .asic_reset = &rs600_asic_reset, |
607 | .mmio_hdp_flush = NULL, |
639 | .mmio_hdp_flush = NULL, |
608 | .gui_idle = &r100_gui_idle, |
640 | .gui_idle = &r100_gui_idle, |
- | 641 | .mc_wait_for_idle = &rs600_mc_wait_for_idle, |
|
609 | .mc_wait_for_idle = &rs600_mc_wait_for_idle, |
642 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
610 | .gart = { |
643 | .gart = { |
- | 644 | .tlb_flush = &rs600_gart_tlb_flush, |
|
611 | .tlb_flush = &rs600_gart_tlb_flush, |
645 | .get_page_entry = &rs600_gart_get_page_entry, |
612 | .set_page = &rs600_gart_set_page, |
646 | .set_page = &rs600_gart_set_page, |
613 | }, |
647 | }, |
614 | .ring = { |
648 | .ring = { |
615 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
649 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 622... | Line 656... | ||
622 | .bandwidth_update = &rs600_bandwidth_update, |
656 | .bandwidth_update = &rs600_bandwidth_update, |
623 | .get_vblank_counter = &rs600_get_vblank_counter, |
657 | .get_vblank_counter = &rs600_get_vblank_counter, |
624 | .wait_for_vblank = &avivo_wait_for_vblank, |
658 | .wait_for_vblank = &avivo_wait_for_vblank, |
625 | .set_backlight_level = &atombios_set_backlight_level, |
659 | .set_backlight_level = &atombios_set_backlight_level, |
626 | .get_backlight_level = &atombios_get_backlight_level, |
660 | .get_backlight_level = &atombios_get_backlight_level, |
627 | .hdmi_enable = &r600_hdmi_enable, |
- | |
628 | .hdmi_setmode = &r600_hdmi_setmode, |
- | |
629 | }, |
661 | }, |
630 | .copy = { |
662 | .copy = { |
631 | .blit = &r100_copy_blit, |
663 | .blit = &r100_copy_blit, |
632 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
664 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
633 | .dma = &r200_copy_dma, |
665 | .dma = &r200_copy_dma, |
Line 665... | Line 697... | ||
665 | }, |
697 | }, |
666 | }; |
698 | }; |
Line 667... | Line 699... | ||
667 | 699 | ||
668 | static struct radeon_asic rs690_asic = { |
700 | static struct radeon_asic rs690_asic = { |
669 | .init = &rs690_init, |
701 | .init = &rs690_init, |
670 | // .fini = &rs690_fini, |
702 | .fini = &rs690_fini, |
671 | // .suspend = &rs690_suspend, |
703 | // .suspend = &rs690_suspend, |
672 | // .resume = &rs690_resume, |
704 | // .resume = &rs690_resume, |
673 | // .vga_set_state = &r100_vga_set_state, |
705 | // .vga_set_state = &r100_vga_set_state, |
674 | .asic_reset = &rs600_asic_reset, |
706 | .asic_reset = &rs600_asic_reset, |
675 | .mmio_hdp_flush = NULL, |
707 | .mmio_hdp_flush = NULL, |
676 | .gui_idle = &r100_gui_idle, |
708 | .gui_idle = &r100_gui_idle, |
- | 709 | .mc_wait_for_idle = &rs690_mc_wait_for_idle, |
|
677 | .mc_wait_for_idle = &rs690_mc_wait_for_idle, |
710 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
678 | .gart = { |
711 | .gart = { |
- | 712 | .tlb_flush = &rs400_gart_tlb_flush, |
|
679 | .tlb_flush = &rs400_gart_tlb_flush, |
713 | .get_page_entry = &rs400_gart_get_page_entry, |
680 | .set_page = &rs400_gart_set_page, |
714 | .set_page = &rs400_gart_set_page, |
681 | }, |
715 | }, |
682 | .ring = { |
716 | .ring = { |
683 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
717 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
Line 690... | Line 724... | ||
690 | .get_vblank_counter = &rs600_get_vblank_counter, |
724 | .get_vblank_counter = &rs600_get_vblank_counter, |
691 | .bandwidth_update = &rs690_bandwidth_update, |
725 | .bandwidth_update = &rs690_bandwidth_update, |
692 | .wait_for_vblank = &avivo_wait_for_vblank, |
726 | .wait_for_vblank = &avivo_wait_for_vblank, |
693 | .set_backlight_level = &atombios_set_backlight_level, |
727 | .set_backlight_level = &atombios_set_backlight_level, |
694 | .get_backlight_level = &atombios_get_backlight_level, |
728 | .get_backlight_level = &atombios_get_backlight_level, |
695 | .hdmi_enable = &r600_hdmi_enable, |
- | |
696 | .hdmi_setmode = &r600_hdmi_setmode, |
- | |
697 | }, |
729 | }, |
698 | .copy = { |
730 | .copy = { |
699 | .blit = &r100_copy_blit, |
731 | .blit = &r100_copy_blit, |
700 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
732 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
701 | .dma = &r200_copy_dma, |
733 | .dma = &r200_copy_dma, |
Line 733... | Line 765... | ||
733 | }, |
765 | }, |
734 | }; |
766 | }; |
Line 735... | Line 767... | ||
735 | 767 | ||
736 | static struct radeon_asic rv515_asic = { |
768 | static struct radeon_asic rv515_asic = { |
737 | .init = &rv515_init, |
769 | .init = &rv515_init, |
738 | // .fini = &rv515_fini, |
770 | .fini = &rv515_fini, |
739 | // .suspend = &rv515_suspend, |
771 | // .suspend = &rv515_suspend, |
740 | // .resume = &rv515_resume, |
772 | // .resume = &rv515_resume, |
741 | // .vga_set_state = &r100_vga_set_state, |
773 | // .vga_set_state = &r100_vga_set_state, |
742 | .asic_reset = &rs600_asic_reset, |
774 | .asic_reset = &rs600_asic_reset, |
743 | .mmio_hdp_flush = NULL, |
775 | .mmio_hdp_flush = NULL, |
744 | .gui_idle = &r100_gui_idle, |
776 | .gui_idle = &r100_gui_idle, |
- | 777 | .mc_wait_for_idle = &rv515_mc_wait_for_idle, |
|
745 | .mc_wait_for_idle = &rv515_mc_wait_for_idle, |
778 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
746 | .gart = { |
779 | .gart = { |
- | 780 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
|
747 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
781 | .get_page_entry = &rv370_pcie_gart_get_page_entry, |
748 | .set_page = &rv370_pcie_gart_set_page, |
782 | .set_page = &rv370_pcie_gart_set_page, |
749 | }, |
783 | }, |
750 | .ring = { |
784 | .ring = { |
751 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
785 | [RADEON_RING_TYPE_GFX_INDEX] = &rv515_gfx_ring |
752 | }, |
786 | }, |
753 | .irq = { |
787 | .irq = { |
754 | .set = &rs600_irq_set, |
788 | .set = &rs600_irq_set, |
755 | .process = &rs600_irq_process, |
789 | .process = &rs600_irq_process, |
Line 799... | Line 833... | ||
799 | }, |
833 | }, |
800 | }; |
834 | }; |
Line 801... | Line 835... | ||
801 | 835 | ||
802 | static struct radeon_asic r520_asic = { |
836 | static struct radeon_asic r520_asic = { |
803 | .init = &r520_init, |
837 | .init = &r520_init, |
804 | // .fini = &rv515_fini, |
838 | .fini = &rv515_fini, |
805 | // .suspend = &rv515_suspend, |
839 | // .suspend = &rv515_suspend, |
806 | // .resume = &r520_resume, |
840 | // .resume = &r520_resume, |
807 | // .vga_set_state = &r100_vga_set_state, |
841 | // .vga_set_state = &r100_vga_set_state, |
808 | .asic_reset = &rs600_asic_reset, |
842 | .asic_reset = &rs600_asic_reset, |
809 | .mmio_hdp_flush = NULL, |
843 | .mmio_hdp_flush = NULL, |
810 | .gui_idle = &r100_gui_idle, |
844 | .gui_idle = &r100_gui_idle, |
- | 845 | .mc_wait_for_idle = &r520_mc_wait_for_idle, |
|
811 | .mc_wait_for_idle = &r520_mc_wait_for_idle, |
846 | .get_allowed_info_register = radeon_invalid_get_allowed_info_register, |
812 | .gart = { |
847 | .gart = { |
- | 848 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
|
813 | .tlb_flush = &rv370_pcie_gart_tlb_flush, |
849 | .get_page_entry = &rv370_pcie_gart_get_page_entry, |
814 | .set_page = &rv370_pcie_gart_set_page, |
850 | .set_page = &rv370_pcie_gart_set_page, |
815 | }, |
851 | }, |
816 | .ring = { |
852 | .ring = { |
817 | [RADEON_RING_TYPE_GFX_INDEX] = &r300_gfx_ring |
853 | [RADEON_RING_TYPE_GFX_INDEX] = &rv515_gfx_ring |
818 | }, |
854 | }, |
819 | .irq = { |
855 | .irq = { |
820 | .set = &rs600_irq_set, |
856 | .set = &rs600_irq_set, |
821 | .process = &rs600_irq_process, |
857 | .process = &rs600_irq_process, |
Line 891... | Line 927... | ||
891 | .set_wptr = &r600_dma_set_wptr, |
927 | .set_wptr = &r600_dma_set_wptr, |
892 | }; |
928 | }; |
Line 893... | Line 929... | ||
893 | 929 | ||
894 | static struct radeon_asic r600_asic = { |
930 | static struct radeon_asic r600_asic = { |
895 | .init = &r600_init, |
931 | .init = &r600_init, |
896 | // .fini = &r600_fini, |
932 | .fini = &r600_fini, |
897 | // .suspend = &r600_suspend, |
933 | // .suspend = &r600_suspend, |
898 | // .resume = &r600_resume, |
934 | // .resume = &r600_resume, |
899 | // .vga_set_state = &r600_vga_set_state, |
935 | // .vga_set_state = &r600_vga_set_state, |
900 | .asic_reset = &r600_asic_reset, |
936 | .asic_reset = &r600_asic_reset, |
901 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
937 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
902 | .gui_idle = &r600_gui_idle, |
938 | .gui_idle = &r600_gui_idle, |
903 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
939 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
904 | .get_xclk = &r600_get_xclk, |
940 | .get_xclk = &r600_get_xclk, |
- | 941 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
905 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
942 | .get_allowed_info_register = r600_get_allowed_info_register, |
906 | .gart = { |
943 | .gart = { |
- | 944 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
|
907 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
945 | .get_page_entry = &rs600_gart_get_page_entry, |
908 | .set_page = &rs600_gart_set_page, |
946 | .set_page = &rs600_gart_set_page, |
909 | }, |
947 | }, |
910 | .ring = { |
948 | .ring = { |
911 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
949 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
Line 919... | Line 957... | ||
919 | .bandwidth_update = &rv515_bandwidth_update, |
957 | .bandwidth_update = &rv515_bandwidth_update, |
920 | .get_vblank_counter = &rs600_get_vblank_counter, |
958 | .get_vblank_counter = &rs600_get_vblank_counter, |
921 | .wait_for_vblank = &avivo_wait_for_vblank, |
959 | .wait_for_vblank = &avivo_wait_for_vblank, |
922 | .set_backlight_level = &atombios_set_backlight_level, |
960 | .set_backlight_level = &atombios_set_backlight_level, |
923 | .get_backlight_level = &atombios_get_backlight_level, |
961 | .get_backlight_level = &atombios_get_backlight_level, |
924 | .hdmi_enable = &r600_hdmi_enable, |
- | |
925 | .hdmi_setmode = &r600_hdmi_setmode, |
- | |
926 | }, |
962 | }, |
927 | .copy = { |
963 | .copy = { |
928 | .blit = &r600_copy_cpdma, |
964 | .blit = &r600_copy_cpdma, |
929 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
965 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
930 | .dma = &r600_copy_dma, |
966 | .dma = &r600_copy_dma, |
Line 961... | Line 997... | ||
961 | // .pre_page_flip = &rs600_pre_page_flip, |
997 | // .pre_page_flip = &rs600_pre_page_flip, |
962 | // .page_flip = &rs600_page_flip, |
998 | // .page_flip = &rs600_page_flip, |
963 | }, |
999 | }, |
964 | }; |
1000 | }; |
Line -... | Line 1001... | ||
- | 1001 | ||
- | 1002 | static struct radeon_asic_ring rv6xx_uvd_ring = { |
|
- | 1003 | .ib_execute = &uvd_v1_0_ib_execute, |
|
- | 1004 | .emit_fence = &uvd_v1_0_fence_emit, |
|
- | 1005 | .emit_semaphore = &uvd_v1_0_semaphore_emit, |
|
- | 1006 | .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1007 | .ring_test = &uvd_v1_0_ring_test, |
|
- | 1008 | .ib_test = &uvd_v1_0_ib_test, |
|
- | 1009 | .is_lockup = &radeon_ring_test_lockup, |
|
- | 1010 | .get_rptr = &uvd_v1_0_get_rptr, |
|
- | 1011 | .get_wptr = &uvd_v1_0_get_wptr, |
|
- | 1012 | .set_wptr = &uvd_v1_0_set_wptr, |
|
- | 1013 | }; |
|
965 | 1014 | ||
966 | static struct radeon_asic rv6xx_asic = { |
1015 | static struct radeon_asic rv6xx_asic = { |
967 | .init = &r600_init, |
1016 | .init = &r600_init, |
968 | // .fini = &r600_fini, |
1017 | .fini = &r600_fini, |
969 | // .suspend = &r600_suspend, |
1018 | // .suspend = &r600_suspend, |
970 | // .resume = &r600_resume, |
1019 | // .resume = &r600_resume, |
971 | // .vga_set_state = &r600_vga_set_state, |
1020 | // .vga_set_state = &r600_vga_set_state, |
972 | .asic_reset = &r600_asic_reset, |
1021 | .asic_reset = &r600_asic_reset, |
973 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1022 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
974 | .gui_idle = &r600_gui_idle, |
1023 | .gui_idle = &r600_gui_idle, |
975 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1024 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
976 | .get_xclk = &r600_get_xclk, |
1025 | .get_xclk = &r600_get_xclk, |
- | 1026 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
977 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1027 | .get_allowed_info_register = r600_get_allowed_info_register, |
978 | .gart = { |
1028 | .gart = { |
- | 1029 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
|
979 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1030 | .get_page_entry = &rs600_gart_get_page_entry, |
980 | .set_page = &rs600_gart_set_page, |
1031 | .set_page = &rs600_gart_set_page, |
981 | }, |
1032 | }, |
982 | .ring = { |
1033 | .ring = { |
983 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
1034 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
- | 1035 | [R600_RING_TYPE_DMA_INDEX] = &r600_dma_ring, |
|
984 | [R600_RING_TYPE_DMA_INDEX] = &r600_dma_ring, |
1036 | [R600_RING_TYPE_UVD_INDEX] = &rv6xx_uvd_ring, |
985 | }, |
1037 | }, |
986 | .irq = { |
1038 | .irq = { |
987 | .set = &r600_irq_set, |
1039 | .set = &r600_irq_set, |
988 | .process = &r600_irq_process, |
1040 | .process = &r600_irq_process, |
Line 991... | Line 1043... | ||
991 | .bandwidth_update = &rv515_bandwidth_update, |
1043 | .bandwidth_update = &rv515_bandwidth_update, |
992 | .get_vblank_counter = &rs600_get_vblank_counter, |
1044 | .get_vblank_counter = &rs600_get_vblank_counter, |
993 | .wait_for_vblank = &avivo_wait_for_vblank, |
1045 | .wait_for_vblank = &avivo_wait_for_vblank, |
994 | .set_backlight_level = &atombios_set_backlight_level, |
1046 | .set_backlight_level = &atombios_set_backlight_level, |
995 | .get_backlight_level = &atombios_get_backlight_level, |
1047 | .get_backlight_level = &atombios_get_backlight_level, |
996 | .hdmi_enable = &r600_hdmi_enable, |
- | |
997 | .hdmi_setmode = &r600_hdmi_setmode, |
- | |
998 | }, |
1048 | }, |
999 | .copy = { |
1049 | .copy = { |
1000 | .blit = &r600_copy_cpdma, |
1050 | .blit = &r600_copy_cpdma, |
1001 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1051 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1002 | .dma = &r600_copy_dma, |
1052 | .dma = &r600_copy_dma, |
Line 1044... | Line 1094... | ||
1044 | .get_sclk = &rv6xx_dpm_get_sclk, |
1094 | .get_sclk = &rv6xx_dpm_get_sclk, |
1045 | .get_mclk = &rv6xx_dpm_get_mclk, |
1095 | .get_mclk = &rv6xx_dpm_get_mclk, |
1046 | .print_power_state = &rv6xx_dpm_print_power_state, |
1096 | .print_power_state = &rv6xx_dpm_print_power_state, |
1047 | .debugfs_print_current_performance_level = &rv6xx_dpm_debugfs_print_current_performance_level, |
1097 | .debugfs_print_current_performance_level = &rv6xx_dpm_debugfs_print_current_performance_level, |
1048 | .force_performance_level = &rv6xx_dpm_force_performance_level, |
1098 | .force_performance_level = &rv6xx_dpm_force_performance_level, |
- | 1099 | .get_current_sclk = &rv6xx_dpm_get_current_sclk, |
|
- | 1100 | .get_current_mclk = &rv6xx_dpm_get_current_mclk, |
|
1049 | }, |
1101 | }, |
1050 | .pflip = { |
1102 | .pflip = { |
1051 | // .pre_page_flip = &rs600_pre_page_flip, |
1103 | // .pre_page_flip = &rs600_pre_page_flip, |
1052 | // .page_flip = &rs600_page_flip, |
1104 | // .page_flip = &rs600_page_flip, |
1053 | }, |
1105 | }, |
1054 | }; |
1106 | }; |
Line 1055... | Line 1107... | ||
1055 | 1107 | ||
1056 | static struct radeon_asic rs780_asic = { |
1108 | static struct radeon_asic rs780_asic = { |
1057 | .init = &r600_init, |
1109 | .init = &r600_init, |
1058 | // .fini = &r600_fini, |
1110 | .fini = &r600_fini, |
1059 | // .suspend = &r600_suspend, |
1111 | // .suspend = &r600_suspend, |
1060 | // .resume = &r600_resume, |
1112 | // .resume = &r600_resume, |
1061 | // .vga_set_state = &r600_vga_set_state, |
1113 | // .vga_set_state = &r600_vga_set_state, |
1062 | .asic_reset = &r600_asic_reset, |
1114 | .asic_reset = &r600_asic_reset, |
1063 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1115 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1064 | .gui_idle = &r600_gui_idle, |
1116 | .gui_idle = &r600_gui_idle, |
1065 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1117 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1066 | .get_xclk = &r600_get_xclk, |
1118 | .get_xclk = &r600_get_xclk, |
- | 1119 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1067 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1120 | .get_allowed_info_register = r600_get_allowed_info_register, |
1068 | .gart = { |
1121 | .gart = { |
- | 1122 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
|
1069 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1123 | .get_page_entry = &rs600_gart_get_page_entry, |
1070 | .set_page = &rs600_gart_set_page, |
1124 | .set_page = &rs600_gart_set_page, |
1071 | }, |
1125 | }, |
1072 | .ring = { |
1126 | .ring = { |
1073 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
1127 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
- | 1128 | [R600_RING_TYPE_DMA_INDEX] = &r600_dma_ring, |
|
1074 | [R600_RING_TYPE_DMA_INDEX] = &r600_dma_ring, |
1129 | [R600_RING_TYPE_UVD_INDEX] = &rv6xx_uvd_ring, |
1075 | }, |
1130 | }, |
1076 | .irq = { |
1131 | .irq = { |
1077 | .set = &r600_irq_set, |
1132 | .set = &r600_irq_set, |
1078 | .process = &r600_irq_process, |
1133 | .process = &r600_irq_process, |
Line 1081... | Line 1136... | ||
1081 | .bandwidth_update = &rs690_bandwidth_update, |
1136 | .bandwidth_update = &rs690_bandwidth_update, |
1082 | .get_vblank_counter = &rs600_get_vblank_counter, |
1137 | .get_vblank_counter = &rs600_get_vblank_counter, |
1083 | .wait_for_vblank = &avivo_wait_for_vblank, |
1138 | .wait_for_vblank = &avivo_wait_for_vblank, |
1084 | .set_backlight_level = &atombios_set_backlight_level, |
1139 | .set_backlight_level = &atombios_set_backlight_level, |
1085 | .get_backlight_level = &atombios_get_backlight_level, |
1140 | .get_backlight_level = &atombios_get_backlight_level, |
1086 | .hdmi_enable = &r600_hdmi_enable, |
- | |
1087 | .hdmi_setmode = &r600_hdmi_setmode, |
- | |
1088 | }, |
1141 | }, |
1089 | .copy = { |
1142 | .copy = { |
1090 | .blit = &r600_copy_cpdma, |
1143 | .blit = &r600_copy_cpdma, |
1091 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1144 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1092 | .dma = &r600_copy_dma, |
1145 | .dma = &r600_copy_dma, |
Line 1134... | Line 1187... | ||
1134 | .get_sclk = &rs780_dpm_get_sclk, |
1187 | .get_sclk = &rs780_dpm_get_sclk, |
1135 | .get_mclk = &rs780_dpm_get_mclk, |
1188 | .get_mclk = &rs780_dpm_get_mclk, |
1136 | .print_power_state = &rs780_dpm_print_power_state, |
1189 | .print_power_state = &rs780_dpm_print_power_state, |
1137 | .debugfs_print_current_performance_level = &rs780_dpm_debugfs_print_current_performance_level, |
1190 | .debugfs_print_current_performance_level = &rs780_dpm_debugfs_print_current_performance_level, |
1138 | .force_performance_level = &rs780_dpm_force_performance_level, |
1191 | .force_performance_level = &rs780_dpm_force_performance_level, |
- | 1192 | .get_current_sclk = &rs780_dpm_get_current_sclk, |
|
- | 1193 | .get_current_mclk = &rs780_dpm_get_current_mclk, |
|
1139 | }, |
1194 | }, |
1140 | .pflip = { |
1195 | .pflip = { |
1141 | // .pre_page_flip = &rs600_pre_page_flip, |
1196 | // .pre_page_flip = &rs600_pre_page_flip, |
1142 | // .page_flip = &rs600_page_flip, |
1197 | // .page_flip = &rs600_page_flip, |
1143 | }, |
1198 | }, |
1144 | }; |
1199 | }; |
Line 1145... | Line 1200... | ||
1145 | 1200 | ||
1146 | static struct radeon_asic_ring rv770_uvd_ring = { |
1201 | static struct radeon_asic_ring rv770_uvd_ring = { |
1147 | .ib_execute = &uvd_v1_0_ib_execute, |
1202 | .ib_execute = &uvd_v1_0_ib_execute, |
1148 | .emit_fence = &uvd_v2_2_fence_emit, |
1203 | .emit_fence = &uvd_v2_2_fence_emit, |
1149 | .emit_semaphore = &uvd_v1_0_semaphore_emit, |
1204 | .emit_semaphore = &uvd_v2_2_semaphore_emit, |
1150 | .cs_parse = &radeon_uvd_cs_parse, |
1205 | .cs_parse = &radeon_uvd_cs_parse, |
1151 | .ring_test = &uvd_v1_0_ring_test, |
1206 | .ring_test = &uvd_v1_0_ring_test, |
1152 | .ib_test = &uvd_v1_0_ib_test, |
1207 | .ib_test = &uvd_v1_0_ib_test, |
1153 | .is_lockup = &radeon_ring_test_lockup, |
1208 | .is_lockup = &radeon_ring_test_lockup, |
Line 1156... | Line 1211... | ||
1156 | .set_wptr = &uvd_v1_0_set_wptr, |
1211 | .set_wptr = &uvd_v1_0_set_wptr, |
1157 | }; |
1212 | }; |
Line 1158... | Line 1213... | ||
1158 | 1213 | ||
1159 | static struct radeon_asic rv770_asic = { |
1214 | static struct radeon_asic rv770_asic = { |
1160 | .init = &rv770_init, |
1215 | .init = &rv770_init, |
1161 | // .fini = &rv770_fini, |
1216 | .fini = &rv770_fini, |
1162 | // .suspend = &rv770_suspend, |
1217 | // .suspend = &rv770_suspend, |
1163 | // .resume = &rv770_resume, |
1218 | // .resume = &rv770_resume, |
1164 | .asic_reset = &r600_asic_reset, |
1219 | .asic_reset = &r600_asic_reset, |
1165 | // .vga_set_state = &r600_vga_set_state, |
1220 | // .vga_set_state = &r600_vga_set_state, |
1166 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1221 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1167 | .gui_idle = &r600_gui_idle, |
1222 | .gui_idle = &r600_gui_idle, |
1168 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1223 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1169 | .get_xclk = &rv770_get_xclk, |
1224 | .get_xclk = &rv770_get_xclk, |
- | 1225 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1170 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1226 | .get_allowed_info_register = r600_get_allowed_info_register, |
1171 | .gart = { |
1227 | .gart = { |
- | 1228 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
|
1172 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1229 | .get_page_entry = &rs600_gart_get_page_entry, |
1173 | .set_page = &rs600_gart_set_page, |
1230 | .set_page = &rs600_gart_set_page, |
1174 | }, |
1231 | }, |
1175 | .ring = { |
1232 | .ring = { |
1176 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
1233 | [RADEON_RING_TYPE_GFX_INDEX] = &r600_gfx_ring, |
Line 1185... | Line 1242... | ||
1185 | .bandwidth_update = &rv515_bandwidth_update, |
1242 | .bandwidth_update = &rv515_bandwidth_update, |
1186 | .get_vblank_counter = &rs600_get_vblank_counter, |
1243 | .get_vblank_counter = &rs600_get_vblank_counter, |
1187 | .wait_for_vblank = &avivo_wait_for_vblank, |
1244 | .wait_for_vblank = &avivo_wait_for_vblank, |
1188 | .set_backlight_level = &atombios_set_backlight_level, |
1245 | .set_backlight_level = &atombios_set_backlight_level, |
1189 | .get_backlight_level = &atombios_get_backlight_level, |
1246 | .get_backlight_level = &atombios_get_backlight_level, |
1190 | .hdmi_enable = &r600_hdmi_enable, |
- | |
1191 | .hdmi_setmode = &dce3_1_hdmi_setmode, |
- | |
1192 | }, |
1247 | }, |
1193 | .copy = { |
1248 | .copy = { |
1194 | .blit = &r600_copy_cpdma, |
1249 | .blit = &r600_copy_cpdma, |
1195 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1250 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1196 | .dma = &rv770_copy_dma, |
1251 | .dma = &rv770_copy_dma, |
Line 1239... | Line 1294... | ||
1239 | .get_mclk = &rv770_dpm_get_mclk, |
1294 | .get_mclk = &rv770_dpm_get_mclk, |
1240 | .print_power_state = &rv770_dpm_print_power_state, |
1295 | .print_power_state = &rv770_dpm_print_power_state, |
1241 | .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level, |
1296 | .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level, |
1242 | .force_performance_level = &rv770_dpm_force_performance_level, |
1297 | .force_performance_level = &rv770_dpm_force_performance_level, |
1243 | .vblank_too_short = &rv770_dpm_vblank_too_short, |
1298 | .vblank_too_short = &rv770_dpm_vblank_too_short, |
- | 1299 | .get_current_sclk = &rv770_dpm_get_current_sclk, |
|
- | 1300 | .get_current_mclk = &rv770_dpm_get_current_mclk, |
|
1244 | }, |
1301 | }, |
1245 | .pflip = { |
1302 | .pflip = { |
1246 | // .pre_page_flip = &rs600_pre_page_flip, |
1303 | // .pre_page_flip = &rs600_pre_page_flip, |
1247 | // .page_flip = &rv770_page_flip, |
1304 | // .page_flip = &rv770_page_flip, |
1248 | }, |
1305 | }, |
Line 1274... | Line 1331... | ||
1274 | .set_wptr = &r600_dma_set_wptr, |
1331 | .set_wptr = &r600_dma_set_wptr, |
1275 | }; |
1332 | }; |
Line 1276... | Line 1333... | ||
1276 | 1333 | ||
1277 | static struct radeon_asic evergreen_asic = { |
1334 | static struct radeon_asic evergreen_asic = { |
1278 | .init = &evergreen_init, |
1335 | .init = &evergreen_init, |
1279 | // .fini = &evergreen_fini, |
1336 | .fini = &evergreen_fini, |
1280 | // .suspend = &evergreen_suspend, |
1337 | // .suspend = &evergreen_suspend, |
1281 | // .resume = &evergreen_resume, |
1338 | // .resume = &evergreen_resume, |
1282 | .asic_reset = &evergreen_asic_reset, |
1339 | .asic_reset = &evergreen_asic_reset, |
1283 | // .vga_set_state = &r600_vga_set_state, |
1340 | // .vga_set_state = &r600_vga_set_state, |
1284 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1341 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1285 | .gui_idle = &r600_gui_idle, |
1342 | .gui_idle = &r600_gui_idle, |
1286 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1343 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1287 | .get_xclk = &rv770_get_xclk, |
1344 | .get_xclk = &rv770_get_xclk, |
- | 1345 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1288 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1346 | .get_allowed_info_register = evergreen_get_allowed_info_register, |
1289 | .gart = { |
1347 | .gart = { |
- | 1348 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
|
1290 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1349 | .get_page_entry = &rs600_gart_get_page_entry, |
1291 | .set_page = &rs600_gart_set_page, |
1350 | .set_page = &rs600_gart_set_page, |
1292 | }, |
1351 | }, |
1293 | .ring = { |
1352 | .ring = { |
1294 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
1353 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
Line 1303... | Line 1362... | ||
1303 | .bandwidth_update = &evergreen_bandwidth_update, |
1362 | .bandwidth_update = &evergreen_bandwidth_update, |
1304 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1363 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1305 | .wait_for_vblank = &dce4_wait_for_vblank, |
1364 | .wait_for_vblank = &dce4_wait_for_vblank, |
1306 | .set_backlight_level = &atombios_set_backlight_level, |
1365 | .set_backlight_level = &atombios_set_backlight_level, |
1307 | .get_backlight_level = &atombios_get_backlight_level, |
1366 | .get_backlight_level = &atombios_get_backlight_level, |
1308 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1309 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1310 | }, |
1367 | }, |
1311 | .copy = { |
1368 | .copy = { |
1312 | .blit = &r600_copy_cpdma, |
1369 | .blit = &r600_copy_cpdma, |
1313 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1370 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1314 | .dma = &evergreen_copy_dma, |
1371 | .dma = &evergreen_copy_dma, |
Line 1357... | Line 1414... | ||
1357 | .get_mclk = &rv770_dpm_get_mclk, |
1414 | .get_mclk = &rv770_dpm_get_mclk, |
1358 | .print_power_state = &rv770_dpm_print_power_state, |
1415 | .print_power_state = &rv770_dpm_print_power_state, |
1359 | .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level, |
1416 | .debugfs_print_current_performance_level = &rv770_dpm_debugfs_print_current_performance_level, |
1360 | .force_performance_level = &rv770_dpm_force_performance_level, |
1417 | .force_performance_level = &rv770_dpm_force_performance_level, |
1361 | .vblank_too_short = &cypress_dpm_vblank_too_short, |
1418 | .vblank_too_short = &cypress_dpm_vblank_too_short, |
- | 1419 | .get_current_sclk = &rv770_dpm_get_current_sclk, |
|
- | 1420 | .get_current_mclk = &rv770_dpm_get_current_mclk, |
|
1362 | }, |
1421 | }, |
1363 | .pflip = { |
1422 | .pflip = { |
1364 | }, |
1423 | }, |
1365 | }; |
1424 | }; |
Line 1366... | Line 1425... | ||
1366 | 1425 | ||
1367 | static struct radeon_asic sumo_asic = { |
1426 | static struct radeon_asic sumo_asic = { |
1368 | .init = &evergreen_init, |
1427 | .init = &evergreen_init, |
1369 | // .fini = &evergreen_fini, |
1428 | .fini = &evergreen_fini, |
1370 | // .suspend = &evergreen_suspend, |
1429 | // .suspend = &evergreen_suspend, |
1371 | // .resume = &evergreen_resume, |
1430 | // .resume = &evergreen_resume, |
1372 | .asic_reset = &evergreen_asic_reset, |
1431 | .asic_reset = &evergreen_asic_reset, |
1373 | // .vga_set_state = &r600_vga_set_state, |
1432 | // .vga_set_state = &r600_vga_set_state, |
1374 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1433 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1375 | .gui_idle = &r600_gui_idle, |
1434 | .gui_idle = &r600_gui_idle, |
1376 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1435 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1377 | .get_xclk = &r600_get_xclk, |
1436 | .get_xclk = &r600_get_xclk, |
- | 1437 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1378 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1438 | .get_allowed_info_register = evergreen_get_allowed_info_register, |
1379 | .gart = { |
1439 | .gart = { |
- | 1440 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
|
1380 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1441 | .get_page_entry = &rs600_gart_get_page_entry, |
1381 | .set_page = &rs600_gart_set_page, |
1442 | .set_page = &rs600_gart_set_page, |
1382 | }, |
1443 | }, |
1383 | .ring = { |
1444 | .ring = { |
1384 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
1445 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
Line 1393... | Line 1454... | ||
1393 | .bandwidth_update = &evergreen_bandwidth_update, |
1454 | .bandwidth_update = &evergreen_bandwidth_update, |
1394 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1455 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1395 | .wait_for_vblank = &dce4_wait_for_vblank, |
1456 | .wait_for_vblank = &dce4_wait_for_vblank, |
1396 | .set_backlight_level = &atombios_set_backlight_level, |
1457 | .set_backlight_level = &atombios_set_backlight_level, |
1397 | .get_backlight_level = &atombios_get_backlight_level, |
1458 | .get_backlight_level = &atombios_get_backlight_level, |
1398 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1399 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1400 | }, |
1459 | }, |
1401 | .copy = { |
1460 | .copy = { |
1402 | .blit = &r600_copy_cpdma, |
1461 | .blit = &r600_copy_cpdma, |
1403 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1462 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1404 | .dma = &evergreen_copy_dma, |
1463 | .dma = &evergreen_copy_dma, |
Line 1446... | Line 1505... | ||
1446 | .get_sclk = &sumo_dpm_get_sclk, |
1505 | .get_sclk = &sumo_dpm_get_sclk, |
1447 | .get_mclk = &sumo_dpm_get_mclk, |
1506 | .get_mclk = &sumo_dpm_get_mclk, |
1448 | .print_power_state = &sumo_dpm_print_power_state, |
1507 | .print_power_state = &sumo_dpm_print_power_state, |
1449 | .debugfs_print_current_performance_level = &sumo_dpm_debugfs_print_current_performance_level, |
1508 | .debugfs_print_current_performance_level = &sumo_dpm_debugfs_print_current_performance_level, |
1450 | .force_performance_level = &sumo_dpm_force_performance_level, |
1509 | .force_performance_level = &sumo_dpm_force_performance_level, |
- | 1510 | .get_current_sclk = &sumo_dpm_get_current_sclk, |
|
- | 1511 | .get_current_mclk = &sumo_dpm_get_current_mclk, |
|
1451 | }, |
1512 | }, |
1452 | .pflip = { |
1513 | .pflip = { |
1453 | // .pre_page_flip = &evergreen_pre_page_flip, |
1514 | // .pre_page_flip = &evergreen_pre_page_flip, |
1454 | // .page_flip = &evergreen_page_flip, |
1515 | // .page_flip = &evergreen_page_flip, |
1455 | }, |
1516 | }, |
1456 | }; |
1517 | }; |
Line 1457... | Line 1518... | ||
1457 | 1518 | ||
1458 | static struct radeon_asic btc_asic = { |
1519 | static struct radeon_asic btc_asic = { |
1459 | .init = &evergreen_init, |
1520 | .init = &evergreen_init, |
1460 | // .fini = &evergreen_fini, |
1521 | .fini = &evergreen_fini, |
1461 | // .suspend = &evergreen_suspend, |
1522 | // .suspend = &evergreen_suspend, |
1462 | // .resume = &evergreen_resume, |
1523 | // .resume = &evergreen_resume, |
1463 | .asic_reset = &evergreen_asic_reset, |
1524 | .asic_reset = &evergreen_asic_reset, |
1464 | // .vga_set_state = &r600_vga_set_state, |
1525 | // .vga_set_state = &r600_vga_set_state, |
1465 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1526 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1466 | .gui_idle = &r600_gui_idle, |
1527 | .gui_idle = &r600_gui_idle, |
1467 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1528 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1468 | .get_xclk = &rv770_get_xclk, |
1529 | .get_xclk = &rv770_get_xclk, |
- | 1530 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1469 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1531 | .get_allowed_info_register = evergreen_get_allowed_info_register, |
1470 | .gart = { |
1532 | .gart = { |
- | 1533 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
|
1471 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1534 | .get_page_entry = &rs600_gart_get_page_entry, |
1472 | .set_page = &rs600_gart_set_page, |
1535 | .set_page = &rs600_gart_set_page, |
1473 | }, |
1536 | }, |
1474 | .ring = { |
1537 | .ring = { |
1475 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
1538 | [RADEON_RING_TYPE_GFX_INDEX] = &evergreen_gfx_ring, |
Line 1484... | Line 1547... | ||
1484 | .bandwidth_update = &evergreen_bandwidth_update, |
1547 | .bandwidth_update = &evergreen_bandwidth_update, |
1485 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1548 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1486 | .wait_for_vblank = &dce4_wait_for_vblank, |
1549 | .wait_for_vblank = &dce4_wait_for_vblank, |
1487 | .set_backlight_level = &atombios_set_backlight_level, |
1550 | .set_backlight_level = &atombios_set_backlight_level, |
1488 | .get_backlight_level = &atombios_get_backlight_level, |
1551 | .get_backlight_level = &atombios_get_backlight_level, |
1489 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1490 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1491 | }, |
1552 | }, |
1492 | .copy = { |
1553 | .copy = { |
1493 | .blit = &r600_copy_cpdma, |
1554 | .blit = &r600_copy_cpdma, |
1494 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1555 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1495 | .dma = &evergreen_copy_dma, |
1556 | .dma = &evergreen_copy_dma, |
Line 1538... | Line 1599... | ||
1538 | .get_mclk = &btc_dpm_get_mclk, |
1599 | .get_mclk = &btc_dpm_get_mclk, |
1539 | .print_power_state = &rv770_dpm_print_power_state, |
1600 | .print_power_state = &rv770_dpm_print_power_state, |
1540 | .debugfs_print_current_performance_level = &btc_dpm_debugfs_print_current_performance_level, |
1601 | .debugfs_print_current_performance_level = &btc_dpm_debugfs_print_current_performance_level, |
1541 | .force_performance_level = &rv770_dpm_force_performance_level, |
1602 | .force_performance_level = &rv770_dpm_force_performance_level, |
1542 | .vblank_too_short = &btc_dpm_vblank_too_short, |
1603 | .vblank_too_short = &btc_dpm_vblank_too_short, |
- | 1604 | .get_current_sclk = &btc_dpm_get_current_sclk, |
|
- | 1605 | .get_current_mclk = &btc_dpm_get_current_mclk, |
|
1543 | }, |
1606 | }, |
1544 | .pflip = { |
1607 | .pflip = { |
1545 | // .pre_page_flip = &evergreen_pre_page_flip, |
1608 | // .pre_page_flip = &evergreen_pre_page_flip, |
1546 | // .page_flip = &evergreen_page_flip, |
1609 | // .page_flip = &evergreen_page_flip, |
1547 | }, |
1610 | }, |
Line 1590... | Line 1653... | ||
1590 | .set_wptr = &uvd_v1_0_set_wptr, |
1653 | .set_wptr = &uvd_v1_0_set_wptr, |
1591 | }; |
1654 | }; |
Line 1592... | Line 1655... | ||
1592 | 1655 | ||
1593 | static struct radeon_asic cayman_asic = { |
1656 | static struct radeon_asic cayman_asic = { |
1594 | .init = &cayman_init, |
1657 | .init = &cayman_init, |
1595 | // .fini = &cayman_fini, |
1658 | .fini = &cayman_fini, |
1596 | // .suspend = &cayman_suspend, |
1659 | // .suspend = &cayman_suspend, |
1597 | // .resume = &cayman_resume, |
1660 | // .resume = &cayman_resume, |
1598 | .asic_reset = &cayman_asic_reset, |
1661 | .asic_reset = &cayman_asic_reset, |
1599 | // .vga_set_state = &r600_vga_set_state, |
1662 | // .vga_set_state = &r600_vga_set_state, |
1600 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1663 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1601 | .gui_idle = &r600_gui_idle, |
1664 | .gui_idle = &r600_gui_idle, |
1602 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1665 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1603 | .get_xclk = &rv770_get_xclk, |
1666 | .get_xclk = &rv770_get_xclk, |
- | 1667 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1604 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1668 | .get_allowed_info_register = cayman_get_allowed_info_register, |
1605 | .gart = { |
1669 | .gart = { |
- | 1670 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
|
1606 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1671 | .get_page_entry = &rs600_gart_get_page_entry, |
1607 | .set_page = &rs600_gart_set_page, |
1672 | .set_page = &rs600_gart_set_page, |
1608 | }, |
1673 | }, |
1609 | .vm = { |
1674 | .vm = { |
1610 | .init = &cayman_vm_init, |
1675 | .init = &cayman_vm_init, |
Line 1630... | Line 1695... | ||
1630 | .bandwidth_update = &evergreen_bandwidth_update, |
1695 | .bandwidth_update = &evergreen_bandwidth_update, |
1631 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1696 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1632 | .wait_for_vblank = &dce4_wait_for_vblank, |
1697 | .wait_for_vblank = &dce4_wait_for_vblank, |
1633 | .set_backlight_level = &atombios_set_backlight_level, |
1698 | .set_backlight_level = &atombios_set_backlight_level, |
1634 | .get_backlight_level = &atombios_get_backlight_level, |
1699 | .get_backlight_level = &atombios_get_backlight_level, |
1635 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1636 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1637 | }, |
1700 | }, |
1638 | .copy = { |
1701 | .copy = { |
1639 | .blit = &r600_copy_cpdma, |
1702 | .blit = &r600_copy_cpdma, |
1640 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1703 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1641 | .dma = &evergreen_copy_dma, |
1704 | .dma = &evergreen_copy_dma, |
Line 1684... | Line 1747... | ||
1684 | .get_mclk = &ni_dpm_get_mclk, |
1747 | .get_mclk = &ni_dpm_get_mclk, |
1685 | .print_power_state = &ni_dpm_print_power_state, |
1748 | .print_power_state = &ni_dpm_print_power_state, |
1686 | .debugfs_print_current_performance_level = &ni_dpm_debugfs_print_current_performance_level, |
1749 | .debugfs_print_current_performance_level = &ni_dpm_debugfs_print_current_performance_level, |
1687 | .force_performance_level = &ni_dpm_force_performance_level, |
1750 | .force_performance_level = &ni_dpm_force_performance_level, |
1688 | .vblank_too_short = &ni_dpm_vblank_too_short, |
1751 | .vblank_too_short = &ni_dpm_vblank_too_short, |
- | 1752 | .get_current_sclk = &ni_dpm_get_current_sclk, |
|
- | 1753 | .get_current_mclk = &ni_dpm_get_current_mclk, |
|
1689 | }, |
1754 | }, |
1690 | .pflip = { |
1755 | .pflip = { |
1691 | // .pre_page_flip = &evergreen_pre_page_flip, |
1756 | // .pre_page_flip = &evergreen_pre_page_flip, |
1692 | // .page_flip = &evergreen_page_flip, |
1757 | // .page_flip = &evergreen_page_flip, |
1693 | }, |
1758 | }, |
1694 | }; |
1759 | }; |
Line -... | Line 1760... | ||
- | 1760 | ||
- | 1761 | static struct radeon_asic_ring trinity_vce_ring = { |
|
- | 1762 | .ib_execute = &radeon_vce_ib_execute, |
|
- | 1763 | .emit_fence = &radeon_vce_fence_emit, |
|
- | 1764 | .emit_semaphore = &radeon_vce_semaphore_emit, |
|
- | 1765 | .cs_parse = &radeon_vce_cs_parse, |
|
- | 1766 | .ring_test = &radeon_vce_ring_test, |
|
- | 1767 | .ib_test = &radeon_vce_ib_test, |
|
- | 1768 | .is_lockup = &radeon_ring_test_lockup, |
|
- | 1769 | .get_rptr = &vce_v1_0_get_rptr, |
|
- | 1770 | .get_wptr = &vce_v1_0_get_wptr, |
|
- | 1771 | .set_wptr = &vce_v1_0_set_wptr, |
|
- | 1772 | }; |
|
1695 | 1773 | ||
1696 | static struct radeon_asic trinity_asic = { |
1774 | static struct radeon_asic trinity_asic = { |
1697 | .init = &cayman_init, |
1775 | .init = &cayman_init, |
1698 | // .fini = &cayman_fini, |
1776 | .fini = &cayman_fini, |
1699 | // .suspend = &cayman_suspend, |
1777 | // .suspend = &cayman_suspend, |
1700 | // .resume = &cayman_resume, |
1778 | // .resume = &cayman_resume, |
1701 | .asic_reset = &cayman_asic_reset, |
1779 | .asic_reset = &cayman_asic_reset, |
1702 | // .vga_set_state = &r600_vga_set_state, |
1780 | // .vga_set_state = &r600_vga_set_state, |
1703 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1781 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1704 | .gui_idle = &r600_gui_idle, |
1782 | .gui_idle = &r600_gui_idle, |
1705 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1783 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1706 | .get_xclk = &r600_get_xclk, |
1784 | .get_xclk = &r600_get_xclk, |
- | 1785 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1707 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
1786 | .get_allowed_info_register = cayman_get_allowed_info_register, |
1708 | .gart = { |
1787 | .gart = { |
- | 1788 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
|
1709 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1789 | .get_page_entry = &rs600_gart_get_page_entry, |
1710 | .set_page = &rs600_gart_set_page, |
1790 | .set_page = &rs600_gart_set_page, |
1711 | }, |
1791 | }, |
1712 | .vm = { |
1792 | .vm = { |
1713 | .init = &cayman_vm_init, |
1793 | .init = &cayman_vm_init, |
Line 1722... | Line 1802... | ||
1722 | [CAYMAN_RING_TYPE_CP1_INDEX] = &cayman_gfx_ring, |
1802 | [CAYMAN_RING_TYPE_CP1_INDEX] = &cayman_gfx_ring, |
1723 | [CAYMAN_RING_TYPE_CP2_INDEX] = &cayman_gfx_ring, |
1803 | [CAYMAN_RING_TYPE_CP2_INDEX] = &cayman_gfx_ring, |
1724 | [R600_RING_TYPE_DMA_INDEX] = &cayman_dma_ring, |
1804 | [R600_RING_TYPE_DMA_INDEX] = &cayman_dma_ring, |
1725 | [CAYMAN_RING_TYPE_DMA1_INDEX] = &cayman_dma_ring, |
1805 | [CAYMAN_RING_TYPE_DMA1_INDEX] = &cayman_dma_ring, |
1726 | [R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring, |
1806 | [R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring, |
- | 1807 | [TN_RING_TYPE_VCE1_INDEX] = &trinity_vce_ring, |
|
- | 1808 | [TN_RING_TYPE_VCE2_INDEX] = &trinity_vce_ring, |
|
1727 | }, |
1809 | }, |
1728 | .irq = { |
1810 | .irq = { |
1729 | .set = &evergreen_irq_set, |
1811 | .set = &evergreen_irq_set, |
1730 | .process = &evergreen_irq_process, |
1812 | .process = &evergreen_irq_process, |
1731 | }, |
1813 | }, |
Line 1733... | Line 1815... | ||
1733 | .bandwidth_update = &dce6_bandwidth_update, |
1815 | .bandwidth_update = &dce6_bandwidth_update, |
1734 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1816 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1735 | .wait_for_vblank = &dce4_wait_for_vblank, |
1817 | .wait_for_vblank = &dce4_wait_for_vblank, |
1736 | .set_backlight_level = &atombios_set_backlight_level, |
1818 | .set_backlight_level = &atombios_set_backlight_level, |
1737 | .get_backlight_level = &atombios_get_backlight_level, |
1819 | .get_backlight_level = &atombios_get_backlight_level, |
1738 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1739 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1740 | }, |
1820 | }, |
1741 | .copy = { |
1821 | .copy = { |
1742 | .blit = &r600_copy_cpdma, |
1822 | .blit = &r600_copy_cpdma, |
1743 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1823 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1744 | .dma = &evergreen_copy_dma, |
1824 | .dma = &evergreen_copy_dma, |
Line 1768... | Line 1848... | ||
1768 | .set_memory_clock = NULL, |
1848 | .set_memory_clock = NULL, |
1769 | .get_pcie_lanes = NULL, |
1849 | .get_pcie_lanes = NULL, |
1770 | .set_pcie_lanes = NULL, |
1850 | .set_pcie_lanes = NULL, |
1771 | .set_clock_gating = NULL, |
1851 | .set_clock_gating = NULL, |
1772 | .set_uvd_clocks = &sumo_set_uvd_clocks, |
1852 | .set_uvd_clocks = &sumo_set_uvd_clocks, |
- | 1853 | .set_vce_clocks = &tn_set_vce_clocks, |
|
1773 | .get_temperature = &tn_get_temp, |
1854 | .get_temperature = &tn_get_temp, |
1774 | }, |
1855 | }, |
1775 | .dpm = { |
1856 | .dpm = { |
1776 | .init = &trinity_dpm_init, |
1857 | .init = &trinity_dpm_init, |
1777 | .setup_asic = &trinity_dpm_setup_asic, |
1858 | .setup_asic = &trinity_dpm_setup_asic, |
Line 1787... | Line 1868... | ||
1787 | .get_mclk = &trinity_dpm_get_mclk, |
1868 | .get_mclk = &trinity_dpm_get_mclk, |
1788 | .print_power_state = &trinity_dpm_print_power_state, |
1869 | .print_power_state = &trinity_dpm_print_power_state, |
1789 | .debugfs_print_current_performance_level = &trinity_dpm_debugfs_print_current_performance_level, |
1870 | .debugfs_print_current_performance_level = &trinity_dpm_debugfs_print_current_performance_level, |
1790 | .force_performance_level = &trinity_dpm_force_performance_level, |
1871 | .force_performance_level = &trinity_dpm_force_performance_level, |
1791 | .enable_bapm = &trinity_dpm_enable_bapm, |
1872 | .enable_bapm = &trinity_dpm_enable_bapm, |
- | 1873 | .get_current_sclk = &trinity_dpm_get_current_sclk, |
|
- | 1874 | .get_current_mclk = &trinity_dpm_get_current_mclk, |
|
1792 | }, |
1875 | }, |
1793 | .pflip = { |
1876 | .pflip = { |
1794 | // .pre_page_flip = &evergreen_pre_page_flip, |
1877 | // .pre_page_flip = &evergreen_pre_page_flip, |
1795 | // .page_flip = &evergreen_page_flip, |
1878 | // .page_flip = &evergreen_page_flip, |
1796 | }, |
1879 | }, |
Line 1826... | Line 1909... | ||
1826 | .set_wptr = &cayman_dma_set_wptr, |
1909 | .set_wptr = &cayman_dma_set_wptr, |
1827 | }; |
1910 | }; |
Line 1828... | Line 1911... | ||
1828 | 1911 | ||
1829 | static struct radeon_asic si_asic = { |
1912 | static struct radeon_asic si_asic = { |
1830 | .init = &si_init, |
1913 | .init = &si_init, |
1831 | // .fini = &si_fini, |
1914 | .fini = &si_fini, |
1832 | // .suspend = &si_suspend, |
1915 | // .suspend = &si_suspend, |
1833 | // .resume = &si_resume, |
1916 | .resume = &si_resume, |
1834 | .asic_reset = &si_asic_reset, |
1917 | .asic_reset = &si_asic_reset, |
1835 | // .vga_set_state = &r600_vga_set_state, |
1918 | // .vga_set_state = &r600_vga_set_state, |
1836 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1919 | .mmio_hdp_flush = r600_mmio_hdp_flush, |
1837 | .gui_idle = &r600_gui_idle, |
1920 | .gui_idle = &r600_gui_idle, |
1838 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1921 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1839 | .get_xclk = &si_get_xclk, |
1922 | .get_xclk = &si_get_xclk, |
- | 1923 | .get_gpu_clock_counter = &si_get_gpu_clock_counter, |
|
1840 | .get_gpu_clock_counter = &si_get_gpu_clock_counter, |
1924 | .get_allowed_info_register = si_get_allowed_info_register, |
1841 | .gart = { |
1925 | .gart = { |
- | 1926 | .tlb_flush = &si_pcie_gart_tlb_flush, |
|
1842 | .tlb_flush = &si_pcie_gart_tlb_flush, |
1927 | .get_page_entry = &rs600_gart_get_page_entry, |
1843 | .set_page = &rs600_gart_set_page, |
1928 | .set_page = &rs600_gart_set_page, |
1844 | }, |
1929 | }, |
1845 | .vm = { |
1930 | .vm = { |
1846 | .init = &si_vm_init, |
1931 | .init = &si_vm_init, |
Line 1855... | Line 1940... | ||
1855 | [CAYMAN_RING_TYPE_CP1_INDEX] = &si_gfx_ring, |
1940 | [CAYMAN_RING_TYPE_CP1_INDEX] = &si_gfx_ring, |
1856 | [CAYMAN_RING_TYPE_CP2_INDEX] = &si_gfx_ring, |
1941 | [CAYMAN_RING_TYPE_CP2_INDEX] = &si_gfx_ring, |
1857 | [R600_RING_TYPE_DMA_INDEX] = &si_dma_ring, |
1942 | [R600_RING_TYPE_DMA_INDEX] = &si_dma_ring, |
1858 | [CAYMAN_RING_TYPE_DMA1_INDEX] = &si_dma_ring, |
1943 | [CAYMAN_RING_TYPE_DMA1_INDEX] = &si_dma_ring, |
1859 | [R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring, |
1944 | [R600_RING_TYPE_UVD_INDEX] = &cayman_uvd_ring, |
- | 1945 | [TN_RING_TYPE_VCE1_INDEX] = &trinity_vce_ring, |
|
- | 1946 | [TN_RING_TYPE_VCE2_INDEX] = &trinity_vce_ring, |
|
1860 | }, |
1947 | }, |
1861 | .irq = { |
1948 | .irq = { |
1862 | .set = &si_irq_set, |
1949 | .set = &si_irq_set, |
1863 | .process = &si_irq_process, |
1950 | .process = &si_irq_process, |
1864 | }, |
1951 | }, |
Line 1866... | Line 1953... | ||
1866 | .bandwidth_update = &dce6_bandwidth_update, |
1953 | .bandwidth_update = &dce6_bandwidth_update, |
1867 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1954 | .get_vblank_counter = &evergreen_get_vblank_counter, |
1868 | .wait_for_vblank = &dce4_wait_for_vblank, |
1955 | .wait_for_vblank = &dce4_wait_for_vblank, |
1869 | .set_backlight_level = &atombios_set_backlight_level, |
1956 | .set_backlight_level = &atombios_set_backlight_level, |
1870 | .get_backlight_level = &atombios_get_backlight_level, |
1957 | .get_backlight_level = &atombios_get_backlight_level, |
1871 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
1872 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
1873 | }, |
1958 | }, |
1874 | .copy = { |
1959 | .copy = { |
1875 | .blit = &r600_copy_cpdma, |
1960 | .blit = &r600_copy_cpdma, |
1876 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1961 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1877 | .dma = &si_copy_dma, |
1962 | .dma = &si_copy_dma, |
Line 1901... | Line 1986... | ||
1901 | .set_memory_clock = &radeon_atom_set_memory_clock, |
1986 | .set_memory_clock = &radeon_atom_set_memory_clock, |
1902 | .get_pcie_lanes = &r600_get_pcie_lanes, |
1987 | .get_pcie_lanes = &r600_get_pcie_lanes, |
1903 | .set_pcie_lanes = &r600_set_pcie_lanes, |
1988 | .set_pcie_lanes = &r600_set_pcie_lanes, |
1904 | .set_clock_gating = NULL, |
1989 | .set_clock_gating = NULL, |
1905 | .set_uvd_clocks = &si_set_uvd_clocks, |
1990 | .set_uvd_clocks = &si_set_uvd_clocks, |
- | 1991 | .set_vce_clocks = &si_set_vce_clocks, |
|
1906 | .get_temperature = &si_get_temp, |
1992 | .get_temperature = &si_get_temp, |
1907 | }, |
1993 | }, |
1908 | .dpm = { |
1994 | .dpm = { |
1909 | .init = &si_dpm_init, |
1995 | .init = &si_dpm_init, |
1910 | .setup_asic = &si_dpm_setup_asic, |
1996 | .setup_asic = &si_dpm_setup_asic, |
Line 1920... | Line 2006... | ||
1920 | .get_mclk = &ni_dpm_get_mclk, |
2006 | .get_mclk = &ni_dpm_get_mclk, |
1921 | .print_power_state = &ni_dpm_print_power_state, |
2007 | .print_power_state = &ni_dpm_print_power_state, |
1922 | .debugfs_print_current_performance_level = &si_dpm_debugfs_print_current_performance_level, |
2008 | .debugfs_print_current_performance_level = &si_dpm_debugfs_print_current_performance_level, |
1923 | .force_performance_level = &si_dpm_force_performance_level, |
2009 | .force_performance_level = &si_dpm_force_performance_level, |
1924 | .vblank_too_short = &ni_dpm_vblank_too_short, |
2010 | .vblank_too_short = &ni_dpm_vblank_too_short, |
- | 2011 | .fan_ctrl_set_mode = &si_fan_ctrl_set_mode, |
|
- | 2012 | .fan_ctrl_get_mode = &si_fan_ctrl_get_mode, |
|
- | 2013 | .get_fan_speed_percent = &si_fan_ctrl_get_fan_speed_percent, |
|
- | 2014 | .set_fan_speed_percent = &si_fan_ctrl_set_fan_speed_percent, |
|
- | 2015 | .get_current_sclk = &si_dpm_get_current_sclk, |
|
- | 2016 | .get_current_mclk = &si_dpm_get_current_mclk, |
|
1925 | }, |
2017 | }, |
1926 | .pflip = { |
2018 | .pflip = { |
1927 | // .pre_page_flip = &evergreen_pre_page_flip, |
2019 | // .pre_page_flip = &evergreen_pre_page_flip, |
1928 | // .page_flip = &evergreen_page_flip, |
2020 | // .page_flip = &evergreen_page_flip, |
1929 | }, |
2021 | }, |
Line 1987... | Line 2079... | ||
1987 | .set_wptr = &vce_v1_0_set_wptr, |
2079 | .set_wptr = &vce_v1_0_set_wptr, |
1988 | }; |
2080 | }; |
Line 1989... | Line 2081... | ||
1989 | 2081 | ||
1990 | static struct radeon_asic ci_asic = { |
2082 | static struct radeon_asic ci_asic = { |
1991 | .init = &cik_init, |
2083 | .init = &cik_init, |
1992 | // .fini = &si_fini, |
2084 | .fini = &cik_fini, |
1993 | // .suspend = &si_suspend, |
2085 | // .suspend = &cik_suspend, |
1994 | // .resume = &si_resume, |
2086 | // .resume = &cik_resume, |
1995 | .asic_reset = &cik_asic_reset, |
2087 | .asic_reset = &cik_asic_reset, |
1996 | // .vga_set_state = &r600_vga_set_state, |
2088 | // .vga_set_state = &r600_vga_set_state, |
1997 | .mmio_hdp_flush = &r600_mmio_hdp_flush, |
2089 | .mmio_hdp_flush = &r600_mmio_hdp_flush, |
1998 | .gui_idle = &r600_gui_idle, |
2090 | .gui_idle = &r600_gui_idle, |
1999 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
2091 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
2000 | .get_xclk = &cik_get_xclk, |
2092 | .get_xclk = &cik_get_xclk, |
- | 2093 | .get_gpu_clock_counter = &cik_get_gpu_clock_counter, |
|
2001 | .get_gpu_clock_counter = &cik_get_gpu_clock_counter, |
2094 | .get_allowed_info_register = cik_get_allowed_info_register, |
2002 | .gart = { |
2095 | .gart = { |
- | 2096 | .tlb_flush = &cik_pcie_gart_tlb_flush, |
|
2003 | .tlb_flush = &cik_pcie_gart_tlb_flush, |
2097 | .get_page_entry = &rs600_gart_get_page_entry, |
2004 | .set_page = &rs600_gart_set_page, |
2098 | .set_page = &rs600_gart_set_page, |
2005 | }, |
2099 | }, |
2006 | .vm = { |
2100 | .vm = { |
2007 | .init = &cik_vm_init, |
2101 | .init = &cik_vm_init, |
Line 2029... | Line 2123... | ||
2029 | .bandwidth_update = &dce8_bandwidth_update, |
2123 | .bandwidth_update = &dce8_bandwidth_update, |
2030 | .get_vblank_counter = &evergreen_get_vblank_counter, |
2124 | .get_vblank_counter = &evergreen_get_vblank_counter, |
2031 | .wait_for_vblank = &dce4_wait_for_vblank, |
2125 | .wait_for_vblank = &dce4_wait_for_vblank, |
2032 | .set_backlight_level = &atombios_set_backlight_level, |
2126 | .set_backlight_level = &atombios_set_backlight_level, |
2033 | .get_backlight_level = &atombios_get_backlight_level, |
2127 | .get_backlight_level = &atombios_get_backlight_level, |
2034 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
2035 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
2036 | }, |
2128 | }, |
2037 | .copy = { |
2129 | .copy = { |
2038 | .blit = &cik_copy_cpdma, |
2130 | .blit = &cik_copy_cpdma, |
2039 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
2131 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
2040 | .dma = &cik_copy_dma, |
2132 | .dma = &cik_copy_dma, |
Line 2085... | Line 2177... | ||
2085 | .print_power_state = &ci_dpm_print_power_state, |
2177 | .print_power_state = &ci_dpm_print_power_state, |
2086 | .debugfs_print_current_performance_level = &ci_dpm_debugfs_print_current_performance_level, |
2178 | .debugfs_print_current_performance_level = &ci_dpm_debugfs_print_current_performance_level, |
2087 | .force_performance_level = &ci_dpm_force_performance_level, |
2179 | .force_performance_level = &ci_dpm_force_performance_level, |
2088 | .vblank_too_short = &ci_dpm_vblank_too_short, |
2180 | .vblank_too_short = &ci_dpm_vblank_too_short, |
2089 | .powergate_uvd = &ci_dpm_powergate_uvd, |
2181 | .powergate_uvd = &ci_dpm_powergate_uvd, |
- | 2182 | .fan_ctrl_set_mode = &ci_fan_ctrl_set_mode, |
|
- | 2183 | .fan_ctrl_get_mode = &ci_fan_ctrl_get_mode, |
|
- | 2184 | .get_fan_speed_percent = &ci_fan_ctrl_get_fan_speed_percent, |
|
- | 2185 | .set_fan_speed_percent = &ci_fan_ctrl_set_fan_speed_percent, |
|
- | 2186 | .get_current_sclk = &ci_dpm_get_current_sclk, |
|
- | 2187 | .get_current_mclk = &ci_dpm_get_current_mclk, |
|
2090 | }, |
2188 | }, |
2091 | .pflip = { |
2189 | .pflip = { |
2092 | // .pre_page_flip = &evergreen_pre_page_flip, |
2190 | // .pre_page_flip = &evergreen_pre_page_flip, |
2093 | // .page_flip = &evergreen_page_flip, |
2191 | // .page_flip = &evergreen_page_flip, |
2094 | }, |
2192 | }, |
2095 | }; |
2193 | }; |
Line 2096... | Line 2194... | ||
2096 | 2194 | ||
2097 | static struct radeon_asic kv_asic = { |
2195 | static struct radeon_asic kv_asic = { |
2098 | .init = &cik_init, |
2196 | .init = &cik_init, |
2099 | // .fini = &si_fini, |
2197 | .fini = &cik_fini, |
2100 | // .suspend = &si_suspend, |
2198 | // .suspend = &cik_suspend, |
2101 | // .resume = &si_resume, |
2199 | // .resume = &cik_resume, |
2102 | .asic_reset = &cik_asic_reset, |
2200 | .asic_reset = &cik_asic_reset, |
2103 | // .vga_set_state = &r600_vga_set_state, |
2201 | // .vga_set_state = &r600_vga_set_state, |
2104 | .mmio_hdp_flush = &r600_mmio_hdp_flush, |
2202 | .mmio_hdp_flush = &r600_mmio_hdp_flush, |
2105 | .gui_idle = &r600_gui_idle, |
2203 | .gui_idle = &r600_gui_idle, |
2106 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
2204 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
2107 | .get_xclk = &cik_get_xclk, |
2205 | .get_xclk = &cik_get_xclk, |
- | 2206 | .get_gpu_clock_counter = &cik_get_gpu_clock_counter, |
|
2108 | .get_gpu_clock_counter = &cik_get_gpu_clock_counter, |
2207 | .get_allowed_info_register = cik_get_allowed_info_register, |
2109 | .gart = { |
2208 | .gart = { |
- | 2209 | .tlb_flush = &cik_pcie_gart_tlb_flush, |
|
2110 | .tlb_flush = &cik_pcie_gart_tlb_flush, |
2210 | .get_page_entry = &rs600_gart_get_page_entry, |
2111 | .set_page = &rs600_gart_set_page, |
2211 | .set_page = &rs600_gart_set_page, |
2112 | }, |
2212 | }, |
2113 | .vm = { |
2213 | .vm = { |
2114 | .init = &cik_vm_init, |
2214 | .init = &cik_vm_init, |
Line 2136... | Line 2236... | ||
2136 | .bandwidth_update = &dce8_bandwidth_update, |
2236 | .bandwidth_update = &dce8_bandwidth_update, |
2137 | .get_vblank_counter = &evergreen_get_vblank_counter, |
2237 | .get_vblank_counter = &evergreen_get_vblank_counter, |
2138 | .wait_for_vblank = &dce4_wait_for_vblank, |
2238 | .wait_for_vblank = &dce4_wait_for_vblank, |
2139 | .set_backlight_level = &atombios_set_backlight_level, |
2239 | .set_backlight_level = &atombios_set_backlight_level, |
2140 | .get_backlight_level = &atombios_get_backlight_level, |
2240 | .get_backlight_level = &atombios_get_backlight_level, |
2141 | .hdmi_enable = &evergreen_hdmi_enable, |
- | |
2142 | .hdmi_setmode = &evergreen_hdmi_setmode, |
- | |
2143 | }, |
2241 | }, |
2144 | .copy = { |
2242 | .copy = { |
2145 | .blit = &cik_copy_cpdma, |
2243 | .blit = &cik_copy_cpdma, |
2146 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
2244 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
2147 | .dma = &cik_copy_dma, |
2245 | .dma = &cik_copy_dma, |
Line 2192... | Line 2290... | ||
2192 | .print_power_state = &kv_dpm_print_power_state, |
2290 | .print_power_state = &kv_dpm_print_power_state, |
2193 | .debugfs_print_current_performance_level = &kv_dpm_debugfs_print_current_performance_level, |
2291 | .debugfs_print_current_performance_level = &kv_dpm_debugfs_print_current_performance_level, |
2194 | .force_performance_level = &kv_dpm_force_performance_level, |
2292 | .force_performance_level = &kv_dpm_force_performance_level, |
2195 | .powergate_uvd = &kv_dpm_powergate_uvd, |
2293 | .powergate_uvd = &kv_dpm_powergate_uvd, |
2196 | .enable_bapm = &kv_dpm_enable_bapm, |
2294 | .enable_bapm = &kv_dpm_enable_bapm, |
- | 2295 | .get_current_sclk = &kv_dpm_get_current_sclk, |
|
- | 2296 | .get_current_mclk = &kv_dpm_get_current_mclk, |
|
2197 | }, |
2297 | }, |
2198 | .pflip = { |
2298 | .pflip = { |
2199 | // .pre_page_flip = &evergreen_pre_page_flip, |
2299 | // .pre_page_flip = &evergreen_pre_page_flip, |
2200 | // .page_flip = &evergreen_page_flip, |
2300 | // .page_flip = &evergreen_page_flip, |
2201 | }, |
2301 | }, |
Line 2350... | Line 2450... | ||
2350 | case CHIP_ARUBA: |
2450 | case CHIP_ARUBA: |
2351 | rdev->asic = &trinity_asic; |
2451 | rdev->asic = &trinity_asic; |
2352 | /* set num crtcs */ |
2452 | /* set num crtcs */ |
2353 | rdev->num_crtc = 4; |
2453 | rdev->num_crtc = 4; |
2354 | rdev->has_uvd = true; |
2454 | rdev->has_uvd = true; |
- | 2455 | rdev->cg_flags = |
|
- | 2456 | RADEON_CG_SUPPORT_VCE_MGCG; |
|
2355 | break; |
2457 | break; |
2356 | case CHIP_TAHITI: |
2458 | case CHIP_TAHITI: |
2357 | case CHIP_PITCAIRN: |
2459 | case CHIP_PITCAIRN: |
2358 | case CHIP_VERDE: |
2460 | case CHIP_VERDE: |
2359 | case CHIP_OLAND: |
2461 | case CHIP_OLAND: |