Rev 1125 | Rev 1128 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 1125 | Rev 1126 | ||
---|---|---|---|
Line 26... | Line 26... | ||
26 | * Jerome Glisse |
26 | * Jerome Glisse |
27 | */ |
27 | */ |
28 | //#include |
28 | //#include |
Line 29... | Line 29... | ||
29 | 29 | ||
30 | #include |
30 | #include |
31 | //#include |
31 | #include |
32 | #include "radeon_drm.h" |
32 | #include "radeon_drm.h" |
33 | #include "radeon_reg.h" |
33 | #include "radeon_reg.h" |
34 | #include "radeon.h" |
34 | #include "radeon.h" |
35 | #include "radeon_asic.h" |
35 | #include "radeon_asic.h" |
Line 283... | Line 283... | ||
283 | // rdev->pciep_wreg = &r600_pciep_wreg; |
283 | // rdev->pciep_wreg = &r600_pciep_wreg; |
284 | } |
284 | } |
285 | } |
285 | } |
Line 286... | Line -... | ||
286 | - | ||
287 | 286 | ||
288 | 287 | ||
289 | /* |
288 | /* |
290 | * ASIC |
289 | * ASIC |
291 | */ |
290 | */ |
Line 472... | Line 471... | ||
472 | int radeon_device_init(struct radeon_device *rdev, |
471 | int radeon_device_init(struct radeon_device *rdev, |
473 | struct drm_device *ddev, |
472 | struct drm_device *ddev, |
474 | struct pci_dev *pdev, |
473 | struct pci_dev *pdev, |
475 | uint32_t flags) |
474 | uint32_t flags) |
476 | { |
475 | { |
477 | int r, ret = -1; |
476 | int r, ret; |
Line 478... | Line 477... | ||
478 | 477 | ||
Line 479... | Line 478... | ||
479 | dbgprintf("%s\n",__FUNCTION__); |
478 | dbgprintf("%s\n",__FUNCTION__); |
480 | 479 | ||
Line 493... | Line 492... | ||
493 | // mutex_init(&rdev->cs_mutex); |
492 | // mutex_init(&rdev->cs_mutex); |
494 | // mutex_init(&rdev->ib_pool.mutex); |
493 | // mutex_init(&rdev->ib_pool.mutex); |
495 | // mutex_init(&rdev->cp.mutex); |
494 | // mutex_init(&rdev->cp.mutex); |
496 | // rwlock_init(&rdev->fence_drv.lock); |
495 | // rwlock_init(&rdev->fence_drv.lock); |
Line 497... | Line -... | ||
497 | - | ||
498 | 496 | ||
499 | if (radeon_agpmode == -1) { |
497 | if (radeon_agpmode == -1) { |
500 | rdev->flags &= ~RADEON_IS_AGP; |
498 | rdev->flags &= ~RADEON_IS_AGP; |
501 | if (rdev->family > CHIP_RV515 || |
499 | if (rdev->family > CHIP_RV515 || |
502 | rdev->family == CHIP_RV380 || |
500 | rdev->family == CHIP_RV380 || |
Line 578... | Line 576... | ||
578 | atom_asic_init(rdev->mode_info.atom_context); |
576 | atom_asic_init(rdev->mode_info.atom_context); |
579 | } else { |
577 | } else { |
580 | // radeon_combios_asic_init(rdev->ddev); |
578 | // radeon_combios_asic_init(rdev->ddev); |
581 | } |
579 | } |
582 | } |
580 | } |
583 | - | ||
584 | /* Get vram informations */ |
581 | /* Get vram informations */ |
585 | radeon_vram_info(rdev); |
582 | radeon_vram_info(rdev); |
586 | /* Device is severly broken if aper size > vram size. |
583 | /* Device is severly broken if aper size > vram size. |
587 | * for RN50/M6/M7 - Novell bug 204882 ? |
584 | * for RN50/M6/M7 - Novell bug 204882 ? |
588 | */ |
585 | */ |
Line 606... | Line 603... | ||
606 | 603 | ||
607 | /* Initialize memory controller (also test AGP) */ |
604 | /* Initialize memory controller (also test AGP) */ |
608 | r = radeon_mc_init(rdev); |
605 | r = radeon_mc_init(rdev); |
609 | if (r) { |
606 | if (r) { |
610 | return r; |
- | |
611 | }; |
- | |
612 | 607 | return r; |
|
613 | 608 | } |
|
614 | /* Fence driver */ |
609 | /* Fence driver */ |
615 | // r = radeon_fence_driver_init(rdev); |
610 | // r = radeon_fence_driver_init(rdev); |
616 | // if (r) { |
611 | // if (r) { |
617 | // return r; |
612 | // return r; |
Line 626... | Line 621... | ||
626 | return r; |
621 | return r; |
627 | } |
622 | } |
628 | /* Initialize GART (initialize after TTM so we can allocate |
623 | /* Initialize GART (initialize after TTM so we can allocate |
629 | * memory through TTM but finalize after TTM) */ |
624 | * memory through TTM but finalize after TTM) */ |
630 | r = radeon_gart_enable(rdev); |
625 | r = radeon_gart_enable(rdev); |
631 | // if (!r) { |
626 | if (!r) { |
632 | // r = radeon_gem_init(rdev); |
627 | r = radeon_gem_init(rdev); |
633 | // } |
628 | } |
Line 634... | Line 629... | ||
634 | 629 | ||
635 | /* 1M ring buffer */ |
630 | /* 1M ring buffer */ |
636 | if (!r) { |
631 | if (!r) { |
637 | r = radeon_cp_init(rdev, 1024 * 1024); |
632 | r = radeon_cp_init(rdev, 1024 * 1024); |
Line 670... | Line 665... | ||
670 | // rdev->fbdev_robj = rdev->fbdev_rfb->obj->driver_private; |
665 | // rdev->fbdev_robj = rdev->fbdev_rfb->obj->driver_private; |
671 | // } |
666 | // } |
672 | if (!ret) { |
667 | if (!ret) { |
673 | DRM_INFO("radeon: kernel modesetting successfully initialized.\n"); |
668 | DRM_INFO("radeon: kernel modesetting successfully initialized.\n"); |
674 | } |
669 | } |
675 | // if (radeon_benchmarking) { |
670 | if (radeon_benchmarking) { |
676 | // radeon_benchmark(rdev); |
671 | // radeon_benchmark(rdev); |
677 | // } |
672 | } |
- | 673 | return ret; |
|
Line 678... | Line 674... | ||
678 | 674 | ||
679 | return -1; |
675 | // return -1; |
Line 680... | Line 676... | ||
680 | } |
676 | } |
681 | 677 | ||
682 | static struct pci_device_id pciidlist[] = { |
678 | static struct pci_device_id pciidlist[] = { |
Line 871... | Line 867... | ||
871 | 867 | ||
872 | // DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", |
868 | // DRM_INFO("Initialized %s %d.%d.%d %s for %s on minor %d\n", |
873 | // driver->name, driver->major, driver->minor, driver->patchlevel, |
869 | // driver->name, driver->major, driver->minor, driver->patchlevel, |
Line -... | Line 870... | ||
- | 870 | // driver->date, pci_name(pdev), dev->primary->index); |
|
- | 871 | ||
- | 872 | drm_helper_resume_force_mode(dev); |
|
874 | // driver->date, pci_name(pdev), dev->primary->index); |
873 | |
Line 875... | Line 874... | ||
875 | 874 | ||
876 | return 0; |
875 | return 0; |
877 | 876 |