Lines Matching refs:rdev
45 static bool igp_read_bios_from_vram(struct radeon_device *rdev) in igp_read_bios_from_vram() argument
51 if (!(rdev->flags & RADEON_IS_IGP)) in igp_read_bios_from_vram()
52 if (!radeon_card_posted(rdev)) in igp_read_bios_from_vram()
55 rdev->bios = NULL; in igp_read_bios_from_vram()
56 vram_base = pci_resource_start(rdev->pdev, 0); in igp_read_bios_from_vram()
66 rdev->bios = kmalloc(size, GFP_KERNEL); in igp_read_bios_from_vram()
67 if (rdev->bios == NULL) { in igp_read_bios_from_vram()
71 memcpy_fromio(rdev->bios, bios, size); in igp_read_bios_from_vram()
76 static bool radeon_read_bios(struct radeon_device *rdev) in radeon_read_bios() argument
81 rdev->bios = NULL; in radeon_read_bios()
83 bios = pci_map_rom(rdev->pdev, &size); in radeon_read_bios()
92 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
95 rdev->bios = kzalloc(size, GFP_KERNEL); in radeon_read_bios()
96 if (rdev->bios == NULL) { in radeon_read_bios()
97 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
100 memcpy_fromio(rdev->bios, bios, size); in radeon_read_bios()
101 pci_unmap_rom(rdev->pdev, bios); in radeon_read_bios()
105 static bool radeon_read_platform_bios(struct radeon_device *rdev) in radeon_read_platform_bios() argument
110 rdev->bios = NULL; in radeon_read_platform_bios()
112 bios = pci_platform_rom(rdev->pdev, &size); in radeon_read_platform_bios()
120 rdev->bios = kmemdup(bios, size, GFP_KERNEL); in radeon_read_platform_bios()
121 if (rdev->bios == NULL) { in radeon_read_platform_bios()
176 static bool radeon_atrm_get_bios(struct radeon_device *rdev) in radeon_atrm_get_bios() argument
187 if (rdev->flags & RADEON_IS_IGP) in radeon_atrm_get_bios()
219 rdev->bios = kmalloc(size, GFP_KERNEL); in radeon_atrm_get_bios()
220 if (!rdev->bios) { in radeon_atrm_get_bios()
227 rdev->bios, in radeon_atrm_get_bios()
234 if (i == 0 || rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) { in radeon_atrm_get_bios()
235 kfree(rdev->bios); in radeon_atrm_get_bios()
241 static inline bool radeon_atrm_get_bios(struct radeon_device *rdev) in radeon_atrm_get_bios() argument
247 static bool ni_read_disabled_bios(struct radeon_device *rdev) in ni_read_disabled_bios() argument
264 if (!ASIC_IS_NODCE(rdev)) { in ni_read_disabled_bios()
277 r = radeon_read_bios(rdev); in ni_read_disabled_bios()
281 if (!ASIC_IS_NODCE(rdev)) { in ni_read_disabled_bios()
290 static bool r700_read_disabled_bios(struct radeon_device *rdev) in r700_read_disabled_bios() argument
323 if (rdev->family == CHIP_RV730) { in r700_read_disabled_bios()
339 r = radeon_read_bios(rdev); in r700_read_disabled_bios()
342 if (rdev->family == CHIP_RV730) { in r700_read_disabled_bios()
359 static bool r600_read_disabled_bios(struct radeon_device *rdev) in r600_read_disabled_bios() argument
418 r = radeon_read_bios(rdev); in r600_read_disabled_bios()
436 static bool avivo_read_disabled_bios(struct radeon_device *rdev) in avivo_read_disabled_bios() argument
482 r = radeon_read_bios(rdev); in avivo_read_disabled_bios()
497 static bool legacy_read_disabled_bios(struct radeon_device *rdev) in legacy_read_disabled_bios() argument
510 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
519 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
523 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
535 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
545 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
556 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
560 r = radeon_read_bios(rdev); in legacy_read_disabled_bios()
565 if (rdev->flags & RADEON_IS_PCIE) in legacy_read_disabled_bios()
570 if (!(rdev->flags & RADEON_SINGLE_CRTC)) { in legacy_read_disabled_bios()
574 if (rdev->ddev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) { in legacy_read_disabled_bios()
580 static bool radeon_read_disabled_bios(struct radeon_device *rdev) in radeon_read_disabled_bios() argument
582 if (rdev->flags & RADEON_IS_IGP) in radeon_read_disabled_bios()
583 return igp_read_bios_from_vram(rdev); in radeon_read_disabled_bios()
584 else if (rdev->family >= CHIP_BARTS) in radeon_read_disabled_bios()
585 return ni_read_disabled_bios(rdev); in radeon_read_disabled_bios()
586 else if (rdev->family >= CHIP_RV770) in radeon_read_disabled_bios()
587 return r700_read_disabled_bios(rdev); in radeon_read_disabled_bios()
588 else if (rdev->family >= CHIP_R600) in radeon_read_disabled_bios()
589 return r600_read_disabled_bios(rdev); in radeon_read_disabled_bios()
590 else if (rdev->family >= CHIP_RS600) in radeon_read_disabled_bios()
591 return avivo_read_disabled_bios(rdev); in radeon_read_disabled_bios()
593 return legacy_read_disabled_bios(rdev); in radeon_read_disabled_bios()
597 static bool radeon_acpi_vfct_bios(struct radeon_device *rdev) in radeon_acpi_vfct_bios() argument
625 if (vhdr->PCIBus != rdev->pdev->bus->number || in radeon_acpi_vfct_bios()
626 vhdr->PCIDevice != PCI_SLOT(rdev->pdev->devfn) || in radeon_acpi_vfct_bios()
627 vhdr->PCIFunction != PCI_FUNC(rdev->pdev->devfn) || in radeon_acpi_vfct_bios()
628 vhdr->VendorID != rdev->pdev->vendor || in radeon_acpi_vfct_bios()
629 vhdr->DeviceID != rdev->pdev->device) { in radeon_acpi_vfct_bios()
639 rdev->bios = kmemdup(&vbios->VbiosContent, vhdr->ImageLength, GFP_KERNEL); in radeon_acpi_vfct_bios()
640 ret = !!rdev->bios; in radeon_acpi_vfct_bios()
646 static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev) in radeon_acpi_vfct_bios() argument
652 bool radeon_get_bios(struct radeon_device *rdev) in radeon_get_bios() argument
657 r = radeon_atrm_get_bios(rdev); in radeon_get_bios()
659 r = radeon_acpi_vfct_bios(rdev); in radeon_get_bios()
661 r = igp_read_bios_from_vram(rdev); in radeon_get_bios()
663 r = radeon_read_bios(rdev); in radeon_get_bios()
665 r = radeon_read_disabled_bios(rdev); in radeon_get_bios()
667 r = radeon_read_platform_bios(rdev); in radeon_get_bios()
668 if (r == false || rdev->bios == NULL) { in radeon_get_bios()
670 rdev->bios = NULL; in radeon_get_bios()
673 if (rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) { in radeon_get_bios()
674 printk("BIOS signature incorrect %x %x\n", rdev->bios[0], rdev->bios[1]); in radeon_get_bios()
684 rdev->bios_header_start = RBIOS16(0x48); in radeon_get_bios()
685 if (!rdev->bios_header_start) { in radeon_get_bios()
688 tmp = rdev->bios_header_start + 4; in radeon_get_bios()
689 if (!memcmp(rdev->bios + tmp, "ATOM", 4) || in radeon_get_bios()
690 !memcmp(rdev->bios + tmp, "MOTA", 4)) { in radeon_get_bios()
691 rdev->is_atom_bios = true; in radeon_get_bios()
693 rdev->is_atom_bios = false; in radeon_get_bios()
696 DRM_DEBUG("%sBIOS detected\n", rdev->is_atom_bios ? "ATOM" : "COM"); in radeon_get_bios()
699 kfree(rdev->bios); in radeon_get_bios()
700 rdev->bios = NULL; in radeon_get_bios()