From: Nicholas Kazlauskas <nicholas.kazlauskas@xxxxxxx> [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@xxxxxxx> Reviewed-by: Tony Cheng <Tony.Cheng@xxxxxxx> Acked-by: Leo Li <sunpeng.li@xxxxxxx> --- drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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; -- 2.24.0 _______________________________________________ amd-gfx mailing list amd-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/amd-gfx