Skip to content

Commit e26602b

Browse files
zehortigozatursulin
authored andcommitted
drm/i915/display/adlp: Implement new step in the TC voltage swing prog sequence
TC voltage swing programming sequence was updated with a new step. BSpec: 54956 Cc: [email protected] Cc: Jani Nikula <[email protected]> Cc: Clint Taylor <[email protected]> Cc: Imre Deak <[email protected]> Signed-off-by: José Roberto de Souza <[email protected]> Reviewed-by: Clint Taylor <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/[email protected] (cherry picked from commit 5ff59dd) Signed-off-by: Tvrtko Ursulin <[email protected]>
1 parent ef3ac01 commit e26602b

File tree

2 files changed

+28
-2
lines changed

2 files changed

+28
-2
lines changed

drivers/gpu/drm/i915/display/intel_ddi.c

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1298,6 +1298,28 @@ static void tgl_dkl_phy_set_signal_levels(struct intel_encoder *encoder,
12981298

12991299
intel_de_rmw(dev_priv, DKL_TX_DPCNTL2(tc_port),
13001300
DKL_TX_DP20BITMODE, 0);
1301+
1302+
if (IS_ALDERLAKE_P(dev_priv)) {
1303+
u32 val;
1304+
1305+
if (intel_crtc_has_type(crtc_state, INTEL_OUTPUT_HDMI)) {
1306+
if (ln == 0) {
1307+
val = DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1(0);
1308+
val |= DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2(2);
1309+
} else {
1310+
val = DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1(3);
1311+
val |= DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2(3);
1312+
}
1313+
} else {
1314+
val = DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1(0);
1315+
val |= DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2(0);
1316+
}
1317+
1318+
intel_de_rmw(dev_priv, DKL_TX_DPCNTL2(tc_port),
1319+
DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1_MASK |
1320+
DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2_MASK,
1321+
val);
1322+
}
13011323
}
13021324
}
13031325

drivers/gpu/drm/i915/i915_reg.h

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -11166,8 +11166,12 @@ enum skl_power_gate {
1116611166
_DKL_PHY2_BASE) + \
1116711167
_DKL_TX_DPCNTL1)
1116811168

11169-
#define _DKL_TX_DPCNTL2 0x2C8
11170-
#define DKL_TX_DP20BITMODE (1 << 2)
11169+
#define _DKL_TX_DPCNTL2 0x2C8
11170+
#define DKL_TX_DP20BITMODE REG_BIT(2)
11171+
#define DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1_MASK REG_GENMASK(4, 3)
11172+
#define DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1(val) REG_FIELD_PREP(DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX1_MASK, (val))
11173+
#define DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2_MASK REG_GENMASK(6, 5)
11174+
#define DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2(val) REG_FIELD_PREP(DKL_TX_DPCNTL2_CFG_LOADGENSELECT_TX2_MASK, (val))
1117111175
#define DKL_TX_DPCNTL2(tc_port) _MMIO(_PORT(tc_port, \
1117211176
_DKL_PHY1_BASE, \
1117311177
_DKL_PHY2_BASE) + \

0 commit comments

Comments
 (0)