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
|
From 3a72181cdcda5e7219cf6d0a4ef5f588f3848ed5 Mon Sep 17 00:00:00 2001
From: Eric Yang <eric.yang2@amd.com>
Date: Mon, 8 Feb 2016 14:36:05 -0500
Subject: [PATCH 0783/1110] drm/amd/dal: Add set_blender_mode handling for
underlay pipe
Signed-off-by: Eric Yang <eric.yang2@amd.com>
Acked-by: Jordan Lazare <Jordan.Lazare@amd.com>
---
.../drm/amd/dal/dc/dce110/dce110_hw_sequencer.c | 44 ++++++++++++++++------
1 file changed, 32 insertions(+), 12 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 bacf88d..754e81d 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
@@ -351,7 +351,7 @@ static void dce110_set_blender_mode(
uint32_t mode)
{
uint32_t value;
- uint32_t addr = HW_REG_BLND(mmBLND_CONTROL, controller_id);
+ uint32_t addr = 0;
uint32_t blnd_mode;
uint32_t feedthrough = 0;
@@ -371,19 +371,39 @@ static void dce110_set_blender_mode(
break;
}
- value = dm_read_reg(ctx, addr);
+ if (controller_id == CONTROLLER_ID_UNDERLAY0) {
+ addr = mmBLNDV_CONTROL;
+ value = dm_read_reg(ctx, addr);
- set_reg_field_value(
- value,
- feedthrough,
- BLND_CONTROL,
- BLND_FEEDTHROUGH_EN);
+ set_reg_field_value(
+ value,
+ feedthrough,
+ BLNDV_CONTROL,
+ BLND_FEEDTHROUGH_EN);
- set_reg_field_value(
- value,
- blnd_mode,
- BLND_CONTROL,
- BLND_MODE);
+ set_reg_field_value(
+ value,
+ blnd_mode,
+ BLNDV_CONTROL,
+ BLND_MODE);
+
+
+ } else {
+ addr = HW_REG_BLND(mmBLND_CONTROL, controller_id);
+ value = dm_read_reg(ctx, addr);
+
+ set_reg_field_value(
+ value,
+ feedthrough,
+ BLND_CONTROL,
+ BLND_FEEDTHROUGH_EN);
+
+ set_reg_field_value(
+ value,
+ blnd_mode,
+ BLND_CONTROL,
+ BLND_MODE);
+ }
dm_write_reg(ctx, addr, value);
}
--
2.7.4
|