Lines Matching defs:rdev
49 static bool igp_read_bios_from_vram(struct radeon_device *rdev)
55 if (!(rdev->flags & RADEON_IS_IGP))
56 if (!radeon_card_posted(rdev))
59 rdev->bios = NULL;
60 vram_base = pci_resource_start(rdev->pdev, 0);
70 rdev->bios = kmalloc(size, GFP_KERNEL);
71 if (rdev->bios == NULL) {
75 memcpy_fromio(rdev->bios, bios, size);
80 static bool radeon_read_bios(struct radeon_device *rdev)
85 rdev->bios = NULL;
87 bios = pci_map_rom(rdev->pdev, &size);
96 pci_unmap_rom(rdev->pdev, bios);
99 rdev->bios = kzalloc(size, GFP_KERNEL);
100 if (rdev->bios == NULL) {
101 pci_unmap_rom(rdev->pdev, bios);
104 memcpy_fromio(rdev->bios, bios, size);
105 pci_unmap_rom(rdev->pdev, bios);
109 static bool radeon_read_platform_bios(struct radeon_device *rdev)
111 phys_addr_t rom = rdev->pdev->rom;
112 size_t romlen = rdev->pdev->romlen;
115 rdev->bios = NULL;
120 rdev->bios = kzalloc(romlen, GFP_KERNEL);
121 if (!rdev->bios)
128 memcpy_fromio(rdev->bios, bios, romlen);
131 if (rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa)
136 kfree(rdev->bios);
188 static bool radeon_atrm_get_bios(struct radeon_device *rdev)
199 if (rdev->flags & RADEON_IS_IGP)
232 rdev->bios = kmalloc(size, GFP_KERNEL);
233 if (!rdev->bios) {
240 rdev->bios,
247 if (i == 0 || rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) {
248 kfree(rdev->bios);
254 static inline bool radeon_atrm_get_bios(struct radeon_device *rdev)
260 static bool ni_read_disabled_bios(struct radeon_device *rdev)
277 if (!ASIC_IS_NODCE(rdev)) {
290 r = radeon_read_bios(rdev);
294 if (!ASIC_IS_NODCE(rdev)) {
303 static bool r700_read_disabled_bios(struct radeon_device *rdev)
336 if (rdev->family == CHIP_RV730) {
352 r = radeon_read_bios(rdev);
355 if (rdev->family == CHIP_RV730) {
372 static bool r600_read_disabled_bios(struct radeon_device *rdev)
431 r = radeon_read_bios(rdev);
449 static bool avivo_read_disabled_bios(struct radeon_device *rdev)
495 r = radeon_read_bios(rdev);
510 static bool legacy_read_disabled_bios(struct radeon_device *rdev)
523 if (rdev->flags & RADEON_IS_PCIE)
532 if (rdev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
536 if (!(rdev->flags & RADEON_SINGLE_CRTC)) {
548 if (rdev->flags & RADEON_IS_PCIE)
558 if (!(rdev->flags & RADEON_SINGLE_CRTC)) {
569 if (rdev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
573 r = radeon_read_bios(rdev);
578 if (rdev->flags & RADEON_IS_PCIE)
583 if (!(rdev->flags & RADEON_SINGLE_CRTC)) {
587 if (rdev->pdev->device == PCI_DEVICE_ID_ATI_RADEON_QY) {
593 static bool radeon_read_disabled_bios(struct radeon_device *rdev)
595 if (rdev->flags & RADEON_IS_IGP)
596 return igp_read_bios_from_vram(rdev);
597 else if (rdev->family >= CHIP_BARTS)
598 return ni_read_disabled_bios(rdev);
599 else if (rdev->family >= CHIP_RV770)
600 return r700_read_disabled_bios(rdev);
601 else if (rdev->family >= CHIP_R600)
602 return r600_read_disabled_bios(rdev);
603 else if (rdev->family >= CHIP_RS600)
604 return avivo_read_disabled_bios(rdev);
606 return legacy_read_disabled_bios(rdev);
610 static bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
646 vhdr->PCIBus == rdev->pdev->bus->number &&
647 vhdr->PCIDevice == PCI_SLOT(rdev->pdev->devfn) &&
648 vhdr->PCIFunction == PCI_FUNC(rdev->pdev->devfn) &&
649 vhdr->VendorID == rdev->pdev->vendor &&
650 vhdr->DeviceID == rdev->pdev->device) {
651 rdev->bios = kmemdup(&vbios->VbiosContent,
654 if (rdev->bios)
668 static inline bool radeon_acpi_vfct_bios(struct radeon_device *rdev)
674 bool radeon_get_bios(struct radeon_device *rdev)
679 r = radeon_atrm_get_bios(rdev);
681 r = radeon_acpi_vfct_bios(rdev);
683 r = igp_read_bios_from_vram(rdev);
685 r = radeon_read_bios(rdev);
687 r = radeon_read_disabled_bios(rdev);
689 r = radeon_read_platform_bios(rdev);
690 if (!r || rdev->bios == NULL) {
692 rdev->bios = NULL;
695 if (rdev->bios[0] != 0x55 || rdev->bios[1] != 0xaa) {
696 printk("BIOS signature incorrect %x %x\n", rdev->bios[0], rdev->bios[1]);
706 rdev->bios_header_start = RBIOS16(0x48);
707 if (!rdev->bios_header_start) {
710 tmp = rdev->bios_header_start + 4;
711 if (!memcmp(rdev->bios + tmp, "ATOM", 4) ||
712 !memcmp(rdev->bios + tmp, "MOTA", 4)) {
713 rdev->is_atom_bios = true;
715 rdev->is_atom_bios = false;
718 DRM_DEBUG("%sBIOS detected\n", rdev->is_atom_bios ? "ATOM" : "COM");
721 kfree(rdev->bios);
722 rdev->bios = NULL;