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

Commit 79935fca authored by Paulo Zanoni's avatar Paulo Zanoni Committed by Daniel Vetter
Browse files

drm/i915: don't intel_crt_init if DDI A has 4 lanes



DDI A and E have 4 lanes to share, so if DDI A is using 4 lanes,
there's nothing left for DDI E, which means there's no CRT port on the
machine.

The bit we're checking here is programmed at system boot and it cannot
be changed afterwards, so we cannot change the amount of lanes
reserved for each DDI port.

Signed-off-by: default avatarPaulo Zanoni <paulo.r.zanoni@intel.com>
Reviewed-by: default avatarDamien Lespiau <damien.lespiau@intel.com>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent 17a303ec
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -4515,6 +4515,7 @@
#define  DDI_BUF_EMP_800MV_3_5DB_HSW		(8<<24)   /* Sel8 */
#define  DDI_BUF_EMP_MASK			(0xf<<24)
#define  DDI_BUF_IS_IDLE			(1<<7)
#define  DDI_A_4_LANES				(1<<4)
#define  DDI_PORT_WIDTH_X1			(0<<1)
#define  DDI_PORT_WIDTH_X2			(1<<1)
#define  DDI_PORT_WIDTH_X4			(3<<1)
+3 −1
Original line number Diff line number Diff line
@@ -8267,6 +8267,8 @@ static void intel_setup_outputs(struct drm_device *dev)
		I915_WRITE(PFIT_CONTROL, 0);
	}

	if (!(IS_HASWELL(dev) &&
	      (I915_READ(DDI_BUF_CTL(PORT_A)) & DDI_A_4_LANES)))
		intel_crt_init(dev);

	if (IS_HASWELL(dev)) {