]> asedeno.scripts.mit.edu Git - linux.git/commitdiff
drm/amd/display: Return DMUB_STATUS_OK when autoload unsupported
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Thu, 7 Nov 2019 20:29:20 +0000 (15:29 -0500)
committerAlex Deucher <alexander.deucher@amd.com>
Thu, 5 Dec 2019 21:27:55 +0000 (16:27 -0500)
[Why]
Not having support for autoload isn't an error. If the DMUB firmware
doesn't support it then don't return DMUB_STATUS_INVALID.

[How]
Return DMUB_STATUS_OK when ->is_auto_load_done is NULL.

Signed-off-by: Nicholas Kazlauskas <nicholas.kazlauskas@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Leo Li <sunpeng.li@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c

index 3ec26f6af2e14d6e1392e945ff401b2d1ee2c5c3..70c7a4be9ccc0da3a859863a179248e80ea269e0 100644 (file)
@@ -379,9 +379,12 @@ enum dmub_status dmub_srv_wait_for_auto_load(struct dmub_srv *dmub,
 {
        uint32_t i;
 
-       if (!dmub->hw_init || !dmub->hw_funcs.is_auto_load_done)
+       if (!dmub->hw_init)
                return DMUB_STATUS_INVALID;
 
+       if (!dmub->hw_funcs.is_auto_load_done)
+               return DMUB_STATUS_OK;
+
        for (i = 0; i <= timeout_us; i += 100) {
                if (dmub->hw_funcs.is_auto_load_done(dmub))
                        return DMUB_STATUS_OK;
@@ -397,9 +400,12 @@ enum dmub_status dmub_srv_wait_for_phy_init(struct dmub_srv *dmub,
 {
        uint32_t i = 0;
 
-       if (!dmub->hw_init || !dmub->hw_funcs.is_phy_init)
+       if (!dmub->hw_init)
                return DMUB_STATUS_INVALID;
 
+       if (!dmub->hw_funcs.is_phy_init)
+               return DMUB_STATUS_OK;
+
        for (i = 0; i <= timeout_us; i += 10) {
                if (dmub->hw_funcs.is_phy_init(dmub))
                        return DMUB_STATUS_OK;