Lines Matching refs:rdev
46 static bool igp_read_bios_from_vram(struct radeon_device *rdev) in igp_read_bios_from_vram() argument
52 if (!(rdev->flags & RADEON_IS_IGP)) in igp_read_bios_from_vram()
53 if (!radeon_card_posted(rdev)) in igp_read_bios_from_vram()
56 rdev->bios = NULL; in igp_read_bios_from_vram()
57 vram_base = pci_resource_start(rdev->pdev, 0); in igp_read_bios_from_vram()
67 rdev->bios = kmalloc(size, GFP_KERNEL); in igp_read_bios_from_vram()
68 if (rdev->bios == NULL) { in igp_read_bios_from_vram()
72 memcpy_fromio(rdev->bios, bios, size); in igp_read_bios_from_vram()
77 static bool radeon_read_bios(struct radeon_device *rdev) in radeon_read_bios() argument
82 rdev->bios = NULL; in radeon_read_bios()
84 bios = pci_map_rom(rdev->pdev, &size); in radeon_read_bios()
93 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
96 rdev->bios = kzalloc(size, GFP_KERNEL); in radeon_read_bios()
97 if (rdev->bios == NULL) { in radeon_read_bios()
98 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
101 memcpy_fromio(rdev->bios, bios, size); in radeon_read_bios()
102 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
106 static bool radeon_read_platform_bios(struct radeon_device *rdev) in radeon_read_platform_bios() argument
111 rdev->bios = NULL; in radeon_read_platform_bios()
113 bios = pci_platform_rom(rdev->pdev, &size); in radeon_read_platform_bios()
121 rdev->bios = kmemdup(bios, size, GFP_KERNEL); in radeon_read_platform_bios()
122 if (rdev->bios == NULL) { in radeon_read_platform_bios()
177 static bool radeon_atrm_get_bios(struct radeon_device *rdev) in radeon_atrm_get_bios() argument
188 if (rdev->flags & RADEON_IS_IGP) in radeon_atrm_get_bios()
220 rdev->bios = kmalloc(size, GFP_KERNEL); in radeon_atrm_get_bios()
221 if (!rdev->bios) { in radeon_atrm_get_bios()
228 rdev->bios, in radeon_atrm_get_bios()
235 if (i == 0 || rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) { in radeon_atrm_get_bios()
236 kfree(rdev->bios); in radeon_atrm_get_bios()
242 static inline bool radeon_atrm_get_bios(struct radeon_device *rdev) in radeon_atrm_get_bios() argument
248 static bool ni_read_disabled_bios(struct radeon_device *rdev) in ni_read_disabled_bios() argument
265 if (!ASIC_IS_NODCE(rdev)) { in ni_read_disabled_bios()
278 r = radeon_read_bios(rdev); in ni_read_disabled_bios()
282 if (!ASIC_IS_NODCE(rdev)) { in ni_read_disabled_bios()
291 static bool r700_read_disabled_bios(struct radeon_device *rdev) in r700_read_disabled_bios() argument
324 if (rdev->family == CHIP_RV730) { in r700_read_disabled_bios()
340 r = radeon_read_bios(rdev); in r700_read_disabled_bios()
343 if (rdev->family == CHIP_RV730) { in r700_read_disabled_bios()
360 static bool r600_read_disabled_bios(struct radeon_device *rdev) in r600_read_disabled_bios() argument
419 r = radeon_read_bios(rdev); in r600_read_disabled_bios()
437 static bool avivo_read_disabled_bios(struct radeon_device *rdev) in avivo_read_disabled_bios() argument
483 r = radeon_read_bios(rdev); in avivo_read_disabled_bios()
498 static bool legacy_read_disabled_bios(struct radeon_device *rdev) in legacy_read_disabled_bios() argument
511 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
520 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
524 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
536 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
546 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
557 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
561 r = radeon_read_bios(rdev); in legacy_read_disabled_bios()
566 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
571 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
575 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
581 static bool radeon_read_disabled_bios(struct radeon_device *rdev) in radeon_read_disabled_bios() argument
583 if (rdev->flags & RADEON_IS_IGP) in radeon_read_disabled_bios()
584 return igp_read_bios_from_vram(rdev); in radeon_read_disabled_bios()
585 else if (rdev->family >= CHIP_BARTS) in radeon_read_disabled_bios()
586 return ni_read_disabled_bios(rdev); in radeon_read_disabled_bios()
587 else if (rdev->family >= CHIP_RV770) in radeon_read_disabled_bios()
588 return r700_read_disabled_bios(rdev); in radeon_read_disabled_bios()
589 else if (rdev->family >= CHIP_R600) in radeon_read_disabled_bios()
590 return r600_read_disabled_bios(rdev); in radeon_read_disabled_bios()
591 else if (rdev->family >= CHIP_RS600) in radeon_read_disabled_bios()
592 return avivo_read_disabled_bios(rdev); in radeon_read_disabled_bios()
594 return legacy_read_disabled_bios(rdev); in radeon_read_disabled_bios()
598 static bool radeon_acpi_vfct_bios(struct radeon_device *rdev) in radeon_acpi_vfct_bios() argument
626 if (vhdr->PCIBus != rdev->pdev->bus->number || in radeon_acpi_vfct_bios()
627 vhdr->PCIDevice != PCI_SLOT(rdev->pdev->devfn) || in radeon_acpi_vfct_bios()
628 vhdr->PCIFunction != PCI_FUNC(rdev->pdev->devfn) || in radeon_acpi_vfct_bios()
629 vhdr->VendorID != rdev->pdev->vendor || in radeon_acpi_vfct_bios()
630 vhdr->DeviceID != rdev->pdev->device) { in radeon_acpi_vfct_bios()
640 rdev->bios = kmemdup(&vbios->VbiosContent, vhdr->ImageLength, GFP_KERNEL); in radeon_acpi_vfct_bios()
641 ret = !!rdev->bios; in radeon_acpi_vfct_bios()
647 static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev) in radeon_acpi_vfct_bios() argument
653 bool radeon_get_bios(struct radeon_device *rdev) in radeon_get_bios() argument
658 r = radeon_atrm_get_bios(rdev); in radeon_get_bios()
660 r = radeon_acpi_vfct_bios(rdev); in radeon_get_bios()
662 r = igp_read_bios_from_vram(rdev); in radeon_get_bios()
664 r = radeon_read_bios(rdev); in radeon_get_bios()
666 r = radeon_read_disabled_bios(rdev); in radeon_get_bios()
668 r = radeon_read_platform_bios(rdev); in radeon_get_bios()
669 if (r == false || rdev->bios == NULL) { in radeon_get_bios()
671 rdev->bios = NULL; in radeon_get_bios()
674 if (rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) { in radeon_get_bios()
675 printk("BIOS signature incorrect %x %x\n", rdev->bios[0], rdev->bios[1]); in radeon_get_bios()
685 rdev->bios_header_start = RBIOS16(0x48); in radeon_get_bios()
686 if (!rdev->bios_header_start) { in radeon_get_bios()
689 tmp = rdev->bios_header_start + 4; in radeon_get_bios()
690 if (!memcmp(rdev->bios + tmp, "ATOM", 4) || in radeon_get_bios()
691 !memcmp(rdev->bios + tmp, "MOTA", 4)) { in radeon_get_bios()
692 rdev->is_atom_bios = true; in radeon_get_bios()
694 rdev->is_atom_bios = false; in radeon_get_bios()
697 DRM_DEBUG("%sBIOS detected\n", rdev->is_atom_bios ? "ATOM" : "COM"); in radeon_get_bios()
700 kfree(rdev->bios); in radeon_get_bios()
701 rdev->bios = NULL; in radeon_get_bios()