Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 9c58a049 authored by Sonika Jindal's avatar Sonika Jindal Committed by Daniel Vetter
Browse files

drm/i915/bxt: Set oscaledcompmethod to enable scale value



Bspec update tells that we have to enable oscaledcompmethod instead of
ouniqetrangenmethod for enabling scale value during swing programming.

v2: Adding back 'don't care' values to bxt_ddi_translations_dp and add
error message if ouniquetrangemethod was set (Imre)

Signed-off-by: default avatarSonika Jindal <sonika.jindal@intel.com>
Reviewed-by: default avatarSivakumar Thulasimani <sivakumar.thulasimani@intel.com&gt;(v1)>
Reviewed-by: default avatarImre Deak <imre.deak@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent d9d7000d
Loading
Loading
Loading
Loading
+2 −1
Original line number Original line Diff line number Diff line
@@ -1395,7 +1395,8 @@ enum skl_disp_power_wells {
#define BXT_PORT_TX_DW3_LN0(port)	_PORT3(port, _PORT_TX_DW3_LN0_A,  \
#define BXT_PORT_TX_DW3_LN0(port)	_PORT3(port, _PORT_TX_DW3_LN0_A,  \
						     _PORT_TX_DW3_LN0_B,  \
						     _PORT_TX_DW3_LN0_B,  \
						     _PORT_TX_DW3_LN0_C)
						     _PORT_TX_DW3_LN0_C)
#define   UNIQE_TRANGE_EN_METHOD	(1 << 27)
#define   SCALE_DCOMP_METHOD		(1 << 26)
#define   UNIQUE_TRANGE_EN_METHOD	(1 << 27)


#define _PORT_TX_DW4_LN0_A		0x162510
#define _PORT_TX_DW4_LN0_A		0x162510
#define _PORT_TX_DW4_LN0_B		0x6C510
#define _PORT_TX_DW4_LN0_B		0x6C510
+6 −2
Original line number Original line Diff line number Diff line
@@ -2165,9 +2165,13 @@ static void bxt_ddi_vswing_sequence(struct drm_device *dev, u32 level,
	I915_WRITE(BXT_PORT_TX_DW2_GRP(port), val);
	I915_WRITE(BXT_PORT_TX_DW2_GRP(port), val);


	val = I915_READ(BXT_PORT_TX_DW3_LN0(port));
	val = I915_READ(BXT_PORT_TX_DW3_LN0(port));
	val &= ~UNIQE_TRANGE_EN_METHOD;
	val &= ~SCALE_DCOMP_METHOD;
	if (ddi_translations[level].enable)
	if (ddi_translations[level].enable)
		val |= UNIQE_TRANGE_EN_METHOD;
		val |= SCALE_DCOMP_METHOD;

	if ((val & UNIQUE_TRANGE_EN_METHOD) && !(val & SCALE_DCOMP_METHOD))
		DRM_ERROR("Disabled scaling while ouniqetrangenmethod was set");

	I915_WRITE(BXT_PORT_TX_DW3_GRP(port), val);
	I915_WRITE(BXT_PORT_TX_DW3_GRP(port), val);


	val = I915_READ(BXT_PORT_TX_DW4_LN0(port));
	val = I915_READ(BXT_PORT_TX_DW4_LN0(port));