diff options
Diffstat (limited to 'common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch')
-rw-r--r-- | common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch b/common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch new file mode 100644 index 00000000..95f84ab5 --- /dev/null +++ b/common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch @@ -0,0 +1,48 @@ +From f835841f199a37e0f0c8744b434c49556bc97306 Mon Sep 17 00:00:00 2001 +From: Yongqiang Sun <yongqiang.sun@amd.com> +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 <yongqiang.sun@amd.com> +Acked-by: Harry Wentland <harry.wentland@amd.com> +--- + 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 + |