[PATCH 12/51] drm/amd/display: Return DMUB_STATUS_OK when autoload unsupported

sunpeng.li at amd.com sunpeng.li at amd.com
Mon Dec 2 17:33:26 UTC 2019


From: Nicholas Kazlauskas <nicholas.kazlauskas at amd.com>

[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 at amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng at amd.com>
Acked-by: Leo Li <sunpeng.li at amd.com>
---
 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



More information about the amd-gfx mailing list