Skip to content

Commit 410482b

Browse files
committed
Merge tag 'drm-intel-next-fixes-2022-01-20' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
- Latest updates for the EHL display voltage swing table (José Roberto de Souza) - Additional step is required when programming the ADL-P display TC voltage swing (José Roberto de Souza) Signed-off-by: Dave Airlie <[email protected]> From: Tvrtko Ursulin <[email protected]> Link: https://patchwork.freedesktop.org/patch/msgid/Yek1zdsnRPiBVvFF@tursulin-mobl2
2 parents 4efdddb + e26602b commit 410482b

File tree

3 files changed

+33
-7
lines changed

3 files changed

+33
-7
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/display/intel_ddi_buf_trans.c

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -477,14 +477,14 @@ static const struct intel_ddi_buf_trans icl_combo_phy_trans_hdmi = {
477477
static const union intel_ddi_buf_trans_entry _ehl_combo_phy_trans_dp[] = {
478478
/* NT mV Trans mV db */
479479
{ .icl = { 0xA, 0x33, 0x3F, 0x00, 0x00 } }, /* 350 350 0.0 */
480-
{ .icl = { 0xA, 0x47, 0x36, 0x00, 0x09 } }, /* 350 500 3.1 */
481-
{ .icl = { 0xC, 0x64, 0x34, 0x00, 0x0B } }, /* 350 700 6.0 */
482-
{ .icl = { 0x6, 0x7F, 0x30, 0x00, 0x0F } }, /* 350 900 8.2 */
480+
{ .icl = { 0xA, 0x47, 0x38, 0x00, 0x07 } }, /* 350 500 3.1 */
481+
{ .icl = { 0xC, 0x64, 0x33, 0x00, 0x0C } }, /* 350 700 6.0 */
482+
{ .icl = { 0x6, 0x7F, 0x2F, 0x00, 0x10 } }, /* 350 900 8.2 */
483483
{ .icl = { 0xA, 0x46, 0x3F, 0x00, 0x00 } }, /* 500 500 0.0 */
484-
{ .icl = { 0xC, 0x64, 0x38, 0x00, 0x07 } }, /* 500 700 2.9 */
484+
{ .icl = { 0xC, 0x64, 0x37, 0x00, 0x08 } }, /* 500 700 2.9 */
485485
{ .icl = { 0x6, 0x7F, 0x32, 0x00, 0x0D } }, /* 500 900 5.1 */
486486
{ .icl = { 0xC, 0x61, 0x3F, 0x00, 0x00 } }, /* 650 700 0.6 */
487-
{ .icl = { 0x6, 0x7F, 0x38, 0x00, 0x07 } }, /* 600 900 3.5 */
487+
{ .icl = { 0x6, 0x7F, 0x37, 0x00, 0x08 } }, /* 600 900 3.5 */
488488
{ .icl = { 0x6, 0x7F, 0x3F, 0x00, 0x00 } }, /* 900 900 0.0 */
489489
};
490490

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)