aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChon Ming Lee <chon.ming.lee@intel.com>2013-11-06 21:43:30 -0500
committerDaniel Vetter <daniel.vetter@ffwll.ch>2013-11-08 11:37:45 -0500
commitab3c759a0461528fcfab155b97da69edbc24b5d0 (patch)
tree91c2a7540afc8b688f9483957f499c9a4c394de6
parent1272e7b854e768ede5279de57b78a54cb39f5da5 (diff)
drm/i915/vlv: Rename VLV DPIO register to be more structure to match configdb document.
Some VLV PHY/PLL DPIO registers have group/lane/channel access. Current DPIO register definition doesn't have a structure way to break them down. As a result it is not easy to match the PHY/PLL registers with the configdb document. Rename those registers based on the configdb for easy cross references, and without the need to check the offset in the header file. New format is as following. <platform name>_<DPIO component><optional lane #>_DW<dword # in the doc>_<optional channel #> For example, VLV_PCS_DW0 - Group access to PCS for lane 0 to 3 for PCS DWORD 0. VLV_PCS01_DW0_CH0 - PCS access to lane 0/1, channel 0 for PCS DWORD 0. Another example is VLV_TX_DW0 - Group access to TX lane 0 to 3 for TX DWORD 0 VLV_TX0_DW0 - Refer to TX Lane 0 access only for TX DWORD 0. There is no functional change on this patch. v2: Rebase based on previous patch change. v3: There may be configdb different version that document the start DW differently. Add a comment to clarify. Fix up some mismatch start DW for second PLL block. (Ville) Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Chon Ming Lee <chon.ming.lee@intel.com> Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
-rw-r--r--drivers/gpu/drm/i915/i915_debugfs.c40
-rw-r--r--drivers/gpu/drm/i915/i915_reg.h191
-rw-r--r--drivers/gpu/drm/i915/intel_display.c48
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c32
-rw-r--r--drivers/gpu/drm/i915/intel_hdmi.c54
5 files changed, 172 insertions, 193 deletions
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index b5df88fa890a..1dbcc64f9ddb 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -1649,28 +1649,28 @@ static int i915_dpio_info(struct seq_file *m, void *data)
1649 1649
1650 seq_printf(m, "DPIO_CTL: 0x%08x\n", I915_READ(DPIO_CTL)); 1650 seq_printf(m, "DPIO_CTL: 0x%08x\n", I915_READ(DPIO_CTL));
1651 1651
1652 seq_printf(m, "DPIO_DIV_A: 0x%08x\n", 1652 seq_printf(m, "DPIO PLL DW3 CH0 : 0x%08x\n",
1653 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_DIV_A)); 1653 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW3(0)));
1654 seq_printf(m, "DPIO_DIV_B: 0x%08x\n", 1654 seq_printf(m, "DPIO PLL DW3 CH1: 0x%08x\n",
1655 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_DIV_B)); 1655 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW3(1)));
1656 1656
1657 seq_printf(m, "DPIO_REFSFR_A: 0x%08x\n", 1657 seq_printf(m, "DPIO PLL DW5 CH0: 0x%08x\n",
1658 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_REFSFR_A)); 1658 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW5(0)));
1659 seq_printf(m, "DPIO_REFSFR_B: 0x%08x\n", 1659 seq_printf(m, "DPIO PLL DW5 CH1: 0x%08x\n",
1660 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_REFSFR_B)); 1660 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW5(1)));
1661 1661
1662 seq_printf(m, "DPIO_CORE_CLK_A: 0x%08x\n", 1662 seq_printf(m, "DPIO PLL DW7 CH0: 0x%08x\n",
1663 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_CORE_CLK_A)); 1663 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW7(0)));
1664 seq_printf(m, "DPIO_CORE_CLK_B: 0x%08x\n", 1664 seq_printf(m, "DPIO PLL DW7 CH1: 0x%08x\n",
1665 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_CORE_CLK_B)); 1665 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW7(1)));
1666 1666
1667 seq_printf(m, "DPIO_LPF_COEFF_A: 0x%08x\n", 1667 seq_printf(m, "DPIO PLL DW10 CH0: 0x%08x\n",
1668 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_LPF_COEFF_A)); 1668 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW10(0)));
1669 seq_printf(m, "DPIO_LPF_COEFF_B: 0x%08x\n", 1669 seq_printf(m, "DPIO PLL DW10 CH1: 0x%08x\n",
1670 vlv_dpio_read(dev_priv, PIPE_A, _DPIO_LPF_COEFF_B)); 1670 vlv_dpio_read(dev_priv, PIPE_A, VLV_PLL_DW10(1)));
1671 1671
1672 seq_printf(m, "DPIO_FASTCLK_DISABLE: 0x%08x\n", 1672 seq_printf(m, "DPIO_FASTCLK_DISABLE: 0x%08x\n",
1673 vlv_dpio_read(dev_priv, PIPE_A, DPIO_FASTCLK_DISABLE)); 1673 vlv_dpio_read(dev_priv, PIPE_A, VLV_CMN_DW0));
1674 1674
1675 mutex_unlock(&dev_priv->dpio_lock); 1675 mutex_unlock(&dev_priv->dpio_lock);
1676 1676
diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 86a1ad86aa7b..29265638bf56 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -452,15 +452,10 @@
452#define DPIO_SFR_BYPASS (1<<1) 452#define DPIO_SFR_BYPASS (1<<1)
453#define DPIO_CMNRST (1<<0) 453#define DPIO_CMNRST (1<<0)
454 454
455#define _DPIO_TX3_SWING_CTL4_A 0x690
456#define _DPIO_TX3_SWING_CTL4_B 0x2a90
457#define DPIO_TX3_SWING_CTL4(pipe) _PIPE(pipe, _DPIO_TX3_SWING_CTL4_A, \
458 _DPIO_TX3_SWING_CTL4_B)
459
460/* 455/*
461 * Per pipe/PLL DPIO regs 456 * Per pipe/PLL DPIO regs
462 */ 457 */
463#define _DPIO_DIV_A 0x800c 458#define _VLV_PLL_DW3_CH0 0x800c
464#define DPIO_POST_DIV_SHIFT (28) /* 3 bits */ 459#define DPIO_POST_DIV_SHIFT (28) /* 3 bits */
465#define DPIO_POST_DIV_DAC 0 460#define DPIO_POST_DIV_DAC 0
466#define DPIO_POST_DIV_HDMIDP 1 /* DAC 225-400M rate */ 461#define DPIO_POST_DIV_HDMIDP 1 /* DAC 225-400M rate */
@@ -473,10 +468,10 @@
473#define DPIO_ENABLE_CALIBRATION (1<<11) 468#define DPIO_ENABLE_CALIBRATION (1<<11)
474#define DPIO_M1DIV_SHIFT (8) /* 3 bits */ 469#define DPIO_M1DIV_SHIFT (8) /* 3 bits */
475#define DPIO_M2DIV_MASK 0xff 470#define DPIO_M2DIV_MASK 0xff
476#define _DPIO_DIV_B 0x802c 471#define _VLV_PLL_DW3_CH1 0x802c
477#define DPIO_DIV(pipe) _PIPE(pipe, _DPIO_DIV_A, _DPIO_DIV_B) 472#define VLV_PLL_DW3(ch) _PIPE(ch, _VLV_PLL_DW3_CH0, _VLV_PLL_DW3_CH1)
478 473
479#define _DPIO_REFSFR_A 0x8014 474#define _VLV_PLL_DW5_CH0 0x8014
480#define DPIO_REFSEL_OVERRIDE 27 475#define DPIO_REFSEL_OVERRIDE 27
481#define DPIO_PLL_MODESEL_SHIFT 24 /* 3 bits */ 476#define DPIO_PLL_MODESEL_SHIFT 24 /* 3 bits */
482#define DPIO_BIAS_CURRENT_CTL_SHIFT 21 /* 3 bits, always 0x7 */ 477#define DPIO_BIAS_CURRENT_CTL_SHIFT 21 /* 3 bits, always 0x7 */
@@ -484,118 +479,112 @@
484#define DPIO_PLL_REFCLK_SEL_MASK 3 479#define DPIO_PLL_REFCLK_SEL_MASK 3
485#define DPIO_DRIVER_CTL_SHIFT 12 /* always set to 0x8 */ 480#define DPIO_DRIVER_CTL_SHIFT 12 /* always set to 0x8 */
486#define DPIO_CLK_BIAS_CTL_SHIFT 8 /* always set to 0x5 */ 481#define DPIO_CLK_BIAS_CTL_SHIFT 8 /* always set to 0x5 */
487#define _DPIO_REFSFR_B 0x8034 482#define _VLV_PLL_DW5_CH1 0x8034
488#define DPIO_REFSFR(pipe) _PIPE(pipe, _DPIO_REFSFR_A, _DPIO_REFSFR_B) 483#define VLV_PLL_DW5(ch) _PIPE(ch, _VLV_PLL_DW5_CH0, _VLV_PLL_DW5_CH1)
489 484
490#define _DPIO_CORE_CLK_A 0x801c 485#define _VLV_PLL_DW7_CH0 0x801c
491#define _DPIO_CORE_CLK_B 0x803c 486#define _VLV_PLL_DW7_CH1 0x803c
492#define DPIO_CORE_CLK(pipe) _PIPE(pipe, _DPIO_CORE_CLK_A, _DPIO_CORE_CLK_B) 487#define VLV_PLL_DW7(ch) _PIPE(ch, _VLV_PLL_DW7_CH0, _VLV_PLL_DW7_CH1)
493 488
494#define _DPIO_IREF_CTL_A 0x8040 489#define _VLV_PLL_DW8_CH0 0x8040
495#define _DPIO_IREF_CTL_B 0x8060 490#define _VLV_PLL_DW8_CH1 0x8060
496#define DPIO_IREF_CTL(pipe) _PIPE(pipe, _DPIO_IREF_CTL_A, _DPIO_IREF_CTL_B) 491#define VLV_PLL_DW8(ch) _PIPE(ch, _VLV_PLL_DW8_CH0, _VLV_PLL_DW8_CH1)
497 492
498#define DPIO_IREF_BCAST 0xc044 493#define VLV_PLL_DW9_BCAST 0xc044
499#define _DPIO_IREF_A 0x8044 494#define _VLV_PLL_DW9_CH0 0x8044
500#define _DPIO_IREF_B 0x8064 495#define _VLV_PLL_DW9_CH1 0x8064
501#define DPIO_IREF(pipe) _PIPE(pipe, _DPIO_IREF_A, _DPIO_IREF_B) 496#define VLV_PLL_DW9(ch) _PIPE(ch, _VLV_PLL_DW9_CH0, _VLV_PLL_DW9_CH1)
502 497
503#define _DPIO_PLL_CML_A 0x804c 498#define _VLV_PLL_DW10_CH0 0x8048
504#define _DPIO_PLL_CML_B 0x806c 499#define _VLV_PLL_DW10_CH1 0x8068
505#define DPIO_PLL_CML(pipe) _PIPE(pipe, _DPIO_PLL_CML_A, _DPIO_PLL_CML_B) 500#define VLV_PLL_DW10(ch) _PIPE(ch, _VLV_PLL_DW10_CH0, _VLV_PLL_DW10_CH1)
506 501
507#define _DPIO_LPF_COEFF_A 0x8048 502#define _VLV_PLL_DW11_CH0 0x804c
508#define _DPIO_LPF_COEFF_B 0x8068 503#define _VLV_PLL_DW11_CH1 0x806c
509#define DPIO_LPF_COEFF(pipe) _PIPE(pipe, _DPIO_LPF_COEFF_A, _DPIO_LPF_COEFF_B) 504#define VLV_PLL_DW11(ch) _PIPE(ch, _VLV_PLL_DW11_CH0, _VLV_PLL_DW11_CH1)
510 505
511#define DPIO_CALIBRATION 0x80ac 506/* Spec for ref block start counts at DW10 */
507#define VLV_REF_DW13 0x80ac
512 508
513#define DPIO_FASTCLK_DISABLE 0x8100 509#define VLV_CMN_DW0 0x8100
514 510
515/* 511/*
516 * Per DDI channel DPIO regs 512 * Per DDI channel DPIO regs
517 */ 513 */
518 514
519#define _DPIO_PCS_TX_0 0x8200 515#define _VLV_PCS_DW0_CH0 0x8200
520#define _DPIO_PCS_TX_1 0x8400 516#define _VLV_PCS_DW0_CH1 0x8400
521#define DPIO_PCS_TX_LANE2_RESET (1<<16) 517#define DPIO_PCS_TX_LANE2_RESET (1<<16)
522#define DPIO_PCS_TX_LANE1_RESET (1<<7) 518#define DPIO_PCS_TX_LANE1_RESET (1<<7)
523#define DPIO_PCS_TX(port) _PORT(port, _DPIO_PCS_TX_0, _DPIO_PCS_TX_1) 519#define VLV_PCS_DW0(ch) _PORT(ch, _VLV_PCS_DW0_CH0, _VLV_PCS_DW0_CH1)
524 520
525#define _DPIO_PCS_CLK_0 0x8204 521#define _VLV_PCS_DW1_CH0 0x8204
526#define _DPIO_PCS_CLK_1 0x8404 522#define _VLV_PCS_DW1_CH1 0x8404
527#define DPIO_PCS_CLK_CRI_RXEB_EIOS_EN (1<<22) 523#define DPIO_PCS_CLK_CRI_RXEB_EIOS_EN (1<<22)
528#define DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN (1<<21) 524#define DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN (1<<21)
529#define DPIO_PCS_CLK_DATAWIDTH_SHIFT (6) 525#define DPIO_PCS_CLK_DATAWIDTH_SHIFT (6)
530#define DPIO_PCS_CLK_SOFT_RESET (1<<5) 526#define DPIO_PCS_CLK_SOFT_RESET (1<<5)
531#define DPIO_PCS_CLK(port) _PORT(port, _DPIO_PCS_CLK_0, _DPIO_PCS_CLK_1) 527#define VLV_PCS_DW1(ch) _PORT(ch, _VLV_PCS_DW1_CH0, _VLV_PCS_DW1_CH1)
532 528
533#define _DPIO_PCS_CTL_OVR1_A 0x8224 529#define _VLV_PCS_DW8_CH0 0x8220
534#define _DPIO_PCS_CTL_OVR1_B 0x8424 530#define _VLV_PCS_DW8_CH1 0x8420
535#define DPIO_PCS_CTL_OVER1(port) _PORT(port, _DPIO_PCS_CTL_OVR1_A, \ 531#define VLV_PCS_DW8(ch) _PORT(ch, _VLV_PCS_DW8_CH0, _VLV_PCS_DW8_CH1)
536 _DPIO_PCS_CTL_OVR1_B) 532
537 533#define _VLV_PCS01_DW8_CH0 0x0220
538#define _DPIO_PCS_STAGGER0_A 0x822c 534#define _VLV_PCS23_DW8_CH0 0x0420
539#define _DPIO_PCS_STAGGER0_B 0x842c 535#define _VLV_PCS01_DW8_CH1 0x2620
540#define DPIO_PCS_STAGGER0(port) _PORT(port, _DPIO_PCS_STAGGER0_A, \ 536#define _VLV_PCS23_DW8_CH1 0x2820
541 _DPIO_PCS_STAGGER0_B) 537#define VLV_PCS01_DW8(port) _PORT(port, _VLV_PCS01_DW8_CH0, _VLV_PCS01_DW8_CH1)
542 538#define VLV_PCS23_DW8(port) _PORT(port, _VLV_PCS23_DW8_CH0, _VLV_PCS23_DW8_CH1)
543#define _DPIO_PCS_STAGGER1_A 0x8230 539
544#define _DPIO_PCS_STAGGER1_B 0x8430 540#define _VLV_PCS_DW9_CH0 0x8224
545#define DPIO_PCS_STAGGER1(port) _PORT(port, _DPIO_PCS_STAGGER1_A, \ 541#define _VLV_PCS_DW9_CH1 0x8424
546 _DPIO_PCS_STAGGER1_B) 542#define VLV_PCS_DW9(ch) _PORT(ch, _VLV_PCS_DW9_CH0, _VLV_PCS_DW9_CH1)
547 543
548#define _DPIO_PCS_CLOCKBUF0_A 0x8238 544#define _VLV_PCS_DW11_CH0 0x822c
549#define _DPIO_PCS_CLOCKBUF0_B 0x8438 545#define _VLV_PCS_DW11_CH1 0x842c
550#define DPIO_PCS_CLOCKBUF0(port) _PORT(port, _DPIO_PCS_CLOCKBUF0_A, \ 546#define VLV_PCS_DW11(ch) _PORT(ch, _VLV_PCS_DW11_CH0, _VLV_PCS_DW11_CH1)
551 _DPIO_PCS_CLOCKBUF0_B) 547
552 548#define _VLV_PCS_DW12_CH0 0x8230
553#define _DPIO_PCS_CLOCKBUF8_A 0x825c 549#define _VLV_PCS_DW12_CH1 0x8430
554#define _DPIO_PCS_CLOCKBUF8_B 0x845c 550#define VLV_PCS_DW12(ch) _PORT(ch, _VLV_PCS_DW12_CH0, _VLV_PCS_DW12_CH1)
555#define DPIO_PCS_CLOCKBUF8(port) _PORT(port, _DPIO_PCS_CLOCKBUF8_A, \ 551
556 _DPIO_PCS_CLOCKBUF8_B) 552#define _VLV_PCS_DW14_CH0 0x8238
557 553#define _VLV_PCS_DW14_CH1 0x8438
558#define _DPIO_TX_SWING_CTL2_A 0x8288 554#define VLV_PCS_DW14(ch) _PORT(ch, _VLV_PCS_DW14_CH0, _VLV_PCS_DW14_CH1)
559#define _DPIO_TX_SWING_CTL2_B 0x8488 555
560#define DPIO_TX_SWING_CTL2(port) _PORT(port, _DPIO_TX_SWING_CTL2_A, \ 556#define _VLV_PCS_DW23_CH0 0x825c
561 _DPIO_TX_SWING_CTL2_B) 557#define _VLV_PCS_DW23_CH1 0x845c
562 558#define VLV_PCS_DW23(ch) _PORT(ch, _VLV_PCS_DW23_CH0, _VLV_PCS_DW23_CH1)
563#define _DPIO_TX_SWING_CTL3_A 0x828c 559
564#define _DPIO_TX_SWING_CTL3_B 0x848c 560#define _VLV_TX_DW2_CH0 0x8288
565#define DPIO_TX_SWING_CTL3(port) _PORT(port, _DPIO_TX_SWING_CTL3_A, \ 561#define _VLV_TX_DW2_CH1 0x8488
566 _DPIO_TX_SWING_CTL3_B) 562#define VLV_TX_DW2(ch) _PORT(ch, _VLV_TX_DW2_CH0, _VLV_TX_DW2_CH1)
567 563
568#define _DPIO_TX_SWING_CTL4_A 0x8290 564#define _VLV_TX_DW3_CH0 0x828c
569#define _DPIO_TX_SWING_CTL4_B 0x8490 565#define _VLV_TX_DW3_CH1 0x848c
570#define DPIO_TX_SWING_CTL4(port) _PORT(port, _DPIO_TX_SWING_CTL4_A, \ 566#define VLV_TX_DW3(ch) _PORT(ch, _VLV_TX_DW3_CH0, _VLV_TX_DW3_CH1)
571 _DPIO_TX_SWING_CTL4_B) 567
572 568#define _VLV_TX_DW4_CH0 0x8290
573#define _DPIO_TX_OCALINIT_0 0x8294 569#define _VLV_TX_DW4_CH1 0x8490
574#define _DPIO_TX_OCALINIT_1 0x8494 570#define VLV_TX_DW4(ch) _PORT(ch, _VLV_TX_DW4_CH0, _VLV_TX_DW4_CH1)
571
572#define _VLV_TX3_DW4_CH0 0x690
573#define _VLV_TX3_DW4_CH1 0x2a90
574#define VLV_TX3_DW4(ch) _PORT(ch, _VLV_TX3_DW4_CH0, _VLV_TX3_DW4_CH1)
575
576#define _VLV_TX_DW5_CH0 0x8294
577#define _VLV_TX_DW5_CH1 0x8494
575#define DPIO_TX_OCALINIT_EN (1<<31) 578#define DPIO_TX_OCALINIT_EN (1<<31)
576#define DPIO_TX_OCALINIT(port) _PORT(port, _DPIO_TX_OCALINIT_0, \ 579#define VLV_TX_DW5(ch) _PORT(ch, _VLV_TX_DW5_CH0, _VLV_TX_DW5_CH1)
577 _DPIO_TX_OCALINIT_1) 580
578 581#define _VLV_TX_DW11_CH0 0x82ac
579#define _DPIO_TX_CTL_0 0x82ac 582#define _VLV_TX_DW11_CH1 0x84ac
580#define _DPIO_TX_CTL_1 0x84ac 583#define VLV_TX_DW11(ch) _PORT(ch, _VLV_TX_DW11_CH0, _VLV_TX_DW11_CH1)
581#define DPIO_TX_CTL(port) _PORT(port, _DPIO_TX_CTL_0, _DPIO_TX_CTL_1) 584
582 585#define _VLV_TX_DW14_CH0 0x82b8
583#define _DPIO_TX_LANE_0 0x82b8 586#define _VLV_TX_DW14_CH1 0x84b8
584#define _DPIO_TX_LANE_1 0x84b8 587#define VLV_TX_DW14(ch) _PORT(ch, _VLV_TX_DW14_CH0, _VLV_TX_DW14_CH1)
585#define DPIO_TX_LANE(port) _PORT(port, _DPIO_TX_LANE_0, _DPIO_TX_LANE_1)
586
587#define _DPIO_DATA_CHANNEL1 0x8220
588#define _DPIO_DATA_CHANNEL2 0x8420
589#define DPIO_DATA_CHANNEL(port) _PORT(port, _DPIO_DATA_CHANNEL1, _DPIO_DATA_CHANNEL2)
590
591#define _DPIO_PORT0_PCS0 0x0220
592#define _DPIO_PORT0_PCS1 0x0420
593#define _DPIO_PORT1_PCS2 0x2620
594#define _DPIO_PORT1_PCS3 0x2820
595#define DPIO_DATA_LANE_A(port) _PORT(port, _DPIO_PORT0_PCS0, _DPIO_PORT1_PCS2)
596#define DPIO_DATA_LANE_B(port) _PORT(port, _DPIO_PORT0_PCS1, _DPIO_PORT1_PCS3)
597#define DPIO_DATA_CHANNEL1 0x8220
598#define DPIO_DATA_CHANNEL2 0x8420
599 588
600/* 589/*
601 * Fence registers 590 * Fence registers
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0980bd95e372..abf509ce5e26 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -4786,24 +4786,24 @@ static void vlv_pllb_recal_opamp(struct drm_i915_private *dev_priv, enum pipe
4786 * PLLB opamp always calibrates to max value of 0x3f, force enable it 4786 * PLLB opamp always calibrates to max value of 0x3f, force enable it
4787 * and set it to a reasonable value instead. 4787 * and set it to a reasonable value instead.
4788 */ 4788 */
4789 reg_val = vlv_dpio_read(dev_priv, pipe, DPIO_IREF(1)); 4789 reg_val = vlv_dpio_read(dev_priv, pipe, VLV_PLL_DW9(1));
4790 reg_val &= 0xffffff00; 4790 reg_val &= 0xffffff00;
4791 reg_val |= 0x00000030; 4791 reg_val |= 0x00000030;
4792 vlv_dpio_write(dev_priv, pipe, DPIO_IREF(1), reg_val); 4792 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW9(1), reg_val);
4793 4793
4794 reg_val = vlv_dpio_read(dev_priv, pipe, DPIO_CALIBRATION); 4794 reg_val = vlv_dpio_read(dev_priv, pipe, VLV_REF_DW13);
4795 reg_val &= 0x8cffffff; 4795 reg_val &= 0x8cffffff;
4796 reg_val = 0x8c000000; 4796 reg_val = 0x8c000000;
4797 vlv_dpio_write(dev_priv, pipe, DPIO_CALIBRATION, reg_val); 4797 vlv_dpio_write(dev_priv, pipe, VLV_REF_DW13, reg_val);
4798 4798
4799 reg_val = vlv_dpio_read(dev_priv, pipe, DPIO_IREF(1)); 4799 reg_val = vlv_dpio_read(dev_priv, pipe, VLV_PLL_DW9(1));
4800 reg_val &= 0xffffff00; 4800 reg_val &= 0xffffff00;
4801 vlv_dpio_write(dev_priv, pipe, DPIO_IREF(1), reg_val); 4801 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW9(1), reg_val);
4802 4802
4803 reg_val = vlv_dpio_read(dev_priv, pipe, DPIO_CALIBRATION); 4803 reg_val = vlv_dpio_read(dev_priv, pipe, VLV_REF_DW13);
4804 reg_val &= 0x00ffffff; 4804 reg_val &= 0x00ffffff;
4805 reg_val |= 0xb0000000; 4805 reg_val |= 0xb0000000;
4806 vlv_dpio_write(dev_priv, pipe, DPIO_CALIBRATION, reg_val); 4806 vlv_dpio_write(dev_priv, pipe, VLV_REF_DW13, reg_val);
4807} 4807}
4808 4808
4809static void intel_pch_transcoder_set_m_n(struct intel_crtc *crtc, 4809static void intel_pch_transcoder_set_m_n(struct intel_crtc *crtc,
@@ -4872,15 +4872,15 @@ static void vlv_update_pll(struct intel_crtc *crtc)
4872 vlv_pllb_recal_opamp(dev_priv, pipe); 4872 vlv_pllb_recal_opamp(dev_priv, pipe);
4873 4873
4874 /* Set up Tx target for periodic Rcomp update */ 4874 /* Set up Tx target for periodic Rcomp update */
4875 vlv_dpio_write(dev_priv, pipe, DPIO_IREF_BCAST, 0x0100000f); 4875 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW9_BCAST, 0x0100000f);
4876 4876
4877 /* Disable target IRef on PLL */ 4877 /* Disable target IRef on PLL */
4878 reg_val = vlv_dpio_read(dev_priv, pipe, DPIO_IREF_CTL(pipe)); 4878 reg_val = vlv_dpio_read(dev_priv, pipe, VLV_PLL_DW8(pipe));
4879 reg_val &= 0x00ffffff; 4879 reg_val &= 0x00ffffff;
4880 vlv_dpio_write(dev_priv, pipe, DPIO_IREF_CTL(pipe), reg_val); 4880 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW8(pipe), reg_val);
4881 4881
4882 /* Disable fast lock */ 4882 /* Disable fast lock */
4883 vlv_dpio_write(dev_priv, pipe, DPIO_FASTCLK_DISABLE, 0x610); 4883 vlv_dpio_write(dev_priv, pipe, VLV_CMN_DW0, 0x610);
4884 4884
4885 /* Set idtafcrecal before PLL is enabled */ 4885 /* Set idtafcrecal before PLL is enabled */
4886 mdiv = ((bestm1 << DPIO_M1DIV_SHIFT) | (bestm2 & DPIO_M2DIV_MASK)); 4886 mdiv = ((bestm1 << DPIO_M1DIV_SHIFT) | (bestm2 & DPIO_M2DIV_MASK));
@@ -4894,48 +4894,48 @@ static void vlv_update_pll(struct intel_crtc *crtc)
4894 * Note: don't use the DAC post divider as it seems unstable. 4894 * Note: don't use the DAC post divider as it seems unstable.
4895 */ 4895 */
4896 mdiv |= (DPIO_POST_DIV_HDMIDP << DPIO_POST_DIV_SHIFT); 4896 mdiv |= (DPIO_POST_DIV_HDMIDP << DPIO_POST_DIV_SHIFT);
4897 vlv_dpio_write(dev_priv, pipe, DPIO_DIV(pipe), mdiv); 4897 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW3(pipe), mdiv);
4898 4898
4899 mdiv |= DPIO_ENABLE_CALIBRATION; 4899 mdiv |= DPIO_ENABLE_CALIBRATION;
4900 vlv_dpio_write(dev_priv, pipe, DPIO_DIV(pipe), mdiv); 4900 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW3(pipe), mdiv);
4901 4901
4902 /* Set HBR and RBR LPF coefficients */ 4902 /* Set HBR and RBR LPF coefficients */
4903 if (crtc->config.port_clock == 162000 || 4903 if (crtc->config.port_clock == 162000 ||
4904 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_ANALOG) || 4904 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_ANALOG) ||
4905 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_HDMI)) 4905 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_HDMI))
4906 vlv_dpio_write(dev_priv, pipe, DPIO_LPF_COEFF(pipe), 4906 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW10(pipe),
4907 0x009f0003); 4907 0x009f0003);
4908 else 4908 else
4909 vlv_dpio_write(dev_priv, pipe, DPIO_LPF_COEFF(pipe), 4909 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW10(pipe),
4910 0x00d0000f); 4910 0x00d0000f);
4911 4911
4912 if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP) || 4912 if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP) ||
4913 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT)) { 4913 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT)) {
4914 /* Use SSC source */ 4914 /* Use SSC source */
4915 if (!pipe) 4915 if (!pipe)
4916 vlv_dpio_write(dev_priv, pipe, DPIO_REFSFR(pipe), 4916 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW5(pipe),
4917 0x0df40000); 4917 0x0df40000);
4918 else 4918 else
4919 vlv_dpio_write(dev_priv, pipe, DPIO_REFSFR(pipe), 4919 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW5(pipe),
4920 0x0df70000); 4920 0x0df70000);
4921 } else { /* HDMI or VGA */ 4921 } else { /* HDMI or VGA */
4922 /* Use bend source */ 4922 /* Use bend source */
4923 if (!pipe) 4923 if (!pipe)
4924 vlv_dpio_write(dev_priv, pipe, DPIO_REFSFR(pipe), 4924 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW5(pipe),
4925 0x0df70000); 4925 0x0df70000);
4926 else 4926 else
4927 vlv_dpio_write(dev_priv, pipe, DPIO_REFSFR(pipe), 4927 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW5(pipe),
4928 0x0df40000); 4928 0x0df40000);
4929 } 4929 }
4930 4930
4931 coreclk = vlv_dpio_read(dev_priv, pipe, DPIO_CORE_CLK(pipe)); 4931 coreclk = vlv_dpio_read(dev_priv, pipe, VLV_PLL_DW7(pipe));
4932 coreclk = (coreclk & 0x0000ff00) | 0x01c00000; 4932 coreclk = (coreclk & 0x0000ff00) | 0x01c00000;
4933 if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT) || 4933 if (intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_DISPLAYPORT) ||
4934 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP)) 4934 intel_pipe_has_type(&crtc->base, INTEL_OUTPUT_EDP))
4935 coreclk |= 0x01000000; 4935 coreclk |= 0x01000000;
4936 vlv_dpio_write(dev_priv, pipe, DPIO_CORE_CLK(pipe), coreclk); 4936 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW7(pipe), coreclk);
4937 4937
4938 vlv_dpio_write(dev_priv, pipe, DPIO_PLL_CML(pipe), 0x87871000); 4938 vlv_dpio_write(dev_priv, pipe, VLV_PLL_DW11(pipe), 0x87871000);
4939 4939
4940 /* Enable DPIO clock input */ 4940 /* Enable DPIO clock input */
4941 dpll = DPLL_EXT_BUFFER_ENABLE_VLV | DPLL_REFA_CLK_ENABLE_VLV | 4941 dpll = DPLL_EXT_BUFFER_ENABLE_VLV | DPLL_REFA_CLK_ENABLE_VLV |
@@ -5413,7 +5413,7 @@ static void vlv_crtc_clock_get(struct intel_crtc *crtc,
5413 int refclk = 100000; 5413 int refclk = 100000;
5414 5414
5415 mutex_lock(&dev_priv->dpio_lock); 5415 mutex_lock(&dev_priv->dpio_lock);
5416 mdiv = vlv_dpio_read(dev_priv, pipe, DPIO_DIV(pipe)); 5416 mdiv = vlv_dpio_read(dev_priv, pipe, VLV_PLL_DW3(pipe));
5417 mutex_unlock(&dev_priv->dpio_lock); 5417 mutex_unlock(&dev_priv->dpio_lock);
5418 5418
5419 clock.m1 = (mdiv >> DPIO_M1DIV_SHIFT) & 7; 5419 clock.m1 = (mdiv >> DPIO_M1DIV_SHIFT) & 7;
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 7619eae35b25..2584eb4bbf0b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1846,16 +1846,16 @@ static void vlv_pre_enable_dp(struct intel_encoder *encoder)
1846 1846
1847 mutex_lock(&dev_priv->dpio_lock); 1847 mutex_lock(&dev_priv->dpio_lock);
1848 1848
1849 val = vlv_dpio_read(dev_priv, pipe, DPIO_DATA_LANE_A(port)); 1849 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS01_DW8(port));
1850 val = 0; 1850 val = 0;
1851 if (pipe) 1851 if (pipe)
1852 val |= (1<<21); 1852 val |= (1<<21);
1853 else 1853 else
1854 val &= ~(1<<21); 1854 val &= ~(1<<21);
1855 val |= 0x001000c4; 1855 val |= 0x001000c4;
1856 vlv_dpio_write(dev_priv, pipe, DPIO_DATA_CHANNEL(port), val); 1856 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW8(port), val);
1857 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLOCKBUF0(port), 0x00760018); 1857 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW14(port), 0x00760018);
1858 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLOCKBUF8(port), 0x00400888); 1858 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW23(port), 0x00400888);
1859 1859
1860 mutex_unlock(&dev_priv->dpio_lock); 1860 mutex_unlock(&dev_priv->dpio_lock);
1861 1861
@@ -1881,19 +1881,19 @@ static void vlv_dp_pre_pll_enable(struct intel_encoder *encoder)
1881 1881
1882 /* Program Tx lane resets to default */ 1882 /* Program Tx lane resets to default */
1883 mutex_lock(&dev_priv->dpio_lock); 1883 mutex_lock(&dev_priv->dpio_lock);
1884 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_TX(port), 1884 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port),
1885 DPIO_PCS_TX_LANE2_RESET | 1885 DPIO_PCS_TX_LANE2_RESET |
1886 DPIO_PCS_TX_LANE1_RESET); 1886 DPIO_PCS_TX_LANE1_RESET);
1887 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLK(port), 1887 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port),
1888 DPIO_PCS_CLK_CRI_RXEB_EIOS_EN | 1888 DPIO_PCS_CLK_CRI_RXEB_EIOS_EN |
1889 DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN | 1889 DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN |
1890 (1<<DPIO_PCS_CLK_DATAWIDTH_SHIFT) | 1890 (1<<DPIO_PCS_CLK_DATAWIDTH_SHIFT) |
1891 DPIO_PCS_CLK_SOFT_RESET); 1891 DPIO_PCS_CLK_SOFT_RESET);
1892 1892
1893 /* Fix up inter-pair skew failure */ 1893 /* Fix up inter-pair skew failure */
1894 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_STAGGER1(port), 0x00750f00); 1894 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW12(port), 0x00750f00);
1895 vlv_dpio_write(dev_priv, pipe, DPIO_TX_CTL(port), 0x00001500); 1895 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW11(port), 0x00001500);
1896 vlv_dpio_write(dev_priv, pipe, DPIO_TX_LANE(port), 0x40400000); 1896 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW14(port), 0x40400000);
1897 mutex_unlock(&dev_priv->dpio_lock); 1897 mutex_unlock(&dev_priv->dpio_lock);
1898} 1898}
1899 1899
@@ -2110,14 +2110,14 @@ static uint32_t intel_vlv_signal_levels(struct intel_dp *intel_dp)
2110 } 2110 }
2111 2111
2112 mutex_lock(&dev_priv->dpio_lock); 2112 mutex_lock(&dev_priv->dpio_lock);
2113 vlv_dpio_write(dev_priv, pipe, DPIO_TX_OCALINIT(port), 0x00000000); 2113 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW5(port), 0x00000000);
2114 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL4(port), demph_reg_value); 2114 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW4(port), demph_reg_value);
2115 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL2(port), 2115 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW2(port),
2116 uniqtranscale_reg_value); 2116 uniqtranscale_reg_value);
2117 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL3(port), 0x0C782040); 2117 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW3(port), 0x0C782040);
2118 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_STAGGER0(port), 0x00030000); 2118 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW11(port), 0x00030000);
2119 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CTL_OVER1(port), preemph_reg_value); 2119 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW9(port), preemph_reg_value);
2120 vlv_dpio_write(dev_priv, pipe, DPIO_TX_OCALINIT(port), 0x80000000); 2120 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW5(port), 0x80000000);
2121 mutex_unlock(&dev_priv->dpio_lock); 2121 mutex_unlock(&dev_priv->dpio_lock);
2122 2122
2123 return 0; 2123 return 0;
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 51a8336dec2e..5b9143fc9b5a 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1090,36 +1090,28 @@ static void vlv_hdmi_pre_enable(struct intel_encoder *encoder)
1090 1090
1091 /* Enable clock channels for this port */ 1091 /* Enable clock channels for this port */
1092 mutex_lock(&dev_priv->dpio_lock); 1092 mutex_lock(&dev_priv->dpio_lock);
1093 val = vlv_dpio_read(dev_priv, pipe, DPIO_DATA_LANE_A(port)); 1093 val = vlv_dpio_read(dev_priv, pipe, VLV_PCS01_DW8(port));
1094 val = 0; 1094 val = 0;
1095 if (pipe) 1095 if (pipe)
1096 val |= (1<<21); 1096 val |= (1<<21);
1097 else 1097 else
1098 val &= ~(1<<21); 1098 val &= ~(1<<21);
1099 val |= 0x001000c4; 1099 val |= 0x001000c4;
1100 vlv_dpio_write(dev_priv, pipe, DPIO_DATA_CHANNEL(port), val); 1100 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW8(port), val);
1101 1101
1102 /* HDMI 1.0V-2dB */ 1102 /* HDMI 1.0V-2dB */
1103 vlv_dpio_write(dev_priv, pipe, DPIO_TX_OCALINIT(port), 0); 1103 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW5(port), 0);
1104 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL4(port), 1104 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW4(port), 0x2b245f5f);
1105 0x2b245f5f); 1105 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW2(port), 0x5578b83a);
1106 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL2(port), 1106 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW3(port), 0x0c782040);
1107 0x5578b83a); 1107 vlv_dpio_write(dev_priv, pipe, VLV_TX3_DW4(port), 0x2b247878);
1108 vlv_dpio_write(dev_priv, pipe, DPIO_TX_SWING_CTL3(port), 1108 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW11(port), 0x00030000);
1109 0x0c782040); 1109 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW9(port), 0x00002000);
1110 vlv_dpio_write(dev_priv, pipe, DPIO_TX3_SWING_CTL4(port), 1110 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW5(port), DPIO_TX_OCALINIT_EN);
1111 0x2b247878);
1112 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_STAGGER0(port), 0x00030000);
1113 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CTL_OVER1(port),
1114 0x00002000);
1115 vlv_dpio_write(dev_priv, pipe, DPIO_TX_OCALINIT(port),
1116 DPIO_TX_OCALINIT_EN);
1117 1111
1118 /* Program lane clock */ 1112 /* Program lane clock */
1119 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLOCKBUF0(port), 1113 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW14(port), 0x00760018);
1120 0x00760018); 1114 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW23(port), 0x00400888);
1121 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLOCKBUF8(port),
1122 0x00400888);
1123 mutex_unlock(&dev_priv->dpio_lock); 1115 mutex_unlock(&dev_priv->dpio_lock);
1124 1116
1125 intel_enable_hdmi(encoder); 1117 intel_enable_hdmi(encoder);
@@ -1142,24 +1134,22 @@ static void vlv_hdmi_pre_pll_enable(struct intel_encoder *encoder)
1142 1134
1143 /* Program Tx lane resets to default */ 1135 /* Program Tx lane resets to default */
1144 mutex_lock(&dev_priv->dpio_lock); 1136 mutex_lock(&dev_priv->dpio_lock);
1145 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_TX(port), 1137 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port),
1146 DPIO_PCS_TX_LANE2_RESET | 1138 DPIO_PCS_TX_LANE2_RESET |
1147 DPIO_PCS_TX_LANE1_RESET); 1139 DPIO_PCS_TX_LANE1_RESET);
1148 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLK(port), 1140 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port),
1149 DPIO_PCS_CLK_CRI_RXEB_EIOS_EN | 1141 DPIO_PCS_CLK_CRI_RXEB_EIOS_EN |
1150 DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN | 1142 DPIO_PCS_CLK_CRI_RXDIGFILTSG_EN |
1151 (1<<DPIO_PCS_CLK_DATAWIDTH_SHIFT) | 1143 (1<<DPIO_PCS_CLK_DATAWIDTH_SHIFT) |
1152 DPIO_PCS_CLK_SOFT_RESET); 1144 DPIO_PCS_CLK_SOFT_RESET);
1153 1145
1154 /* Fix up inter-pair skew failure */ 1146 /* Fix up inter-pair skew failure */
1155 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_STAGGER1(port), 0x00750f00); 1147 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW12(port), 0x00750f00);
1156 vlv_dpio_write(dev_priv, pipe, DPIO_TX_CTL(port), 0x00001500); 1148 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW11(port), 0x00001500);
1157 vlv_dpio_write(dev_priv, pipe, DPIO_TX_LANE(port), 0x40400000); 1149 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW14(port), 0x40400000);
1158 1150
1159 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CTL_OVER1(port), 1151 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW9(port), 0x00002000);
1160 0x00002000); 1152 vlv_dpio_write(dev_priv, pipe, VLV_TX_DW5(port), DPIO_TX_OCALINIT_EN);
1161 vlv_dpio_write(dev_priv, pipe, DPIO_TX_OCALINIT(port),
1162 DPIO_TX_OCALINIT_EN);
1163 mutex_unlock(&dev_priv->dpio_lock); 1153 mutex_unlock(&dev_priv->dpio_lock);
1164} 1154}
1165 1155
@@ -1174,8 +1164,8 @@ static void vlv_hdmi_post_disable(struct intel_encoder *encoder)
1174 1164
1175 /* Reset lanes to avoid HDMI flicker (VLV w/a) */ 1165 /* Reset lanes to avoid HDMI flicker (VLV w/a) */
1176 mutex_lock(&dev_priv->dpio_lock); 1166 mutex_lock(&dev_priv->dpio_lock);
1177 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_TX(port), 0x00000000); 1167 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), 0x00000000);
1178 vlv_dpio_write(dev_priv, pipe, DPIO_PCS_CLK(port), 0x00e00060); 1168 vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port), 0x00e00060);
1179 mutex_unlock(&dev_priv->dpio_lock); 1169 mutex_unlock(&dev_priv->dpio_lock);
1180} 1170}
1181 1171