drm/amd: Don't initialize ISP hardware without FW
authorMario Limonciello <mario.limonciello@amd.com>
Tue, 18 Jun 2024 16:43:05 +0000 (11:43 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 27 Jun 2024 21:34:40 +0000 (17:34 -0400)
Although designs may contain an ISP IP block, the camera might be a USB
camera. Because of this the ISP firmware is considered optional from
amdgpu.  However if the firmware doesn't get loaded the hardware should
not be initialized.

Adjust the return code for early init to ensure the IP block doesn't go
through the other init and fini sequences. Also decrease the message
about firmware load failure to debug so it's not as alarming to users.

Acked-by: Alex Deucher <alexander.deucher@amd.com>
Reviewed-by: Pratap Nirujogi <pratap.nirujogi@amd.com>
Signed-off-by: Mario Limonciello <mario.limonciello@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/amdgpu/amdgpu_isp.c

index 215bae8..4766e99 100644 (file)
@@ -142,8 +142,8 @@ static int isp_early_init(void *handle)
        isp->parent = adev->dev;
 
        if (isp_load_fw_by_psp(adev)) {
-               DRM_WARN("%s: isp fw load failed\n", __func__);
-               return 0;
+               DRM_DEBUG_DRIVER("%s: isp fw load failed\n", __func__);
+               return -ENOENT;
        }
 
        return 0;