drm/amdgpu: add check when no firmware need to load
authorHuang Rui <ray.huang@amd.com>
Thu, 8 Jun 2017 01:32:38 +0000 (09:32 +0800)
committerAlex Deucher <alexander.deucher@amd.com>
Fri, 14 Jul 2017 15:05:59 +0000 (11:05 -0400)
Signed-off-by: Huang Rui <ray.huang@amd.com>
Reviewed-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_ucode.c

index 4f50eeb6585534b54a5408360611798ccd2e447f..17a935df8e1d9448a5d62d67df461cb3aac11b43 100644 (file)
@@ -377,6 +377,11 @@ int amdgpu_ucode_init_bo(struct amdgpu_device *adev)
        struct amdgpu_firmware_info *ucode = 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,
                                amdgpu_sriov_vf(adev) ? AMDGPU_GEM_DOMAIN_VRAM : AMDGPU_GEM_DOMAIN_GTT,
                                AMDGPU_GEM_CREATE_VRAM_CONTIGUOUS,
@@ -459,6 +464,9 @@ int amdgpu_ucode_fini_bo(struct amdgpu_device *adev)
        int i;
        struct amdgpu_firmware_info *ucode = NULL;
 
+       if (!adev->firmware.fw_size)
+               return 0;
+
        for (i = 0; i < adev->firmware.max_ucodes; i++) {
                ucode = &adev->firmware.ucode[i];
                if (ucode->fw) {