Lines Matching refs:adev
89 static bool igp_read_bios_from_vram(struct amdgpu_device *adev) in igp_read_bios_from_vram() argument
95 if (!(adev->flags & AMD_IS_APU)) in igp_read_bios_from_vram()
96 if (amdgpu_device_need_post(adev)) in igp_read_bios_from_vram()
99 adev->bios = NULL; in igp_read_bios_from_vram()
100 vram_base = pci_resource_start(adev->pdev, 0); in igp_read_bios_from_vram()
106 adev->bios = kmalloc(size, GFP_KERNEL); in igp_read_bios_from_vram()
107 if (!adev->bios) { in igp_read_bios_from_vram()
111 adev->bios_size = size; in igp_read_bios_from_vram()
112 memcpy_fromio(adev->bios, bios, size); in igp_read_bios_from_vram()
115 if (!check_atom_bios(adev->bios, size)) { in igp_read_bios_from_vram()
116 kfree(adev->bios); in igp_read_bios_from_vram()
123 bool amdgpu_read_bios(struct amdgpu_device *adev) in amdgpu_read_bios() argument
128 adev->bios = NULL; in amdgpu_read_bios()
130 bios = pci_map_rom(adev->pdev, &size); in amdgpu_read_bios()
135 adev->bios = kzalloc(size, GFP_KERNEL); in amdgpu_read_bios()
136 if (adev->bios == NULL) { in amdgpu_read_bios()
137 pci_unmap_rom(adev->pdev, bios); in amdgpu_read_bios()
140 adev->bios_size = size; in amdgpu_read_bios()
141 memcpy_fromio(adev->bios, bios, size); in amdgpu_read_bios()
142 pci_unmap_rom(adev->pdev, bios); in amdgpu_read_bios()
144 if (!check_atom_bios(adev->bios, size)) { in amdgpu_read_bios()
145 kfree(adev->bios); in amdgpu_read_bios()
152 static bool amdgpu_read_bios_from_rom(struct amdgpu_device *adev) in amdgpu_read_bios_from_rom() argument
157 if (!adev->asic_funcs->read_bios_from_rom) in amdgpu_read_bios_from_rom()
161 if (amdgpu_asic_read_bios_from_rom(adev, &header[0], sizeof(header)) == false) in amdgpu_read_bios_from_rom()
174 adev->bios = kmalloc(len, GFP_KERNEL); in amdgpu_read_bios_from_rom()
175 if (!adev->bios) { in amdgpu_read_bios_from_rom()
179 adev->bios_size = len; in amdgpu_read_bios_from_rom()
182 amdgpu_asic_read_bios_from_rom(adev, adev->bios, len); in amdgpu_read_bios_from_rom()
184 if (!check_atom_bios(adev->bios, len)) { in amdgpu_read_bios_from_rom()
185 kfree(adev->bios); in amdgpu_read_bios_from_rom()
192 static bool amdgpu_read_platform_bios(struct amdgpu_device *adev) in amdgpu_read_platform_bios() argument
197 adev->bios = NULL; in amdgpu_read_platform_bios()
199 bios = pci_platform_rom(adev->pdev, &size); in amdgpu_read_platform_bios()
204 adev->bios = kzalloc(size, GFP_KERNEL); in amdgpu_read_platform_bios()
205 if (adev->bios == NULL) in amdgpu_read_platform_bios()
208 memcpy_fromio(adev->bios, bios, size); in amdgpu_read_platform_bios()
210 if (!check_atom_bios(adev->bios, size)) { in amdgpu_read_platform_bios()
211 kfree(adev->bios); in amdgpu_read_platform_bios()
215 adev->bios_size = size; in amdgpu_read_platform_bios()
268 static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) in amdgpu_atrm_get_bios() argument
279 if (adev->flags & AMD_IS_APU) in amdgpu_atrm_get_bios()
311 adev->bios = kmalloc(size, GFP_KERNEL); in amdgpu_atrm_get_bios()
312 if (!adev->bios) { in amdgpu_atrm_get_bios()
319 adev->bios, in amdgpu_atrm_get_bios()
326 if (!check_atom_bios(adev->bios, size)) { in amdgpu_atrm_get_bios()
327 kfree(adev->bios); in amdgpu_atrm_get_bios()
330 adev->bios_size = size; in amdgpu_atrm_get_bios()
334 static inline bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) in amdgpu_atrm_get_bios() argument
340 static bool amdgpu_read_disabled_bios(struct amdgpu_device *adev) in amdgpu_read_disabled_bios() argument
342 if (adev->flags & AMD_IS_APU) in amdgpu_read_disabled_bios()
343 return igp_read_bios_from_vram(adev); in amdgpu_read_disabled_bios()
345 return amdgpu_asic_read_disabled_bios(adev); in amdgpu_read_disabled_bios()
349 static bool amdgpu_acpi_vfct_bios(struct amdgpu_device *adev) in amdgpu_acpi_vfct_bios() argument
384 vhdr->PCIBus == adev->pdev->bus->number && in amdgpu_acpi_vfct_bios()
385 vhdr->PCIDevice == PCI_SLOT(adev->pdev->devfn) && in amdgpu_acpi_vfct_bios()
386 vhdr->PCIFunction == PCI_FUNC(adev->pdev->devfn) && in amdgpu_acpi_vfct_bios()
387 vhdr->VendorID == adev->pdev->vendor && in amdgpu_acpi_vfct_bios()
388 vhdr->DeviceID == adev->pdev->device) { in amdgpu_acpi_vfct_bios()
389 adev->bios = kmemdup(&vbios->VbiosContent, in amdgpu_acpi_vfct_bios()
393 if (!check_atom_bios(adev->bios, vhdr->ImageLength)) { in amdgpu_acpi_vfct_bios()
394 kfree(adev->bios); in amdgpu_acpi_vfct_bios()
397 adev->bios_size = vhdr->ImageLength; in amdgpu_acpi_vfct_bios()
406 static inline bool amdgpu_acpi_vfct_bios(struct amdgpu_device *adev) in amdgpu_acpi_vfct_bios() argument
412 bool amdgpu_get_bios(struct amdgpu_device *adev) in amdgpu_get_bios() argument
414 if (amdgpu_atrm_get_bios(adev)) in amdgpu_get_bios()
417 if (amdgpu_acpi_vfct_bios(adev)) in amdgpu_get_bios()
420 if (igp_read_bios_from_vram(adev)) in amdgpu_get_bios()
423 if (amdgpu_read_bios(adev)) in amdgpu_get_bios()
426 if (amdgpu_read_bios_from_rom(adev)) in amdgpu_get_bios()
429 if (amdgpu_read_disabled_bios(adev)) in amdgpu_get_bios()
432 if (amdgpu_read_platform_bios(adev)) in amdgpu_get_bios()
439 adev->is_atom_fw = (adev->asic_type >= CHIP_VEGA10) ? true : false; in amdgpu_get_bios()