summaryrefslogtreecommitdiff
path: root/drivers/gpu/drm/amd/display/dmub/src
diff options
context:
space:
mode:
authorNicholas Kazlauskas <nicholas.kazlauskas@amd.com>2019-11-07 15:29:20 -0500
committerAlex Deucher <alexander.deucher@amd.com>2019-12-05 16:27:55 -0500
commita49421185189ba05f4c1b8477f1272fb2d024d2f (patch)
treebdd30dc0c5bf37f083bcc613c66c749d043b1953 /drivers/gpu/drm/amd/display/dmub/src
parent3c465370f20abd3c8783da816a445ad5bcbfdb76 (diff)
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 <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>
Diffstat (limited to 'drivers/gpu/drm/amd/display/dmub/src')
-rw-r--r--drivers/gpu/drm/amd/display/dmub/src/dmub_srv.c10
1 files 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;