From: Nicholas Kazlauskas <[email protected]>

[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 <[email protected]>
Reviewed-by: Tony Cheng <[email protected]>
Acked-by: Leo Li <[email protected]>
---
 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
[email protected]
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

Reply via email to