Lines Matching refs:adev

90 static bool igp_read_bios_from_vram(struct amdgpu_device *adev)  in igp_read_bios_from_vram()  argument
96 if (!(adev->flags & AMD_IS_APU)) in igp_read_bios_from_vram()
97 if (amdgpu_device_need_post(adev)) in igp_read_bios_from_vram()
100 adev->bios = NULL; in igp_read_bios_from_vram()
101 vram_base = pci_resource_start(adev->pdev, 0); in igp_read_bios_from_vram()
107 adev->bios = kmalloc(size, GFP_KERNEL); in igp_read_bios_from_vram()
108 if (!adev->bios) { in igp_read_bios_from_vram()
112 adev->bios_size = size; in igp_read_bios_from_vram()
113 memcpy_fromio(adev->bios, bios, size); in igp_read_bios_from_vram()
116 if (!check_atom_bios(adev->bios, size)) { in igp_read_bios_from_vram()
117 kfree(adev->bios); in igp_read_bios_from_vram()
124 bool amdgpu_read_bios(struct amdgpu_device *adev) in amdgpu_read_bios() argument
129 adev->bios = NULL; in amdgpu_read_bios()
131 bios = pci_map_rom(adev->pdev, &size); in amdgpu_read_bios()
136 adev->bios = kzalloc(size, GFP_KERNEL); in amdgpu_read_bios()
137 if (adev->bios == NULL) { in amdgpu_read_bios()
138 pci_unmap_rom(adev->pdev, bios); in amdgpu_read_bios()
141 adev->bios_size = size; in amdgpu_read_bios()
142 memcpy_fromio(adev->bios, bios, size); in amdgpu_read_bios()
143 pci_unmap_rom(adev->pdev, bios); in amdgpu_read_bios()
145 if (!check_atom_bios(adev->bios, size)) { in amdgpu_read_bios()
146 kfree(adev->bios); in amdgpu_read_bios()
153 static bool amdgpu_read_bios_from_rom(struct amdgpu_device *adev) in amdgpu_read_bios_from_rom() argument
158 if (!adev->asic_funcs->read_bios_from_rom) in amdgpu_read_bios_from_rom()
162 if (amdgpu_asic_read_bios_from_rom(adev, &header[0], sizeof(header)) == false) in amdgpu_read_bios_from_rom()
175 adev->bios = kmalloc(len, GFP_KERNEL); in amdgpu_read_bios_from_rom()
176 if (!adev->bios) { in amdgpu_read_bios_from_rom()
180 adev->bios_size = len; in amdgpu_read_bios_from_rom()
183 amdgpu_asic_read_bios_from_rom(adev, adev->bios, len); in amdgpu_read_bios_from_rom()
185 if (!check_atom_bios(adev->bios, len)) { in amdgpu_read_bios_from_rom()
186 kfree(adev->bios); in amdgpu_read_bios_from_rom()
193 static bool amdgpu_read_platform_bios(struct amdgpu_device *adev) in amdgpu_read_platform_bios() argument
198 adev->bios = NULL; in amdgpu_read_platform_bios()
200 bios = pci_platform_rom(adev->pdev, &size); in amdgpu_read_platform_bios()
205 adev->bios = kzalloc(size, GFP_KERNEL); in amdgpu_read_platform_bios()
206 if (adev->bios == NULL) in amdgpu_read_platform_bios()
209 memcpy_fromio(adev->bios, bios, size); in amdgpu_read_platform_bios()
211 if (!check_atom_bios(adev->bios, size)) { in amdgpu_read_platform_bios()
212 kfree(adev->bios); in amdgpu_read_platform_bios()
216 adev->bios_size = size; in amdgpu_read_platform_bios()
269 static bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) in amdgpu_atrm_get_bios() argument
280 if (adev->flags & AMD_IS_APU) in amdgpu_atrm_get_bios()
312 adev->bios = kmalloc(size, GFP_KERNEL); in amdgpu_atrm_get_bios()
313 if (!adev->bios) { in amdgpu_atrm_get_bios()
320 adev->bios, in amdgpu_atrm_get_bios()
327 if (!check_atom_bios(adev->bios, size)) { in amdgpu_atrm_get_bios()
328 kfree(adev->bios); in amdgpu_atrm_get_bios()
331 adev->bios_size = size; in amdgpu_atrm_get_bios()
335 static inline bool amdgpu_atrm_get_bios(struct amdgpu_device *adev) in amdgpu_atrm_get_bios() argument
341 static bool amdgpu_read_disabled_bios(struct amdgpu_device *adev) in amdgpu_read_disabled_bios() argument
343 if (adev->flags & AMD_IS_APU) in amdgpu_read_disabled_bios()
344 return igp_read_bios_from_vram(adev); in amdgpu_read_disabled_bios()
346 return amdgpu_asic_read_disabled_bios(adev); in amdgpu_read_disabled_bios()
350 static bool amdgpu_acpi_vfct_bios(struct amdgpu_device *adev) in amdgpu_acpi_vfct_bios() argument
385 vhdr->PCIBus == adev->pdev->bus->number && in amdgpu_acpi_vfct_bios()
386 vhdr->PCIDevice == PCI_SLOT(adev->pdev->devfn) && in amdgpu_acpi_vfct_bios()
387 vhdr->PCIFunction == PCI_FUNC(adev->pdev->devfn) && in amdgpu_acpi_vfct_bios()
388 vhdr->VendorID == adev->pdev->vendor && in amdgpu_acpi_vfct_bios()
389 vhdr->DeviceID == adev->pdev->device) { in amdgpu_acpi_vfct_bios()
390 adev->bios = kmemdup(&vbios->VbiosContent, in amdgpu_acpi_vfct_bios()
394 if (!check_atom_bios(adev->bios, vhdr->ImageLength)) { in amdgpu_acpi_vfct_bios()
395 kfree(adev->bios); in amdgpu_acpi_vfct_bios()
398 adev->bios_size = vhdr->ImageLength; in amdgpu_acpi_vfct_bios()
407 static inline bool amdgpu_acpi_vfct_bios(struct amdgpu_device *adev) in amdgpu_acpi_vfct_bios() argument
413 bool amdgpu_get_bios(struct amdgpu_device *adev) in amdgpu_get_bios() argument
415 if (amdgpu_atrm_get_bios(adev)) in amdgpu_get_bios()
418 if (amdgpu_acpi_vfct_bios(adev)) in amdgpu_get_bios()
421 if (igp_read_bios_from_vram(adev)) in amdgpu_get_bios()
424 if (amdgpu_read_bios(adev)) in amdgpu_get_bios()
427 if (amdgpu_read_bios_from_rom(adev)) in amdgpu_get_bios()
430 if (amdgpu_read_disabled_bios(adev)) in amdgpu_get_bios()
433 if (amdgpu_read_platform_bios(adev)) in amdgpu_get_bios()
440 adev->is_atom_fw = (adev->asic_type >= CHIP_VEGA10) ? true : false; in amdgpu_get_bios()