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

Commit 7f823282 authored by Jesse Barnes's avatar Jesse Barnes Committed by Chris Wilson
Browse files

drm/i915: fix PCH eDP SSC support



Enable SSC on PCH eDP if possible.

Signed-off-by: default avatarJesse Barnes <jbarnes@virtuousgeek.org>
[ickle: added a posting read of PCH_DREF_CONTROL before the udelay]
Signed-off-by: default avatarChris Wilson <chris@chris-wilson.co.uk>
parent 5b2adf89
Loading
Loading
Loading
Loading
+15 −3
Original line number Diff line number Diff line
@@ -3796,13 +3796,25 @@ static int intel_crtc_mode_set(struct drm_crtc *crtc,

				POSTING_READ(PCH_DREF_CONTROL);
				udelay(200);

			}
			temp &= ~DREF_CPU_SOURCE_OUTPUT_MASK;

			/* Enable CPU source on CPU attached eDP */
			if (!intel_encoder_is_pch_edp(&has_edp_encoder->base)) {
				if (dev_priv->lvds_use_ssc)
					temp |= DREF_CPU_SOURCE_OUTPUT_DOWNSPREAD;
			} else {
				else
					temp |= DREF_CPU_SOURCE_OUTPUT_NONSPREAD;
			} else {
				/* Enable SSC on PCH eDP if needed */
				if (dev_priv->lvds_use_ssc) {
					DRM_ERROR("enabling SSC on PCH\n");
					temp |= DREF_SUPERSPREAD_SOURCE_ENABLE;
				}
			}
			I915_WRITE(PCH_DREF_CONTROL, temp);
			POSTING_READ(PCH_DREF_CONTROL);
			udelay(200);
		}
	}