From: Nicholas Kazlauskas Date: Thu, 7 Nov 2019 20:29:20 +0000 (-0500) Subject: drm/amd/display: Return DMUB_STATUS_OK when autoload unsupported X-Git-Tag: v5.6-rc1~114^2~21^2~68 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=a49421185189ba05f4c1b8477f1272fb2d024d2f;p=linux.git drm/amd/display: Return DMUB_STATUS_OK when autoload unsupported [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 Reviewed-by: Tony Cheng Acked-by: Leo Li Signed-off-by: Alex Deucher --- diff --git a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c index 3ec26f6af2e1..70c7a4be9ccc 100644 --- a/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c +++ b/drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c @@ -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;