From: Eric Bernstein <eric.bernst...@amd.com>

commit 83e6667b675f101fb66659dfa72e45d08773d763 upstream.

[Why]
In some cases, this function is called when DIG BE is not
connected to DIG FE, in which case a value of zero isn't
invalid and assert should not be hit.

[How]
Remove assert and handle ENGINE_ID_UNKNOWN result in calling
function.

Signed-off-by: Eric Bernstein <eric.bernst...@amd.com>
Acked-by: Bindu Ramamurthy <bind...@amd.com>
Tested-by: Daniel Wheeler <daniel.whee...@amd.com>
Signed-off-by: Alex Deucher <alexander.deuc...@amd.com>
Cc: sta...@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gre...@linuxfoundation.org>
---
 drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c |    1 -
 drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c        |    2 ++
 2 files changed, 2 insertions(+), 1 deletion(-)

--- a/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn10/dcn10_link_encoder.c
@@ -480,7 +480,6 @@ unsigned int dcn10_get_dig_frontend(stru
                break;
        default:
                // invalid source select DIG
-               ASSERT(false);
                result = ENGINE_ID_UNKNOWN;
        }
 
--- a/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
+++ b/drivers/gpu/drm/amd/display/dc/dcn30/dcn30_hwseq.c
@@ -526,6 +526,8 @@ void dcn30_init_hw(struct dc *dc)
 
                                        fe = 
dc->links[i]->link_enc->funcs->get_dig_frontend(
                                                                                
dc->links[i]->link_enc);
+                                       if (fe == ENGINE_ID_UNKNOWN)
+                                               continue;
 
                                        for (j = 0; j < 
dc->res_pool->stream_enc_count; j++) {
                                                if (fe == 
dc->res_pool->stream_enc[j]->id) {


Reply via email to