|
@@ -377,6 +377,11 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
|
|
struct amdgpu_firmware_info *ucode = NULL;
|
|
struct amdgpu_firmware_info *ucode = NULL;
|
|
const struct common_firmware_header *header = NULL;
|
|
const struct common_firmware_header *header = NULL;
|
|
|
|
|
|
|
|
+ if (!adev->firmware.fw_size) {
|
|
|
|
+ dev_warn(adev->dev, "No ip firmware need to load\n");
|
|
|
|
+ return 0;
|
|
|
|
+ }
|
|
|
|
+
|
|
err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true,
|
|
err = amdgpu_bo_create(adev, adev->firmware.fw_size, PAGE_SIZE, true,
|
|
amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
|
|
amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
|
|
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
|
|
AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
|
|
@@ -459,6 +464,9 @@ int amdgpu_ucode_fini_bo(struct amdgpu_device *adev)
|
|
int i;
|
|
int i;
|
|
struct amdgpu_firmware_info *ucode = NULL;
|
|
struct amdgpu_firmware_info *ucode = NULL;
|
|
|
|
|
|
|
|
+ if (!adev->firmware.fw_size)
|
|
|
|
+ return 0;
|
|
|
|
+
|
|
for (i = 0; i < adev->firmware.max_ucodes; i++) {
|
|
for (i = 0; i < adev->firmware.max_ucodes; i++) {
|
|
ucode = &adev->firmware.ucode[i];
|
|
ucode = &adev->firmware.ucode[i];
|
|
if (ucode->fw) {
|
|
if (ucode->fw) {
|