aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/0742-drm-amd-dal-Fixed-DCE100-audio-issue.patch
blob: 95f84ab572a504bedcbf259a811c206bfa510925 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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