aboutsummaryrefslogtreecommitdiffstats
path: root/meta-amd-bsp/recipes-kernel/linux/linux-yocto-4.19.8/4485-drm-amd-display-revert-change-causing-DTN-hang-for-R.patch
blob: 1138441e98ba9476d50a3e8e333350ffb4c04213 (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
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
From 7db83a80e428a864b3d117da7d28c901a0703574 Mon Sep 17 00:00:00 2001
From: Samson Tam <Samson.Tam@amd.com>
Date: Thu, 31 Oct 2019 15:27:28 -0400
Subject: [PATCH 4485/4736] drm/amd/display: revert change causing DTN hang for
 RV

[Why]
Hanging on RV for DTN driver verifier

[How]
Roll back change and investigate further

Signed-off-by: Samson Tam <Samson.Tam@amd.com>
Reviewed-by: Jun Lei <Jun.Lei@amd.com>
Acked-by: Rodrigo Siqueira <Rodrigo.Siqueira@amd.com>
---
 drivers/gpu/drm/amd/display/dc/core/dc.c | 27 ------------------------
 1 file changed, 27 deletions(-)

diff --git a/drivers/gpu/drm/amd/display/dc/core/dc.c b/drivers/gpu/drm/amd/display/dc/core/dc.c
index 7a2cdf21ca34..9e600d3e2fd8 100644
--- a/drivers/gpu/drm/amd/display/dc/core/dc.c
+++ b/drivers/gpu/drm/amd/display/dc/core/dc.c
@@ -1764,37 +1764,12 @@ static struct dc_stream_status *stream_get_status(
 
 static const enum surface_update_type update_surface_trace_level = UPDATE_TYPE_FULL;
 
-static void validate_dcc_with_meta_address(
-	struct dc_plane_dcc_param *dcc,
-	struct dc_plane_address *address)
-{
-	if ((address->grph.meta_addr.quad_part == 0) &&
-		dcc->enable) {
-		ASSERT(!dcc->enable);
-		dcc->enable = false;
-	} else if ((address->grph.meta_addr.quad_part != 0) &&
-		!dcc->enable)
-		dcc->enable = true;
-
-	if (address->type != PLN_ADDR_TYPE_GRAPHICS) {
-		if ((address->grph_stereo.right_meta_addr.quad_part == 0) &&
-			dcc->enable) {
-			ASSERT(!dcc->enable);
-			dcc->enable = false;
-		} else if ((address->grph_stereo.right_meta_addr.quad_part != 0) &&
-			!dcc->enable)
-			dcc->enable = true;
-	}
-}
-
 static void copy_surface_update_to_plane(
 		struct dc_plane_state *surface,
 		struct dc_surface_update *srf_update)
 {
 	if (srf_update->flip_addr) {
 		surface->address = srf_update->flip_addr->address;
-		validate_dcc_with_meta_address(&surface->dcc, &surface->address);
-
 		surface->flip_immediate =
 			srf_update->flip_addr->flip_immediate;
 		surface->time.time_elapsed_in_us[surface->time.index] =
@@ -1843,8 +1818,6 @@ static void copy_surface_update_to_plane(
 				srf_update->plane_info->global_alpha_value;
 		surface->dcc =
 				srf_update->plane_info->dcc;
-		validate_dcc_with_meta_address(&surface->dcc, &surface->address);
-
 		surface->sdr_white_level =
 				srf_update->plane_info->sdr_white_level;
 		surface->layer_index =
-- 
2.17.1