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

Commit a81a507d authored by Ben Widawsky's avatar Ben Widawsky Committed by Daniel Vetter
Browse files

drm/i915/bdw: Change dp aux timeout to 600us on DDIA



Cc: Art Runyan <arthur.j.runyan@intel.com>
Signed-off-by: default avatarBen Widawsky <ben@bwidawsk.net>
Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
parent b42c6009
Loading
Loading
Loading
Loading
+7 −1
Original line number Diff line number Diff line
@@ -405,6 +405,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
	uint32_t status;
	int try, precharge, clock = 0;
	bool has_aux_irq = INTEL_INFO(dev)->gen >= 5 && !IS_VALLEYVIEW(dev);
	uint32_t timeout;

	/* dp aux is extremely sensitive to irq latency, hence request the
	 * lowest possible wakeup latency and so prevent the cpu from going into
@@ -419,6 +420,11 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
	else
		precharge = 5;

	if (IS_BROADWELL(dev) && ch_ctl == DPA_AUX_CH_CTL)
		timeout = DP_AUX_CH_CTL_TIME_OUT_600us;
	else
		timeout = DP_AUX_CH_CTL_TIME_OUT_400us;

	intel_aux_display_runtime_get(dev_priv);

	/* Try to wait for any previous AUX channel activity */
@@ -454,7 +460,7 @@ intel_dp_aux_ch(struct intel_dp *intel_dp,
			I915_WRITE(ch_ctl,
				   DP_AUX_CH_CTL_SEND_BUSY |
				   (has_aux_irq ? DP_AUX_CH_CTL_INTERRUPT : 0) |
				   DP_AUX_CH_CTL_TIME_OUT_400us |
				   timeout |
				   (send_bytes << DP_AUX_CH_CTL_MESSAGE_SIZE_SHIFT) |
				   (precharge << DP_AUX_CH_CTL_PRECHARGE_2US_SHIFT) |
				   (aux_clock_divider << DP_AUX_CH_CTL_BIT_CLOCK_2X_SHIFT) |