From f835841f199a37e0f0c8744b434c49556bc97306 Mon Sep 17 00:00:00 2001 From: Yongqiang Sun Date: Wed, 27 Jan 2016 16:45:57 -0500 Subject: [PATCH 0742/1110] drm/amd/dal: Fixed DCE100 audio issue. DP audio doesn't work on DCE100 due to wrong clock value get from integrated info. For desktop cpu, integrated info couldn't get from vbios, value can be hardcode. Signed-off-by: Yongqiang Sun Acked-by: Harry Wentland --- drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c index 3e0e9b3..9252b5c 100644 --- a/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c +++ b/drivers/gpu/drm/amd/dal/dc/gpu/dce110/display_clock_dce110.c @@ -648,11 +648,12 @@ static bool display_clock_integrated_info_construct( { struct integrated_info info; uint32_t i; - struct display_clock *base = &disp_clk->disp_clk_base; + bool res; - if (!dal_adapter_service_get_integrated_info(as, &info)) - return false; + dc_service_memset(&info, 0, sizeof(struct integrated_info)); + + res = dal_adapter_service_get_integrated_info(as, &info); disp_clk->dentist_vco_freq_khz = info.dentist_vco_freq; if (disp_clk->dentist_vco_freq_khz == 0) @@ -661,6 +662,9 @@ static bool display_clock_integrated_info_construct( base->min_display_clk_threshold_khz = disp_clk->dentist_vco_freq_khz / 64; + if (!res) + return false; + /*update the maximum display clock for each power state*/ for (i = 0; i < NUMBER_OF_DISP_CLK_VOLTAGE; ++i) { enum clocks_state clk_state = CLOCKS_STATE_INVALID; -- 2.7.4