aboutsummaryrefslogtreecommitdiffstats
path: root/common/recipes-kernel/linux/files/1032-drm-amd-dal-Pass-size-into-scaler-and-mpc-bypass.patch
blob: 994a11d803b0a618b577b0caa32ed71d9ee4de75 (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
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
From 6ed2e9a119f383c2bb812540982e1722d0805af3 Mon Sep 17 00:00:00 2001
From: Harry Wentland <harry.wentland@amd.com>
Date: Wed, 30 Mar 2016 10:06:19 -0400
Subject: [PATCH 1032/1110] drm/amd/dal: Pass size into scaler and mpc bypass

Signed-off-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
---
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c  | 2 +-
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h     | 4 +++-
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c | 6 ++++--
 drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c   | 4 +++-
 drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h       | 4 +++-
 drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c   | 6 ++++--
 drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h            | 3 ++-
 7 files changed, 20 insertions(+), 9 deletions(-)

diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
index 52d9094..b7c6a51 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_hw_sequencer.c
@@ -1146,7 +1146,7 @@ static void reset_single_pipe_hw_ctx(
 	pipe_ctx->tg->funcs->disable_crtc(pipe_ctx->tg);
 	pipe_ctx->mi->funcs->free_mem_input(
 				pipe_ctx->mi, context->target_count);
-	pipe_ctx->xfm->funcs->transform_set_scaler_bypass(pipe_ctx->xfm);
+	pipe_ctx->xfm->funcs->transform_set_scaler_bypass(pipe_ctx->xfm, NULL);
 	resource_unreference_clock_source(&context->res_ctx, pipe_ctx->clock_source);
 	dc->hwss.enable_display_power_gating(
 		pipe_ctx->stream->ctx, pipe_ctx->pipe_idx, dcb,
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h
index f97d7ab..fdde463 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform.h
@@ -56,7 +56,9 @@ bool dce110_transform_set_scaler(
 	struct transform *xfm,
 	const struct scaler_data *data);
 
-void dce110_transform_set_scaler_bypass(struct transform *xfm);
+void dce110_transform_set_scaler_bypass(
+		struct transform *xfm,
+		struct rect *size);
 
 void dce110_transform_set_scaler_filter(
 	struct transform *xfm,
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c
index 65f9e01..67dd983 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_scl.c
@@ -90,7 +90,7 @@ static bool setup_scaling_configuration(
 	dm_write_reg(ctx, addr, value);
 
 	if (data->taps.h_taps + data->taps.v_taps <= 2) {
-		dce110_transform_set_scaler_bypass(&xfm110->base);
+		dce110_transform_set_scaler_bypass(&xfm110->base, NULL);
 		return false;
 	}
 
@@ -684,7 +684,9 @@ bool dce110_transform_set_scaler(
 	return true;
 }
 
-void dce110_transform_set_scaler_bypass(struct transform *xfm)
+void dce110_transform_set_scaler_bypass(
+		struct transform *xfm,
+		struct rect *size)
 {
 	struct dce110_transform *xfm110 = TO_DCE110_TRANSFORM(xfm);
 	uint32_t sclv_mode;
diff --git a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
index 17b72e7..a3b9b20 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce110/dce110_transform_v.c
@@ -453,7 +453,9 @@ static void program_scl_ratios_inits(
 	dm_write_reg(ctx, addr, value);
 }
 
-static void dce110_transform_v_set_scalerv_bypass(struct transform *xfm)
+static void dce110_transform_v_set_scalerv_bypass(
+		struct transform *xfm,
+		struct rect *size)
 {
 	uint32_t addr = mmSCLV_MODE;
 	uint32_t value = dm_read_reg(xfm->ctx, addr);
diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h
index 58b3ee4..6c151ae 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform.h
@@ -56,7 +56,9 @@ bool dce80_transform_set_scaler(
 	struct transform *xfm,
 	const struct scaler_data *data);
 
-void dce80_transform_set_scaler_bypass(struct transform *xfm);
+void dce80_transform_set_scaler_bypass(
+		struct transform *xfm,
+		struct rect *size);
 
 void dce80_transform_set_scaler_filter(
 	struct transform *xfm,
diff --git a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c
index 0025e05..0248b77 100644
--- a/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c
+++ b/drivers/gpu/drm/amd/dal/dc/dce80/dce80_transform_scl.c
@@ -83,7 +83,7 @@ static bool setup_scaling_configuration(
 	uint32_t value;
 
 	if (data->taps.h_taps + data->taps.v_taps <= 2) {
-		dce80_transform_set_scaler_bypass(&xfm80->base);
+		dce80_transform_set_scaler_bypass(&xfm80->base, NULL);
 		return false;
 	}
 
@@ -685,7 +685,9 @@ bool dce80_transform_set_scaler(
 	return true;
 }
 
-void dce80_transform_set_scaler_bypass(struct transform *xfm)
+void dce80_transform_set_scaler_bypass(
+		struct transform *xfm,
+		struct rect *size)
 {
 	struct dce80_transform *xfm80 = TO_DCE80_TRANSFORM(xfm);
 	uint32_t sclv_mode;
diff --git a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
index c0fd26b..bc4e1a1 100644
--- a/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
+++ b/drivers/gpu/drm/amd/dal/dc/inc/hw/transform.h
@@ -166,7 +166,8 @@ struct transform_funcs {
 		const struct scaler_data *data);
 
 	void (*transform_set_scaler_bypass)(
-		struct transform *xfm);
+		struct transform *xfm,
+		struct rect *size);
 
 	void (*transform_set_scaler_filter)(
 		struct transform *xfm,
-- 
2.7.4