All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it
@ 2019-06-04 20:09 Ville Syrjala
  2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
                   ` (7 more replies)
  0 siblings, 8 replies; 13+ messages in thread
From: Ville Syrjala @ 2019-06-04 20:09 UTC (permalink / raw)
  To: intel-gfx; +Cc: Julius B ., Johannes Krampf

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Our PCH refclk init code currently assumes that the PCH SSC reference
can only be used for FDI. That is not true and it can be used by
SPLL/WRPLL for eDP SSC or clock bending as well. Before we go
reconfiguring it let's make sure no PLL is currently using the PCH
SSC reference.

For some reason the hw is not particularly upset about losing
the clock if we immediately follow up with a modeset. Can't
really explain why nothing times out during the crtc disable
at least, but that's what the logs say. With fastboot the
story is quite different and we lose the entire display if
we turn off the PCH SSC reference when it's still being used.

Since we totally skip configuring the PCH SSC reference it
may not be in the proper state for FDI. Hopefully that won't
be a problem in practice.

We really should move this code to be part of the modeset seqeuence
and properly deal with the potentially conflicting requirements
imposed on PLL reference clocks. But that requires actual work.
Let's toss in a TODO for that.

v2: Pimp the commit message with the fastboot vs. not
    details

Cc: Julius B. <freedesktop@blln.gr>
Cc: Johannes Krampf <johannes.krampf@gmail.com>
Tested-by: Johannes Krampf <johannes.krampf@gmail.com>
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=108773
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h      |  1 +
 drivers/gpu/drm/i915/intel_display.c | 79 ++++++++++++++++++++++++++--
 2 files changed, 77 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index 07e3f861a92e..d5fee72fc079 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7511,6 +7511,7 @@ enum {
 #define  ILK_eDP_A_DISABLE		(1 << 24)
 #define  HSW_CDCLK_LIMIT		(1 << 24)
 #define  ILK_DESKTOP			(1 << 23)
+#define  HSW_CPU_SSC_ENABLE		(1 << 21)
 
 #define ILK_DSPCLK_GATE_D			_MMIO(0x42020)
 #define   ILK_VRHUNIT_CLOCK_GATE_DISABLE	(1 << 28)
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index fc47ed0247c5..75ca2030ffb0 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9121,22 +9121,95 @@ static void lpt_bend_clkout_dp(struct drm_i915_private *dev_priv, int steps)
 
 #undef BEND_IDX
 
+static bool spll_uses_pch_ssc(struct drm_i915_private *dev_priv)
+{
+	u32 fuse_strap = I915_READ(FUSE_STRAP);
+	u32 ctl = I915_READ(SPLL_CTL);
+
+	if ((ctl & SPLL_PLL_ENABLE) == 0)
+		return false;
+
+	if ((ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_SSC &&
+	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
+		return true;
+
+	if (IS_BROADWELL(dev_priv) &&
+	    (ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_NON_SSC)
+		return true;
+
+	return false;
+}
+
+static bool wrpll_uses_pch_ssc(struct drm_i915_private *dev_priv,
+			       enum intel_dpll_id id)
+{
+	u32 fuse_strap = I915_READ(FUSE_STRAP);
+	u32 ctl = I915_READ(WRPLL_CTL(id));
+
+	if ((ctl & WRPLL_PLL_ENABLE) == 0)
+		return false;
+
+	if ((ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_SSC)
+		return true;
+
+	if ((IS_BROADWELL(dev_priv) || IS_HSW_ULT(dev_priv)) &&
+	    (ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_NON_SSC &&
+	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
+		return true;
+
+	return false;
+}
+
 static void lpt_init_pch_refclk(struct drm_i915_private *dev_priv)
 {
 	struct intel_encoder *encoder;
-	bool has_vga = false;
+	bool pch_ssc_in_use = false;
+	bool has_fdi = false;
 
 	for_each_intel_encoder(&dev_priv->drm, encoder) {
 		switch (encoder->type) {
 		case INTEL_OUTPUT_ANALOG:
-			has_vga = true;
+			has_fdi = true;
 			break;
 		default:
 			break;
 		}
 	}
 
-	if (has_vga) {
+	/*
+	 * The BIOS may have decided to use the PCH SSC
+	 * reference so we must not disable it until the
+	 * relevant PLLs have stopped relying on it. We'll
+	 * just leave the PCH SSC reference enabled in case
+	 * any active PLL is using it. It will get disabled
+	 * after runtime suspend if we don't have FDI.
+	 *
+	 * TODO: Move the whole reference clock handling
+	 * to the modeset sequence proper so that we can
+	 * actually enable/disable/reconfigure these things
+	 * safely. To do that we need to introduce a real
+	 * clock hierarchy. That would also allow us to do
+	 * clock bending finally.
+	 */
+	if (spll_uses_pch_ssc(dev_priv)) {
+		DRM_DEBUG_KMS("SPLL using PCH SSC\n");
+		pch_ssc_in_use = true;
+	}
+
+	if (wrpll_uses_pch_ssc(dev_priv, DPLL_ID_WRPLL1)) {
+		DRM_DEBUG_KMS("WRPLL1 using PCH SSC\n");
+		pch_ssc_in_use = true;
+	}
+
+	if (wrpll_uses_pch_ssc(dev_priv, DPLL_ID_WRPLL2)) {
+		DRM_DEBUG_KMS("WRPLL2 using PCH SSC\n");
+		pch_ssc_in_use = true;
+	}
+
+	if (pch_ssc_in_use)
+		return;
+
+	if (has_fdi) {
 		lpt_bend_clkout_dp(dev_priv, 0);
 		lpt_enable_clkout_dp(dev_priv, true, true);
 	} else {
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
@ 2019-06-04 20:09 ` Ville Syrjala
  2019-06-05 14:24   ` Maarten Lankhorst
  2019-06-10 13:36   ` [PATCH v2 " Ville Syrjala
  2019-06-04 20:09 ` [PATCH 3/5] drm/i915: Nuke LC_FREQ Ville Syrjala
                   ` (6 subsequent siblings)
  7 siblings, 2 replies; 13+ messages in thread
From: Ville Syrjala @ 2019-06-04 20:09 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Give the PLL control register bits better names on HSW/BDW.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h       | 37 ++++++++++++++++++---------
 drivers/gpu/drm/i915/intel_ddi.c      | 16 ++++++------
 drivers/gpu/drm/i915/intel_display.c  |  8 +++---
 drivers/gpu/drm/i915/intel_dpll_mgr.c |  4 +--
 4 files changed, 39 insertions(+), 26 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index d5fee72fc079..b7dd42bfffaa 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -9465,24 +9465,33 @@ enum skl_power_gate {
 /* SPLL */
 #define SPLL_CTL			_MMIO(0x46020)
 #define  SPLL_PLL_ENABLE		(1 << 31)
-#define  SPLL_PLL_SSC			(1 << 28)
-#define  SPLL_PLL_NON_SSC		(2 << 28)
-#define  SPLL_PLL_LCPLL			(3 << 28)
-#define  SPLL_PLL_REF_MASK		(3 << 28)
-#define  SPLL_PLL_FREQ_810MHz		(0 << 26)
-#define  SPLL_PLL_FREQ_1350MHz		(1 << 26)
-#define  SPLL_PLL_FREQ_2700MHz		(2 << 26)
-#define  SPLL_PLL_FREQ_MASK		(3 << 26)
+#define  SPLL_REF_BCLK			(0 << 28)
+#define  SPLL_REF_MUXED_SSC		(1 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
+#define  SPLL_REF_NON_SSC_HSW		(2 << 28)
+#define  SPLL_REF_PCH_SSC_BDW		(2 << 28)
+#define  SPLL_REF_LCPLL			(3 << 28)
+#define  SPLL_REF_MASK			(3 << 28)
+#define  SPLL_REF_BCLK			(0 << 28)
+#define  SPLL_REF_SSC			(1 << 28)
+#define  SPLL_REF_NON_SSC		(2 << 28)
+#define  SPLL_REF_LCPLL			(3 << 28)
+#define  SPLL_REF_MASK			(3 << 28)
+#define  SPLL_FREQ_810MHz		(0 << 26)
+#define  SPLL_FREQ_1350MHz		(1 << 26)
+#define  SPLL_FREQ_2700MHz		(2 << 26)
+#define  SPLL_FREQ_MASK			(3 << 26)
 
 /* WRPLL */
 #define _WRPLL_CTL1			0x46040
 #define _WRPLL_CTL2			0x46060
 #define WRPLL_CTL(pll)			_MMIO_PIPE(pll, _WRPLL_CTL1, _WRPLL_CTL2)
 #define  WRPLL_PLL_ENABLE		(1 << 31)
-#define  WRPLL_PLL_SSC			(1 << 28)
-#define  WRPLL_PLL_NON_SSC		(2 << 28)
-#define  WRPLL_PLL_LCPLL		(3 << 28)
-#define  WRPLL_PLL_REF_MASK		(3 << 28)
+#define  WRPLL_REF_BCLK			(0 << 28)
+#define  WRPLL_REF_PCH_SSC		(1 << 28)
+#define  WRPLL_REF_MUXED_SSC_BDW	(2 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
+#define  WRPLL_REF_SPECIAL_HSW		(2 << 28) /* muxed SSC (ULT), non-SSC (non-ULT) */
+#define  WRPLL_REF_LCPLL		(3 << 28)
+#define  WRPLL_REF_MASK			(3 << 28)
 /* WRPLL divider programming */
 #define  WRPLL_DIVIDER_REFERENCE(x)	((x) << 0)
 #define  WRPLL_DIVIDER_REF_MASK		(0xff)
@@ -9548,6 +9557,10 @@ enum skl_power_gate {
 #define LCPLL_CTL			_MMIO(0x130040)
 #define  LCPLL_PLL_DISABLE		(1 << 31)
 #define  LCPLL_PLL_LOCK			(1 << 30)
+#define  LCPLL_REF_NON_SSC		(0 << 28)
+#define  LCPLL_REF_BCLK			(2 << 28)
+#define  LCPLL_REF_PCH_SSC		(3 << 28)
+#define  LCPLL_REF_MASK			(3 << 28)
 #define  LCPLL_CLK_FREQ_MASK		(3 << 26)
 #define  LCPLL_CLK_FREQ_450		(0 << 26)
 #define  LCPLL_CLK_FREQ_54O_BDW		(1 << 26)
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 350eaf54f01f..183f91abda19 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1231,9 +1231,9 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 	u32 wrpll;
 
 	wrpll = I915_READ(reg);
-	switch (wrpll & WRPLL_PLL_REF_MASK) {
-	case WRPLL_PLL_SSC:
-	case WRPLL_PLL_NON_SSC:
+	switch (wrpll & WRPLL_REF_MASK) {
+	case WRPLL_REF_SPECIAL_HSW:
+	case WRPLL_REF_PCH_SSC:
 		/*
 		 * We could calculate spread here, but our checking
 		 * code only cares about 5% accuracy, and spread is a max of
@@ -1241,7 +1241,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 		 */
 		refclk = 135;
 		break;
-	case WRPLL_PLL_LCPLL:
+	case WRPLL_REF_LCPLL:
 		refclk = LC_FREQ;
 		break;
 	default:
@@ -1613,12 +1613,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder,
 		link_clock = hsw_ddi_calc_wrpll_link(dev_priv, WRPLL_CTL(1));
 		break;
 	case PORT_CLK_SEL_SPLL:
-		pll = I915_READ(SPLL_CTL) & SPLL_PLL_FREQ_MASK;
-		if (pll == SPLL_PLL_FREQ_810MHz)
+		pll = I915_READ(SPLL_CTL) & SPLL_FREQ_MASK;
+		if (pll == SPLL_FREQ_810MHz)
 			link_clock = 81000;
-		else if (pll == SPLL_PLL_FREQ_1350MHz)
+		else if (pll == SPLL_FREQ_1350MHz)
 			link_clock = 135000;
-		else if (pll == SPLL_PLL_FREQ_2700MHz)
+		else if (pll == SPLL_FREQ_2700MHz)
 			link_clock = 270000;
 		else {
 			WARN(1, "bad spll freq\n");
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 75ca2030ffb0..393b19e53ba3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9129,12 +9129,12 @@ static bool spll_uses_pch_ssc(struct drm_i915_private *dev_priv)
 	if ((ctl & SPLL_PLL_ENABLE) == 0)
 		return false;
 
-	if ((ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_SSC &&
+	if ((ctl & SPLL_REF_MASK) == SPLL_REF_MUXED_SSC &&
 	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
 		return true;
 
 	if (IS_BROADWELL(dev_priv) &&
-	    (ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_NON_SSC)
+	    (ctl & SPLL_REF_MASK) == SPLL_REF_PCH_SSC_BDW)
 		return true;
 
 	return false;
@@ -9149,11 +9149,11 @@ static bool wrpll_uses_pch_ssc(struct drm_i915_private *dev_priv,
 	if ((ctl & WRPLL_PLL_ENABLE) == 0)
 		return false;
 
-	if ((ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_SSC)
+	if ((ctl & WRPLL_REF_MASK) == WRPLL_REF_PCH_SSC)
 		return true;
 
 	if ((IS_BROADWELL(dev_priv) || IS_HSW_ULT(dev_priv)) &&
-	    (ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_NON_SSC &&
+	    (ctl & WRPLL_REF_MASK) == WRPLL_REF_MUXED_SSC_BDW &&
 	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
 		return true;
 
diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
index 69787f259677..2d4e7b9a7b9d 100644
--- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
@@ -775,7 +775,7 @@ static struct intel_shared_dpll *hsw_ddi_hdmi_get_dpll(struct intel_crtc_state *
 
 	hsw_ddi_calculate_wrpll(crtc_state->port_clock * 1000, &r2, &n2, &p);
 
-	val = WRPLL_PLL_ENABLE | WRPLL_PLL_LCPLL |
+	val = WRPLL_PLL_ENABLE | WRPLL_REF_LCPLL |
 	      WRPLL_DIVIDER_REFERENCE(r2) | WRPLL_DIVIDER_FEEDBACK(n2) |
 	      WRPLL_DIVIDER_POST(p);
 
@@ -839,7 +839,7 @@ hsw_get_dpll(struct intel_crtc_state *crtc_state,
 			return NULL;
 
 		crtc_state->dpll_hw_state.spll =
-			SPLL_PLL_ENABLE | SPLL_PLL_FREQ_1350MHz | SPLL_PLL_SSC;
+			SPLL_PLL_ENABLE | SPLL_FREQ_1350MHz | SPLL_REF_MUXED_SSC;
 
 		pll = intel_find_shared_dpll(crtc_state,
 					     DPLL_ID_SPLL, DPLL_ID_SPLL);
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 3/5] drm/i915: Nuke LC_FREQ
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
  2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
@ 2019-06-04 20:09 ` Ville Syrjala
  2019-06-04 20:09 ` [PATCH 4/5] drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference Ville Syrjala
                   ` (5 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjala @ 2019-06-04 20:09 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Get rid of the pointless LC_FREQ define.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 183f91abda19..fc9bcbd75c3a 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1221,12 +1221,10 @@ intel_ddi_get_crtc_encoder(struct intel_crtc *crtc)
 	return ret;
 }
 
-#define LC_FREQ 2700
-
 static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 				   i915_reg_t reg)
 {
-	int refclk = LC_FREQ;
+	int refclk;
 	int n, p, r;
 	u32 wrpll;
 
@@ -1242,7 +1240,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 		refclk = 135;
 		break;
 	case WRPLL_REF_LCPLL:
-		refclk = LC_FREQ;
+		refclk = 2700;
 		break;
 	default:
 		WARN(1, "bad wrpll refclk\n");
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 4/5] drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
  2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
  2019-06-04 20:09 ` [PATCH 3/5] drm/i915: Nuke LC_FREQ Ville Syrjala
@ 2019-06-04 20:09 ` Ville Syrjala
  2019-06-04 20:09 ` [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW Ville Syrjala
                   ` (4 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjala @ 2019-06-04 20:09 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Only the non-SSC reference is truly supported for the LCPLL. Assert
that it is indeed selected.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/intel_display_power.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/gpu/drm/i915/intel_display_power.c b/drivers/gpu/drm/i915/intel_display_power.c
index 278a7edc94f5..bb9ef1cea5db 100644
--- a/drivers/gpu/drm/i915/intel_display_power.c
+++ b/drivers/gpu/drm/i915/intel_display_power.c
@@ -3665,6 +3665,9 @@ static void hsw_assert_cdclk(struct drm_i915_private *dev_priv)
 
 	if (val & LCPLL_PLL_DISABLE)
 		DRM_ERROR("LCPLL is disabled\n");
+
+	if ((val & LCPLL_REF_MASK) != LCPLL_REF_NON_SSC)
+		DRM_ERROR("LCPLL not using non-SSC reference\n");
 }
 
 static void assert_can_disable_lcpll(struct drm_i915_private *dev_priv)
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
                   ` (2 preceding siblings ...)
  2019-06-04 20:09 ` [PATCH 4/5] drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference Ville Syrjala
@ 2019-06-04 20:09 ` Ville Syrjala
  2019-06-05 14:26   ` Maarten Lankhorst
  2019-06-04 21:00 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Patchwork
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 13+ messages in thread
From: Ville Syrjala @ 2019-06-04 20:09 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

On non-ULT HSW the "special" WRPLL reference clock select
actually means non-SSC. Take that into account when reading
out the WRPLL state.

Also the non-SSC reference may be either 24MHz or 135MHz,
which we can read out from FUSE_STRAP3. The BDW docs actually
say: "also indicates whether the CPU and PCH are in a single
package or separate packages", so it may be that this is not
actually required and we could just assume 135 MHz (just like
the code already did). But it doesn't really hurt to read this
out as the HSW docs aren't quite so clear.

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h  |  3 +++
 drivers/gpu/drm/i915/intel_ddi.c | 15 ++++++++++++++-
 2 files changed, 17 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index b7dd42bfffaa..533b1d8d23cb 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -7513,6 +7513,9 @@ enum {
 #define  ILK_DESKTOP			(1 << 23)
 #define  HSW_CPU_SSC_ENABLE		(1 << 21)
 
+#define FUSE_STRAP3			_MMIO(0x42020)
+#define  HSW_REF_CLK_SELECT		(1 << 1)
+
 #define ILK_DSPCLK_GATE_D			_MMIO(0x42020)
 #define   ILK_VRHUNIT_CLOCK_GATE_DISABLE	(1 << 28)
 #define   ILK_DPFCUNIT_CLOCK_GATE_DISABLE	(1 << 9)
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index fc9bcbd75c3a..49dab3e72019 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1231,6 +1231,19 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 	wrpll = I915_READ(reg);
 	switch (wrpll & WRPLL_REF_MASK) {
 	case WRPLL_REF_SPECIAL_HSW:
+		/*
+		 * muxed-SSC for BDW.
+		 * non-SSC for non-ULT HSW. Check FUSE_STRAP3
+		 * for the non-SSC reference frequency.
+		 */
+		if (IS_HASWELL(dev_priv) && !IS_HSW_ULT(dev_priv)) {
+			if (I915_READ(FUSE_STRAP3) & HSW_REF_CLK_SELECT)
+				refclk = 24;
+			else
+				refclk = 135;
+			break;
+		}
+		/* fall through */
 	case WRPLL_REF_PCH_SSC:
 		/*
 		 * We could calculate spread here, but our checking
@@ -1243,7 +1256,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 		refclk = 2700;
 		break;
 	default:
-		WARN(1, "bad wrpll refclk\n");
+		MISSING_CASE(wrpll);
 		return 0;
 	}
 
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
                   ` (3 preceding siblings ...)
  2019-06-04 20:09 ` [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW Ville Syrjala
@ 2019-06-04 21:00 ` Patchwork
  2019-06-06  0:12 ` ✓ Fi.CI.IGT: " Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-04 21:00 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it
URL   : https://patchwork.freedesktop.org/series/61608/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6188 -> Patchwork_13174
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/

Known issues
------------

  Here are the changes found in Patchwork_13174 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@i915_selftest@live_contexts:
    - fi-bdw-gvtdvm:      [PASS][1] -> [DMESG-FAIL][2] ([fdo#110235])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-bdw-gvtdvm/igt@i915_selftest@live_contexts.html

  * igt@kms_chamelium@hdmi-hpd-fast:
    - fi-kbl-7500u:       [PASS][3] -> [FAIL][4] ([fdo#109485])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-kbl-7500u/igt@kms_chamelium@hdmi-hpd-fast.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - fi-icl-u3:          [PASS][5] -> [DMESG-WARN][6] ([fdo#107724]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-icl-u3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-icl-u3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  
#### Possible fixes ####

  * igt@gem_ctx_create@basic-files:
    - fi-icl-u2:          [INCOMPLETE][7] ([fdo#107713] / [fdo#109100]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-icl-u2/igt@gem_ctx_create@basic-files.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-icl-u2/igt@gem_ctx_create@basic-files.html

  * igt@i915_selftest@live_hangcheck:
    - fi-icl-y:           [INCOMPLETE][9] ([fdo#107713] / [fdo#108569]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-icl-y/igt@i915_selftest@live_hangcheck.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-icl-y/igt@i915_selftest@live_hangcheck.html

  * igt@kms_cursor_legacy@basic-flip-after-cursor-legacy:
    - fi-icl-u3:          [DMESG-WARN][11] ([fdo#107724]) -> [PASS][12] +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/fi-icl-u3/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/fi-icl-u3/igt@kms_cursor_legacy@basic-flip-after-cursor-legacy.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569
  [fdo#108602]: https://bugs.freedesktop.org/show_bug.cgi?id=108602
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109485]: https://bugs.freedesktop.org/show_bug.cgi?id=109485
  [fdo#110235]: https://bugs.freedesktop.org/show_bug.cgi?id=110235


Participating hosts (52 -> 45)
------------------------------

  Additional (1): fi-icl-guc 
  Missing    (8): fi-ilk-m540 fi-hsw-4200u fi-skl-guc fi-byt-squawks fi-bsw-cyan fi-kbl-7560u fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6188 -> Patchwork_13174

  CI_DRM_6188: cf57ce379660024b24b2f868af8ada79a104b264 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5037: a98c9cd50aa48933217ca41055279ccb1680d25b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13174: 7901d18ee5918e4596f08f4d458de6391bf2da3f @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

7901d18ee591 drm/i915: Improve WRPLL reference clock readout on HSW/BDW
ce513df003c1 drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference
6c6efed756b6 drm/i915: Nuke LC_FREQ
178e90ebcfdd drm/i915: Rename HSW/BDW PLL bits
d2baab425b25 drm/i915: Do not touch the PCH SSC reference if a PLL is using it

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits
  2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
@ 2019-06-05 14:24   ` Maarten Lankhorst
  2019-06-05 15:53     ` Ville Syrjälä
  2019-06-10 13:36   ` [PATCH v2 " Ville Syrjala
  1 sibling, 1 reply; 13+ messages in thread
From: Maarten Lankhorst @ 2019-06-05 14:24 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

Op 04-06-2019 om 22:09 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> Give the PLL control register bits better names on HSW/BDW.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h       | 37 ++++++++++++++++++---------
>  drivers/gpu/drm/i915/intel_ddi.c      | 16 ++++++------
>  drivers/gpu/drm/i915/intel_display.c  |  8 +++---
>  drivers/gpu/drm/i915/intel_dpll_mgr.c |  4 +--
>  4 files changed, 39 insertions(+), 26 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index d5fee72fc079..b7dd42bfffaa 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -9465,24 +9465,33 @@ enum skl_power_gate {
>  /* SPLL */
>  #define SPLL_CTL			_MMIO(0x46020)
>  #define  SPLL_PLL_ENABLE		(1 << 31)
> -#define  SPLL_PLL_SSC			(1 << 28)
> -#define  SPLL_PLL_NON_SSC		(2 << 28)
> -#define  SPLL_PLL_LCPLL			(3 << 28)
> -#define  SPLL_PLL_REF_MASK		(3 << 28)
> -#define  SPLL_PLL_FREQ_810MHz		(0 << 26)
> -#define  SPLL_PLL_FREQ_1350MHz		(1 << 26)
> -#define  SPLL_PLL_FREQ_2700MHz		(2 << 26)
> -#define  SPLL_PLL_FREQ_MASK		(3 << 26)
> +#define  SPLL_REF_BCLK			(0 << 28)
> +#define  SPLL_REF_MUXED_SSC		(1 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
> +#define  SPLL_REF_NON_SSC_HSW		(2 << 28)
> +#define  SPLL_REF_PCH_SSC_BDW		(2 << 28)
> +#define  SPLL_REF_LCPLL			(3 << 28)
> +#define  SPLL_REF_MASK			(3 << 28)
> +#define  SPLL_REF_BCLK			(0 << 28)
> +#define  SPLL_REF_SSC			(1 << 28)
> +#define  SPLL_REF_NON_SSC		(2 << 28)
> +#define  SPLL_REF_LCPLL			(3 << 28)

? Bit unclear or double definitions, at least of SPLL_REF_MASK.


> +#define  SPLL_REF_MASK			(3 << 28)
> +#define  SPLL_FREQ_810MHz		(0 << 26)
> +#define  SPLL_FREQ_1350MHz		(1 << 26)
> +#define  SPLL_FREQ_2700MHz		(2 << 26)
> +#define  SPLL_FREQ_MASK			(3 << 26)
>  
>  /* WRPLL */
>  #define _WRPLL_CTL1			0x46040
>  #define _WRPLL_CTL2			0x46060
>  #define WRPLL_CTL(pll)			_MMIO_PIPE(pll, _WRPLL_CTL1, _WRPLL_CTL2)
>  #define  WRPLL_PLL_ENABLE		(1 << 31)
> -#define  WRPLL_PLL_SSC			(1 << 28)
> -#define  WRPLL_PLL_NON_SSC		(2 << 28)
> -#define  WRPLL_PLL_LCPLL		(3 << 28)
> -#define  WRPLL_PLL_REF_MASK		(3 << 28)
> +#define  WRPLL_REF_BCLK			(0 << 28)
> +#define  WRPLL_REF_PCH_SSC		(1 << 28)
> +#define  WRPLL_REF_MUXED_SSC_BDW	(2 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
> +#define  WRPLL_REF_SPECIAL_HSW		(2 << 28) /* muxed SSC (ULT), non-SSC (non-ULT) */
> +#define  WRPLL_REF_LCPLL		(3 << 28)
> +#define  WRPLL_REF_MASK			(3 << 28)
>  /* WRPLL divider programming */
>  #define  WRPLL_DIVIDER_REFERENCE(x)	((x) << 0)
>  #define  WRPLL_DIVIDER_REF_MASK		(0xff)
> @@ -9548,6 +9557,10 @@ enum skl_power_gate {
>  #define LCPLL_CTL			_MMIO(0x130040)
>  #define  LCPLL_PLL_DISABLE		(1 << 31)
>  #define  LCPLL_PLL_LOCK			(1 << 30)
> +#define  LCPLL_REF_NON_SSC		(0 << 28)
> +#define  LCPLL_REF_BCLK			(2 << 28)
> +#define  LCPLL_REF_PCH_SSC		(3 << 28)
> +#define  LCPLL_REF_MASK			(3 << 28)
>  #define  LCPLL_CLK_FREQ_MASK		(3 << 26)
>  #define  LCPLL_CLK_FREQ_450		(0 << 26)
>  #define  LCPLL_CLK_FREQ_54O_BDW		(1 << 26)
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 350eaf54f01f..183f91abda19 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -1231,9 +1231,9 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
>  	u32 wrpll;
>  
>  	wrpll = I915_READ(reg);
> -	switch (wrpll & WRPLL_PLL_REF_MASK) {
> -	case WRPLL_PLL_SSC:
> -	case WRPLL_PLL_NON_SSC:
> +	switch (wrpll & WRPLL_REF_MASK) {
> +	case WRPLL_REF_SPECIAL_HSW:
> +	case WRPLL_REF_PCH_SSC:
>  		/*
>  		 * We could calculate spread here, but our checking
>  		 * code only cares about 5% accuracy, and spread is a max of
> @@ -1241,7 +1241,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
>  		 */
>  		refclk = 135;
>  		break;
> -	case WRPLL_PLL_LCPLL:
> +	case WRPLL_REF_LCPLL:
>  		refclk = LC_FREQ;
>  		break;
>  	default:
> @@ -1613,12 +1613,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder,
>  		link_clock = hsw_ddi_calc_wrpll_link(dev_priv, WRPLL_CTL(1));
>  		break;
>  	case PORT_CLK_SEL_SPLL:
> -		pll = I915_READ(SPLL_CTL) & SPLL_PLL_FREQ_MASK;
> -		if (pll == SPLL_PLL_FREQ_810MHz)
> +		pll = I915_READ(SPLL_CTL) & SPLL_FREQ_MASK;
> +		if (pll == SPLL_FREQ_810MHz)
>  			link_clock = 81000;
> -		else if (pll == SPLL_PLL_FREQ_1350MHz)
> +		else if (pll == SPLL_FREQ_1350MHz)
>  			link_clock = 135000;
> -		else if (pll == SPLL_PLL_FREQ_2700MHz)
> +		else if (pll == SPLL_FREQ_2700MHz)
>  			link_clock = 270000;
>  		else {
>  			WARN(1, "bad spll freq\n");
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 75ca2030ffb0..393b19e53ba3 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -9129,12 +9129,12 @@ static bool spll_uses_pch_ssc(struct drm_i915_private *dev_priv)
>  	if ((ctl & SPLL_PLL_ENABLE) == 0)
>  		return false;
>  
> -	if ((ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_SSC &&
> +	if ((ctl & SPLL_REF_MASK) == SPLL_REF_MUXED_SSC &&
>  	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
>  		return true;
>  
>  	if (IS_BROADWELL(dev_priv) &&
> -	    (ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_NON_SSC)
> +	    (ctl & SPLL_REF_MASK) == SPLL_REF_PCH_SSC_BDW)
>  		return true;
>  
>  	return false;
> @@ -9149,11 +9149,11 @@ static bool wrpll_uses_pch_ssc(struct drm_i915_private *dev_priv,
>  	if ((ctl & WRPLL_PLL_ENABLE) == 0)
>  		return false;
>  
> -	if ((ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_SSC)
> +	if ((ctl & WRPLL_REF_MASK) == WRPLL_REF_PCH_SSC)
>  		return true;
>  
>  	if ((IS_BROADWELL(dev_priv) || IS_HSW_ULT(dev_priv)) &&
> -	    (ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_NON_SSC &&
> +	    (ctl & WRPLL_REF_MASK) == WRPLL_REF_MUXED_SSC_BDW &&
>  	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
>  		return true;
>  
> diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> index 69787f259677..2d4e7b9a7b9d 100644
> --- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
> +++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> @@ -775,7 +775,7 @@ static struct intel_shared_dpll *hsw_ddi_hdmi_get_dpll(struct intel_crtc_state *
>  
>  	hsw_ddi_calculate_wrpll(crtc_state->port_clock * 1000, &r2, &n2, &p);
>  
> -	val = WRPLL_PLL_ENABLE | WRPLL_PLL_LCPLL |
> +	val = WRPLL_PLL_ENABLE | WRPLL_REF_LCPLL |
>  	      WRPLL_DIVIDER_REFERENCE(r2) | WRPLL_DIVIDER_FEEDBACK(n2) |
>  	      WRPLL_DIVIDER_POST(p);
>  
> @@ -839,7 +839,7 @@ hsw_get_dpll(struct intel_crtc_state *crtc_state,
>  			return NULL;
>  
>  		crtc_state->dpll_hw_state.spll =
> -			SPLL_PLL_ENABLE | SPLL_PLL_FREQ_1350MHz | SPLL_PLL_SSC;
> +			SPLL_PLL_ENABLE | SPLL_FREQ_1350MHz | SPLL_REF_MUXED_SSC;
>  
>  		pll = intel_find_shared_dpll(crtc_state,
>  					     DPLL_ID_SPLL, DPLL_ID_SPLL);


_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW
  2019-06-04 20:09 ` [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW Ville Syrjala
@ 2019-06-05 14:26   ` Maarten Lankhorst
  0 siblings, 0 replies; 13+ messages in thread
From: Maarten Lankhorst @ 2019-06-05 14:26 UTC (permalink / raw)
  To: Ville Syrjala, intel-gfx

Op 04-06-2019 om 22:09 schreef Ville Syrjala:
> From: Ville Syrjälä <ville.syrjala@linux.intel.com>
>
> On non-ULT HSW the "special" WRPLL reference clock select
> actually means non-SSC. Take that into account when reading
> out the WRPLL state.
>
> Also the non-SSC reference may be either 24MHz or 135MHz,
> which we can read out from FUSE_STRAP3. The BDW docs actually
> say: "also indicates whether the CPU and PCH are in a single
> package or separate packages", so it may be that this is not
> actually required and we could just assume 135 MHz (just like
> the code already did). But it doesn't really hurt to read this
> out as the HSW docs aren't quite so clear.
>
> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> ---
>  drivers/gpu/drm/i915/i915_reg.h  |  3 +++
>  drivers/gpu/drm/i915/intel_ddi.c | 15 ++++++++++++++-
>  2 files changed, 17 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> index b7dd42bfffaa..533b1d8d23cb 100644
> --- a/drivers/gpu/drm/i915/i915_reg.h
> +++ b/drivers/gpu/drm/i915/i915_reg.h
> @@ -7513,6 +7513,9 @@ enum {
>  #define  ILK_DESKTOP			(1 << 23)
>  #define  HSW_CPU_SSC_ENABLE		(1 << 21)
>  
> +#define FUSE_STRAP3			_MMIO(0x42020)
> +#define  HSW_REF_CLK_SELECT		(1 << 1)
> +
>  #define ILK_DSPCLK_GATE_D			_MMIO(0x42020)
>  #define   ILK_VRHUNIT_CLOCK_GATE_DISABLE	(1 << 28)
>  #define   ILK_DPFCUNIT_CLOCK_GATE_DISABLE	(1 << 9)
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index fc9bcbd75c3a..49dab3e72019 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -1231,6 +1231,19 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
>  	wrpll = I915_READ(reg);
>  	switch (wrpll & WRPLL_REF_MASK) {
>  	case WRPLL_REF_SPECIAL_HSW:
> +		/*
> +		 * muxed-SSC for BDW.
> +		 * non-SSC for non-ULT HSW. Check FUSE_STRAP3
> +		 * for the non-SSC reference frequency.
> +		 */
> +		if (IS_HASWELL(dev_priv) && !IS_HSW_ULT(dev_priv)) {
> +			if (I915_READ(FUSE_STRAP3) & HSW_REF_CLK_SELECT)
> +				refclk = 24;
> +			else
> +				refclk = 135;
> +			break;
> +		}
> +		/* fall through */
>  	case WRPLL_REF_PCH_SSC:
>  		/*
>  		 * We could calculate spread here, but our checking
> @@ -1243,7 +1256,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
>  		refclk = 2700;
>  		break;
>  	default:
> -		WARN(1, "bad wrpll refclk\n");
> +		MISSING_CASE(wrpll);
>  		return 0;
>  	}
>  

Other patches look sane.

Reviewed-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* Re: [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits
  2019-06-05 14:24   ` Maarten Lankhorst
@ 2019-06-05 15:53     ` Ville Syrjälä
  0 siblings, 0 replies; 13+ messages in thread
From: Ville Syrjälä @ 2019-06-05 15:53 UTC (permalink / raw)
  To: Maarten Lankhorst; +Cc: intel-gfx

On Wed, Jun 05, 2019 at 04:24:25PM +0200, Maarten Lankhorst wrote:
> Op 04-06-2019 om 22:09 schreef Ville Syrjala:
> > From: Ville Syrjälä <ville.syrjala@linux.intel.com>
> >
> > Give the PLL control register bits better names on HSW/BDW.
> >
> > Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> > ---
> >  drivers/gpu/drm/i915/i915_reg.h       | 37 ++++++++++++++++++---------
> >  drivers/gpu/drm/i915/intel_ddi.c      | 16 ++++++------
> >  drivers/gpu/drm/i915/intel_display.c  |  8 +++---
> >  drivers/gpu/drm/i915/intel_dpll_mgr.c |  4 +--
> >  4 files changed, 39 insertions(+), 26 deletions(-)
> >
> > diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
> > index d5fee72fc079..b7dd42bfffaa 100644
> > --- a/drivers/gpu/drm/i915/i915_reg.h
> > +++ b/drivers/gpu/drm/i915/i915_reg.h
> > @@ -9465,24 +9465,33 @@ enum skl_power_gate {
> >  /* SPLL */
> >  #define SPLL_CTL			_MMIO(0x46020)
> >  #define  SPLL_PLL_ENABLE		(1 << 31)
> > -#define  SPLL_PLL_SSC			(1 << 28)
> > -#define  SPLL_PLL_NON_SSC		(2 << 28)
> > -#define  SPLL_PLL_LCPLL			(3 << 28)
> > -#define  SPLL_PLL_REF_MASK		(3 << 28)
> > -#define  SPLL_PLL_FREQ_810MHz		(0 << 26)
> > -#define  SPLL_PLL_FREQ_1350MHz		(1 << 26)
> > -#define  SPLL_PLL_FREQ_2700MHz		(2 << 26)
> > -#define  SPLL_PLL_FREQ_MASK		(3 << 26)
> > +#define  SPLL_REF_BCLK			(0 << 28)
> > +#define  SPLL_REF_MUXED_SSC		(1 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
> > +#define  SPLL_REF_NON_SSC_HSW		(2 << 28)
> > +#define  SPLL_REF_PCH_SSC_BDW		(2 << 28)
> > +#define  SPLL_REF_LCPLL			(3 << 28)
> > +#define  SPLL_REF_MASK			(3 << 28)
> > +#define  SPLL_REF_BCLK			(0 << 28)
> > +#define  SPLL_REF_SSC			(1 << 28)
> > +#define  SPLL_REF_NON_SSC		(2 << 28)
> > +#define  SPLL_REF_LCPLL			(3 << 28)
> 
> ? Bit unclear or double definitions, at least of SPLL_REF_MASK.

Oh, that one is a copy paste fail. The others are due to HSW
and BDW having slightly different meanings for the bits.

> 
> 
> > +#define  SPLL_REF_MASK			(3 << 28)
> > +#define  SPLL_FREQ_810MHz		(0 << 26)
> > +#define  SPLL_FREQ_1350MHz		(1 << 26)
> > +#define  SPLL_FREQ_2700MHz		(2 << 26)
> > +#define  SPLL_FREQ_MASK			(3 << 26)
> >  
> >  /* WRPLL */
> >  #define _WRPLL_CTL1			0x46040
> >  #define _WRPLL_CTL2			0x46060
> >  #define WRPLL_CTL(pll)			_MMIO_PIPE(pll, _WRPLL_CTL1, _WRPLL_CTL2)
> >  #define  WRPLL_PLL_ENABLE		(1 << 31)
> > -#define  WRPLL_PLL_SSC			(1 << 28)
> > -#define  WRPLL_PLL_NON_SSC		(2 << 28)
> > -#define  WRPLL_PLL_LCPLL		(3 << 28)
> > -#define  WRPLL_PLL_REF_MASK		(3 << 28)
> > +#define  WRPLL_REF_BCLK			(0 << 28)
> > +#define  WRPLL_REF_PCH_SSC		(1 << 28)
> > +#define  WRPLL_REF_MUXED_SSC_BDW	(2 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
> > +#define  WRPLL_REF_SPECIAL_HSW		(2 << 28) /* muxed SSC (ULT), non-SSC (non-ULT) */
> > +#define  WRPLL_REF_LCPLL		(3 << 28)
> > +#define  WRPLL_REF_MASK			(3 << 28)
> >  /* WRPLL divider programming */
> >  #define  WRPLL_DIVIDER_REFERENCE(x)	((x) << 0)
> >  #define  WRPLL_DIVIDER_REF_MASK		(0xff)
> > @@ -9548,6 +9557,10 @@ enum skl_power_gate {
> >  #define LCPLL_CTL			_MMIO(0x130040)
> >  #define  LCPLL_PLL_DISABLE		(1 << 31)
> >  #define  LCPLL_PLL_LOCK			(1 << 30)
> > +#define  LCPLL_REF_NON_SSC		(0 << 28)
> > +#define  LCPLL_REF_BCLK			(2 << 28)
> > +#define  LCPLL_REF_PCH_SSC		(3 << 28)
> > +#define  LCPLL_REF_MASK			(3 << 28)
> >  #define  LCPLL_CLK_FREQ_MASK		(3 << 26)
> >  #define  LCPLL_CLK_FREQ_450		(0 << 26)
> >  #define  LCPLL_CLK_FREQ_54O_BDW		(1 << 26)
> > diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> > index 350eaf54f01f..183f91abda19 100644
> > --- a/drivers/gpu/drm/i915/intel_ddi.c
> > +++ b/drivers/gpu/drm/i915/intel_ddi.c
> > @@ -1231,9 +1231,9 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
> >  	u32 wrpll;
> >  
> >  	wrpll = I915_READ(reg);
> > -	switch (wrpll & WRPLL_PLL_REF_MASK) {
> > -	case WRPLL_PLL_SSC:
> > -	case WRPLL_PLL_NON_SSC:
> > +	switch (wrpll & WRPLL_REF_MASK) {
> > +	case WRPLL_REF_SPECIAL_HSW:
> > +	case WRPLL_REF_PCH_SSC:
> >  		/*
> >  		 * We could calculate spread here, but our checking
> >  		 * code only cares about 5% accuracy, and spread is a max of
> > @@ -1241,7 +1241,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
> >  		 */
> >  		refclk = 135;
> >  		break;
> > -	case WRPLL_PLL_LCPLL:
> > +	case WRPLL_REF_LCPLL:
> >  		refclk = LC_FREQ;
> >  		break;
> >  	default:
> > @@ -1613,12 +1613,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder,
> >  		link_clock = hsw_ddi_calc_wrpll_link(dev_priv, WRPLL_CTL(1));
> >  		break;
> >  	case PORT_CLK_SEL_SPLL:
> > -		pll = I915_READ(SPLL_CTL) & SPLL_PLL_FREQ_MASK;
> > -		if (pll == SPLL_PLL_FREQ_810MHz)
> > +		pll = I915_READ(SPLL_CTL) & SPLL_FREQ_MASK;
> > +		if (pll == SPLL_FREQ_810MHz)
> >  			link_clock = 81000;
> > -		else if (pll == SPLL_PLL_FREQ_1350MHz)
> > +		else if (pll == SPLL_FREQ_1350MHz)
> >  			link_clock = 135000;
> > -		else if (pll == SPLL_PLL_FREQ_2700MHz)
> > +		else if (pll == SPLL_FREQ_2700MHz)
> >  			link_clock = 270000;
> >  		else {
> >  			WARN(1, "bad spll freq\n");
> > diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> > index 75ca2030ffb0..393b19e53ba3 100644
> > --- a/drivers/gpu/drm/i915/intel_display.c
> > +++ b/drivers/gpu/drm/i915/intel_display.c
> > @@ -9129,12 +9129,12 @@ static bool spll_uses_pch_ssc(struct drm_i915_private *dev_priv)
> >  	if ((ctl & SPLL_PLL_ENABLE) == 0)
> >  		return false;
> >  
> > -	if ((ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_SSC &&
> > +	if ((ctl & SPLL_REF_MASK) == SPLL_REF_MUXED_SSC &&
> >  	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
> >  		return true;
> >  
> >  	if (IS_BROADWELL(dev_priv) &&
> > -	    (ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_NON_SSC)
> > +	    (ctl & SPLL_REF_MASK) == SPLL_REF_PCH_SSC_BDW)
> >  		return true;
> >  
> >  	return false;
> > @@ -9149,11 +9149,11 @@ static bool wrpll_uses_pch_ssc(struct drm_i915_private *dev_priv,
> >  	if ((ctl & WRPLL_PLL_ENABLE) == 0)
> >  		return false;
> >  
> > -	if ((ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_SSC)
> > +	if ((ctl & WRPLL_REF_MASK) == WRPLL_REF_PCH_SSC)
> >  		return true;
> >  
> >  	if ((IS_BROADWELL(dev_priv) || IS_HSW_ULT(dev_priv)) &&
> > -	    (ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_NON_SSC &&
> > +	    (ctl & WRPLL_REF_MASK) == WRPLL_REF_MUXED_SSC_BDW &&
> >  	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
> >  		return true;
> >  
> > diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > index 69787f259677..2d4e7b9a7b9d 100644
> > --- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > +++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
> > @@ -775,7 +775,7 @@ static struct intel_shared_dpll *hsw_ddi_hdmi_get_dpll(struct intel_crtc_state *
> >  
> >  	hsw_ddi_calculate_wrpll(crtc_state->port_clock * 1000, &r2, &n2, &p);
> >  
> > -	val = WRPLL_PLL_ENABLE | WRPLL_PLL_LCPLL |
> > +	val = WRPLL_PLL_ENABLE | WRPLL_REF_LCPLL |
> >  	      WRPLL_DIVIDER_REFERENCE(r2) | WRPLL_DIVIDER_FEEDBACK(n2) |
> >  	      WRPLL_DIVIDER_POST(p);
> >  
> > @@ -839,7 +839,7 @@ hsw_get_dpll(struct intel_crtc_state *crtc_state,
> >  			return NULL;
> >  
> >  		crtc_state->dpll_hw_state.spll =
> > -			SPLL_PLL_ENABLE | SPLL_PLL_FREQ_1350MHz | SPLL_PLL_SSC;
> > +			SPLL_PLL_ENABLE | SPLL_FREQ_1350MHz | SPLL_REF_MUXED_SSC;
> >  
> >  		pll = intel_find_shared_dpll(crtc_state,
> >  					     DPLL_ID_SPLL, DPLL_ID_SPLL);
> 

-- 
Ville Syrjälä
Intel
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
                   ` (4 preceding siblings ...)
  2019-06-04 21:00 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Patchwork
@ 2019-06-06  0:12 ` Patchwork
  2019-06-10 17:01 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2) Patchwork
  2019-06-11 18:31 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-06  0:12 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it
URL   : https://patchwork.freedesktop.org/series/61608/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6188_full -> Patchwork_13174_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_13174_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@kms_flip@flip-vs-expired-vblank:
    - shard-glk:          [PASS][1] -> [FAIL][2] ([fdo#102887] / [fdo#105363])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-glk6/igt@kms_flip@flip-vs-expired-vblank.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-glk1/igt@kms_flip@flip-vs-expired-vblank.html

  * igt@kms_flip_tiling@flip-y-tiled:
    - shard-iclb:         [PASS][3] -> [FAIL][4] ([fdo#108303])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb2/igt@kms_flip_tiling@flip-y-tiled.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb6/igt@kms_flip_tiling@flip-y-tiled.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render:
    - shard-iclb:         [PASS][5] -> [FAIL][6] ([fdo#103167]) +2 similar issues
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-spr-indfb-draw-render.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move:
    - shard-hsw:          [PASS][7] -> [SKIP][8] ([fdo#109271]) +10 similar issues
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-hsw2/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-cur-indfb-move.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-skl:          [PASS][9] -> [INCOMPLETE][10] ([fdo#104108])
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl6/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl5/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
    - shard-iclb:         [PASS][11] -> [INCOMPLETE][12] ([fdo#107713])
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb7/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb3/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][13] -> [FAIL][14] ([fdo#108145] / [fdo#110403])
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl1/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl4/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_psr2_su@page_flip:
    - shard-iclb:         [PASS][15] -> [SKIP][16] ([fdo#109642])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb2/igt@kms_psr2_su@page_flip.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb5/igt@kms_psr2_su@page_flip.html

  * igt@kms_psr@psr2_cursor_render:
    - shard-iclb:         [PASS][17] -> [SKIP][18] ([fdo#109441]) +1 similar issue
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb2/igt@kms_psr@psr2_cursor_render.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb6/igt@kms_psr@psr2_cursor_render.html

  * igt@kms_vblank@pipe-a-ts-continuation-suspend:
    - shard-apl:          [PASS][19] -> [DMESG-WARN][20] ([fdo#108566]) +1 similar issue
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-apl5/igt@kms_vblank@pipe-a-ts-continuation-suspend.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-apl6/igt@kms_vblank@pipe-a-ts-continuation-suspend.html

  
#### Possible fixes ####

  * igt@kms_atomic_interruptible@universal-setplane-primary:
    - shard-iclb:         [INCOMPLETE][21] ([fdo#107713]) -> [PASS][22] +1 similar issue
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb7/igt@kms_atomic_interruptible@universal-setplane-primary.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb3/igt@kms_atomic_interruptible@universal-setplane-primary.html

  * igt@kms_cursor_crc@pipe-b-cursor-suspend:
    - shard-skl:          [INCOMPLETE][23] ([fdo#110741]) -> [PASS][24]
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl3/igt@kms_cursor_crc@pipe-b-cursor-suspend.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl1/igt@kms_cursor_crc@pipe-b-cursor-suspend.html

  * igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc:
    - shard-hsw:          [SKIP][25] ([fdo#109271]) -> [PASS][26] +14 similar issues
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-hsw8/igt@kms_frontbuffer_tracking@fbc-2p-scndscrn-spr-indfb-draw-mmap-wc.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [DMESG-WARN][27] ([fdo#108566]) -> [PASS][28] +5 similar issues
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-apl8/igt@kms_frontbuffer_tracking@fbc-suspend.html
    - shard-skl:          [INCOMPLETE][29] ([fdo#104108]) -> [PASS][30]
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl4/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite:
    - shard-iclb:         [FAIL][31] ([fdo#103167]) -> [PASS][32]
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb3/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb5/igt@kms_frontbuffer_tracking@fbcpsr-rgb565-draw-pwrite.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
    - shard-skl:          [FAIL][33] ([fdo#108145]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl5/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl7/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html

  * igt@kms_psr@psr2_sprite_plane_onoff:
    - shard-iclb:         [SKIP][35] ([fdo#109441]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb5/igt@kms_psr@psr2_sprite_plane_onoff.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb2/igt@kms_psr@psr2_sprite_plane_onoff.html

  * igt@kms_setmode@basic:
    - shard-skl:          [FAIL][37] ([fdo#99912]) -> [PASS][38]
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-skl4/igt@kms_setmode@basic.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-skl9/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@gem_mmap_gtt@forked-big-copy:
    - shard-iclb:         [INCOMPLETE][39] ([fdo#107713] / [fdo#109100]) -> [TIMEOUT][40] ([fdo#109673])
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb2/igt@gem_mmap_gtt@forked-big-copy.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb2/igt@gem_mmap_gtt@forked-big-copy.html

  * igt@gem_mmap_gtt@forked-big-copy-xy:
    - shard-iclb:         [TIMEOUT][41] ([fdo#109673]) -> [INCOMPLETE][42] ([fdo#107713] / [fdo#109100])
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6188/shard-iclb3/igt@gem_mmap_gtt@forked-big-copy-xy.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/shard-iclb7/igt@gem_mmap_gtt@forked-big-copy-xy.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#102887]: https://bugs.freedesktop.org/show_bug.cgi?id=102887
  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#104108]: https://bugs.freedesktop.org/show_bug.cgi?id=104108
  [fdo#105363]: https://bugs.freedesktop.org/show_bug.cgi?id=105363
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108303]: https://bugs.freedesktop.org/show_bug.cgi?id=108303
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109441]: https://bugs.freedesktop.org/show_bug.cgi?id=109441
  [fdo#109642]: https://bugs.freedesktop.org/show_bug.cgi?id=109642
  [fdo#109673]: https://bugs.freedesktop.org/show_bug.cgi?id=109673
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110741]: https://bugs.freedesktop.org/show_bug.cgi?id=110741
  [fdo#110836]: https://bugs.freedesktop.org/show_bug.cgi?id=110836
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * Linux: CI_DRM_6188 -> Patchwork_13174

  CI_DRM_6188: cf57ce379660024b24b2f868af8ada79a104b264 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5037: a98c9cd50aa48933217ca41055279ccb1680d25b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13174: 7901d18ee5918e4596f08f4d458de6391bf2da3f @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13174/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* [PATCH v2 2/5] drm/i915: Rename HSW/BDW PLL bits
  2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
  2019-06-05 14:24   ` Maarten Lankhorst
@ 2019-06-10 13:36   ` Ville Syrjala
  1 sibling, 0 replies; 13+ messages in thread
From: Ville Syrjala @ 2019-06-10 13:36 UTC (permalink / raw)
  To: intel-gfx

From: Ville Syrjälä <ville.syrjala@linux.intel.com>

Give the PLL control register bits better names on HSW/BDW.

v2: Fix the copy paste fails in SPLL_REF defines (Maarten)

Cc: Maarten Lankhorst <maarten.lankhorst@linux.intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
---
 drivers/gpu/drm/i915/i915_reg.h       | 32 +++++++++++++++++----------
 drivers/gpu/drm/i915/intel_ddi.c      | 16 +++++++-------
 drivers/gpu/drm/i915/intel_display.c  |  8 +++----
 drivers/gpu/drm/i915/intel_dpll_mgr.c |  4 ++--
 4 files changed, 34 insertions(+), 26 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_reg.h b/drivers/gpu/drm/i915/i915_reg.h
index d5fee72fc079..3eef1c356cb6 100644
--- a/drivers/gpu/drm/i915/i915_reg.h
+++ b/drivers/gpu/drm/i915/i915_reg.h
@@ -9465,24 +9465,28 @@ enum skl_power_gate {
 /* SPLL */
 #define SPLL_CTL			_MMIO(0x46020)
 #define  SPLL_PLL_ENABLE		(1 << 31)
-#define  SPLL_PLL_SSC			(1 << 28)
-#define  SPLL_PLL_NON_SSC		(2 << 28)
-#define  SPLL_PLL_LCPLL			(3 << 28)
-#define  SPLL_PLL_REF_MASK		(3 << 28)
-#define  SPLL_PLL_FREQ_810MHz		(0 << 26)
-#define  SPLL_PLL_FREQ_1350MHz		(1 << 26)
-#define  SPLL_PLL_FREQ_2700MHz		(2 << 26)
-#define  SPLL_PLL_FREQ_MASK		(3 << 26)
+#define  SPLL_REF_BCLK			(0 << 28)
+#define  SPLL_REF_MUXED_SSC		(1 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
+#define  SPLL_REF_NON_SSC_HSW		(2 << 28)
+#define  SPLL_REF_PCH_SSC_BDW		(2 << 28)
+#define  SPLL_REF_LCPLL			(3 << 28)
+#define  SPLL_REF_MASK			(3 << 28)
+#define  SPLL_FREQ_810MHz		(0 << 26)
+#define  SPLL_FREQ_1350MHz		(1 << 26)
+#define  SPLL_FREQ_2700MHz		(2 << 26)
+#define  SPLL_FREQ_MASK			(3 << 26)
 
 /* WRPLL */
 #define _WRPLL_CTL1			0x46040
 #define _WRPLL_CTL2			0x46060
 #define WRPLL_CTL(pll)			_MMIO_PIPE(pll, _WRPLL_CTL1, _WRPLL_CTL2)
 #define  WRPLL_PLL_ENABLE		(1 << 31)
-#define  WRPLL_PLL_SSC			(1 << 28)
-#define  WRPLL_PLL_NON_SSC		(2 << 28)
-#define  WRPLL_PLL_LCPLL		(3 << 28)
-#define  WRPLL_PLL_REF_MASK		(3 << 28)
+#define  WRPLL_REF_BCLK			(0 << 28)
+#define  WRPLL_REF_PCH_SSC		(1 << 28)
+#define  WRPLL_REF_MUXED_SSC_BDW	(2 << 28) /* CPU SSC if fused enabled, PCH SSC otherwise */
+#define  WRPLL_REF_SPECIAL_HSW		(2 << 28) /* muxed SSC (ULT), non-SSC (non-ULT) */
+#define  WRPLL_REF_LCPLL		(3 << 28)
+#define  WRPLL_REF_MASK			(3 << 28)
 /* WRPLL divider programming */
 #define  WRPLL_DIVIDER_REFERENCE(x)	((x) << 0)
 #define  WRPLL_DIVIDER_REF_MASK		(0xff)
@@ -9548,6 +9552,10 @@ enum skl_power_gate {
 #define LCPLL_CTL			_MMIO(0x130040)
 #define  LCPLL_PLL_DISABLE		(1 << 31)
 #define  LCPLL_PLL_LOCK			(1 << 30)
+#define  LCPLL_REF_NON_SSC		(0 << 28)
+#define  LCPLL_REF_BCLK			(2 << 28)
+#define  LCPLL_REF_PCH_SSC		(3 << 28)
+#define  LCPLL_REF_MASK			(3 << 28)
 #define  LCPLL_CLK_FREQ_MASK		(3 << 26)
 #define  LCPLL_CLK_FREQ_450		(0 << 26)
 #define  LCPLL_CLK_FREQ_54O_BDW		(1 << 26)
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 350eaf54f01f..183f91abda19 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -1231,9 +1231,9 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 	u32 wrpll;
 
 	wrpll = I915_READ(reg);
-	switch (wrpll & WRPLL_PLL_REF_MASK) {
-	case WRPLL_PLL_SSC:
-	case WRPLL_PLL_NON_SSC:
+	switch (wrpll & WRPLL_REF_MASK) {
+	case WRPLL_REF_SPECIAL_HSW:
+	case WRPLL_REF_PCH_SSC:
 		/*
 		 * We could calculate spread here, but our checking
 		 * code only cares about 5% accuracy, and spread is a max of
@@ -1241,7 +1241,7 @@ static int hsw_ddi_calc_wrpll_link(struct drm_i915_private *dev_priv,
 		 */
 		refclk = 135;
 		break;
-	case WRPLL_PLL_LCPLL:
+	case WRPLL_REF_LCPLL:
 		refclk = LC_FREQ;
 		break;
 	default:
@@ -1613,12 +1613,12 @@ static void hsw_ddi_clock_get(struct intel_encoder *encoder,
 		link_clock = hsw_ddi_calc_wrpll_link(dev_priv, WRPLL_CTL(1));
 		break;
 	case PORT_CLK_SEL_SPLL:
-		pll = I915_READ(SPLL_CTL) & SPLL_PLL_FREQ_MASK;
-		if (pll == SPLL_PLL_FREQ_810MHz)
+		pll = I915_READ(SPLL_CTL) & SPLL_FREQ_MASK;
+		if (pll == SPLL_FREQ_810MHz)
 			link_clock = 81000;
-		else if (pll == SPLL_PLL_FREQ_1350MHz)
+		else if (pll == SPLL_FREQ_1350MHz)
 			link_clock = 135000;
-		else if (pll == SPLL_PLL_FREQ_2700MHz)
+		else if (pll == SPLL_FREQ_2700MHz)
 			link_clock = 270000;
 		else {
 			WARN(1, "bad spll freq\n");
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 75ca2030ffb0..393b19e53ba3 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -9129,12 +9129,12 @@ static bool spll_uses_pch_ssc(struct drm_i915_private *dev_priv)
 	if ((ctl & SPLL_PLL_ENABLE) == 0)
 		return false;
 
-	if ((ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_SSC &&
+	if ((ctl & SPLL_REF_MASK) == SPLL_REF_MUXED_SSC &&
 	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
 		return true;
 
 	if (IS_BROADWELL(dev_priv) &&
-	    (ctl & SPLL_PLL_REF_MASK) == SPLL_PLL_NON_SSC)
+	    (ctl & SPLL_REF_MASK) == SPLL_REF_PCH_SSC_BDW)
 		return true;
 
 	return false;
@@ -9149,11 +9149,11 @@ static bool wrpll_uses_pch_ssc(struct drm_i915_private *dev_priv,
 	if ((ctl & WRPLL_PLL_ENABLE) == 0)
 		return false;
 
-	if ((ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_SSC)
+	if ((ctl & WRPLL_REF_MASK) == WRPLL_REF_PCH_SSC)
 		return true;
 
 	if ((IS_BROADWELL(dev_priv) || IS_HSW_ULT(dev_priv)) &&
-	    (ctl & WRPLL_PLL_REF_MASK) == WRPLL_PLL_NON_SSC &&
+	    (ctl & WRPLL_REF_MASK) == WRPLL_REF_MUXED_SSC_BDW &&
 	    (fuse_strap & HSW_CPU_SSC_ENABLE) == 0)
 		return true;
 
diff --git a/drivers/gpu/drm/i915/intel_dpll_mgr.c b/drivers/gpu/drm/i915/intel_dpll_mgr.c
index 69787f259677..2d4e7b9a7b9d 100644
--- a/drivers/gpu/drm/i915/intel_dpll_mgr.c
+++ b/drivers/gpu/drm/i915/intel_dpll_mgr.c
@@ -775,7 +775,7 @@ static struct intel_shared_dpll *hsw_ddi_hdmi_get_dpll(struct intel_crtc_state *
 
 	hsw_ddi_calculate_wrpll(crtc_state->port_clock * 1000, &r2, &n2, &p);
 
-	val = WRPLL_PLL_ENABLE | WRPLL_PLL_LCPLL |
+	val = WRPLL_PLL_ENABLE | WRPLL_REF_LCPLL |
 	      WRPLL_DIVIDER_REFERENCE(r2) | WRPLL_DIVIDER_FEEDBACK(n2) |
 	      WRPLL_DIVIDER_POST(p);
 
@@ -839,7 +839,7 @@ hsw_get_dpll(struct intel_crtc_state *crtc_state,
 			return NULL;
 
 		crtc_state->dpll_hw_state.spll =
-			SPLL_PLL_ENABLE | SPLL_PLL_FREQ_1350MHz | SPLL_PLL_SSC;
+			SPLL_PLL_ENABLE | SPLL_FREQ_1350MHz | SPLL_REF_MUXED_SSC;
 
 		pll = intel_find_shared_dpll(crtc_state,
 					     DPLL_ID_SPLL, DPLL_ID_SPLL);
-- 
2.21.0

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply related	[flat|nested] 13+ messages in thread

* ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2)
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
                   ` (5 preceding siblings ...)
  2019-06-06  0:12 ` ✓ Fi.CI.IGT: " Patchwork
@ 2019-06-10 17:01 ` Patchwork
  2019-06-11 18:31 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-10 17:01 UTC (permalink / raw)
  To: Ville Syrjala; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2)
URL   : https://patchwork.freedesktop.org/series/61608/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6227 -> Patchwork_13224
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  External URL: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/

Known issues
------------

  Here are the changes found in Patchwork_13224 that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_exec_create@basic:
    - fi-icl-y:           [PASS][1] -> [INCOMPLETE][2] ([fdo#107713])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/fi-icl-y/igt@gem_exec_create@basic.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/fi-icl-y/igt@gem_exec_create@basic.html

  * igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a:
    - fi-icl-u3:          [PASS][3] -> [DMESG-WARN][4] ([fdo#107724])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/fi-icl-u3/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/fi-icl-u3/igt@kms_pipe_crc_basic@nonblocking-crc-pipe-a.html

  
#### Possible fixes ####

  * igt@gem_basic@bad-close:
    - fi-icl-u3:          [DMESG-WARN][5] ([fdo#107724]) -> [PASS][6]
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/fi-icl-u3/igt@gem_basic@bad-close.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/fi-icl-u3/igt@gem_basic@bad-close.html
    - fi-icl-dsi:         [INCOMPLETE][7] ([fdo#107713]) -> [PASS][8]
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/fi-icl-dsi/igt@gem_basic@bad-close.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/fi-icl-dsi/igt@gem_basic@bad-close.html

  * igt@gem_ctx_switch@basic-default:
    - {fi-icl-guc}:       [INCOMPLETE][9] ([fdo#107713] / [fdo#108569]) -> [PASS][10]
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/fi-icl-guc/igt@gem_ctx_switch@basic-default.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/fi-icl-guc/igt@gem_ctx_switch@basic-default.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#107724]: https://bugs.freedesktop.org/show_bug.cgi?id=107724
  [fdo#108569]: https://bugs.freedesktop.org/show_bug.cgi?id=108569


Participating hosts (52 -> 47)
------------------------------

  Additional (1): fi-snb-2600 
  Missing    (6): fi-ilk-m540 fi-hsw-4200u fi-byt-squawks fi-bsw-cyan fi-byt-clapper fi-bdw-samus 


Build changes
-------------

  * Linux: CI_DRM_6227 -> Patchwork_13224

  CI_DRM_6227: fe62c0390420632afe2193a40097c9f03a0bf725 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5050: 4c072238c784e6acb00634a80c3c55fb8358058b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13224: e53d5befa0e5123576c86bcd588e56e9a57aa26f @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

e53d5befa0e5 drm/i915: Improve WRPLL reference clock readout on HSW/BDW
0427c69681c7 drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference
d7d5fb1445f4 drm/i915: Nuke LC_FREQ
7d67ff34d363 drm/i915: Rename HSW/BDW PLL bits
35d03acfdb07 drm/i915: Do not touch the PCH SSC reference if a PLL is using it

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

* ✓ Fi.CI.IGT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2)
  2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
                   ` (6 preceding siblings ...)
  2019-06-10 17:01 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2) Patchwork
@ 2019-06-11 18:31 ` Patchwork
  7 siblings, 0 replies; 13+ messages in thread
From: Patchwork @ 2019-06-11 18:31 UTC (permalink / raw)
  To: Ville Syrjälä; +Cc: intel-gfx

== Series Details ==

Series: series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2)
URL   : https://patchwork.freedesktop.org/series/61608/
State : success

== Summary ==

CI Bug Log - changes from CI_DRM_6227_full -> Patchwork_13224_full
====================================================

Summary
-------

  **SUCCESS**

  No regressions found.

  

Known issues
------------

  Here are the changes found in Patchwork_13224_full that come from known issues:

### IGT changes ###

#### Issues hit ####

  * igt@gem_ctx_engines@execute-one:
    - shard-snb:          [PASS][1] -> [DMESG-WARN][2] ([fdo#110869])
   [1]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-snb4/igt@gem_ctx_engines@execute-one.html
   [2]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-snb5/igt@gem_ctx_engines@execute-one.html

  * igt@gem_pwrite@big-gtt-forwards:
    - shard-iclb:         [PASS][3] -> [INCOMPLETE][4] ([fdo#107713] / [fdo#109100])
   [3]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb6/igt@gem_pwrite@big-gtt-forwards.html
   [4]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb7/igt@gem_pwrite@big-gtt-forwards.html

  * igt@gem_workarounds@suspend-resume-fd:
    - shard-kbl:          [PASS][5] -> [DMESG-WARN][6] ([fdo#108566])
   [5]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-kbl1/igt@gem_workarounds@suspend-resume-fd.html
   [6]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-kbl6/igt@gem_workarounds@suspend-resume-fd.html

  * igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic:
    - shard-glk:          [PASS][7] -> [FAIL][8] ([fdo#104873])
   [7]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-glk4/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html
   [8]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-glk2/igt@kms_cursor_legacy@2x-long-flip-vs-cursor-atomic.html

  * igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset:
    - shard-hsw:          [PASS][9] -> [SKIP][10] ([fdo#109271]) +15 similar issues
   [9]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-hsw4/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html
   [10]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-hsw1/igt@kms_flip@2x-flip-vs-dpms-off-vs-modeset.html

  * igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt:
    - shard-iclb:         [PASS][11] -> [FAIL][12] ([fdo#103167]) +1 similar issue
   [11]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb6/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html
   [12]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb8/igt@kms_frontbuffer_tracking@fbc-1p-primscrn-shrfb-msflip-blt.html

  * igt@kms_frontbuffer_tracking@fbc-suspend:
    - shard-apl:          [PASS][13] -> [DMESG-WARN][14] ([fdo#108566]) +2 similar issues
   [13]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-apl1/igt@kms_frontbuffer_tracking@fbc-suspend.html
   [14]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-apl3/igt@kms_frontbuffer_tracking@fbc-suspend.html

  * igt@kms_plane@pixel-format-pipe-a-planes:
    - shard-iclb:         [PASS][15] -> [INCOMPLETE][16] ([fdo#107713] / [fdo#110036 ])
   [15]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb3/igt@kms_plane@pixel-format-pipe-a-planes.html
   [16]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb7/igt@kms_plane@pixel-format-pipe-a-planes.html

  * igt@kms_plane_alpha_blend@pipe-b-coverage-7efc:
    - shard-skl:          [PASS][17] -> [FAIL][18] ([fdo#108145] / [fdo#110403])
   [17]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html
   [18]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-skl5/igt@kms_plane_alpha_blend@pipe-b-coverage-7efc.html

  * igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min:
    - shard-skl:          [PASS][19] -> [FAIL][20] ([fdo#108145])
   [19]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html
   [20]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-skl1/igt@kms_plane_alpha_blend@pipe-c-constant-alpha-min.html

  * igt@kms_psr@no_drrs:
    - shard-iclb:         [PASS][21] -> [FAIL][22] ([fdo#108341])
   [21]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb5/igt@kms_psr@no_drrs.html
   [22]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb1/igt@kms_psr@no_drrs.html

  * igt@kms_setmode@basic:
    - shard-skl:          [PASS][23] -> [FAIL][24] ([fdo#99912])
   [23]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-skl7/igt@kms_setmode@basic.html
   [24]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-skl2/igt@kms_setmode@basic.html
    - shard-kbl:          [PASS][25] -> [FAIL][26] ([fdo#99912])
   [25]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-kbl3/igt@kms_setmode@basic.html
   [26]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-kbl4/igt@kms_setmode@basic.html

  * igt@perf@blocking:
    - shard-skl:          [PASS][27] -> [FAIL][28] ([fdo#110728]) +1 similar issue
   [27]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-skl7/igt@perf@blocking.html
   [28]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-skl8/igt@perf@blocking.html

  * igt@perf_pmu@rc6-runtime-pm:
    - shard-iclb:         [PASS][29] -> [INCOMPLETE][30] ([fdo#107713]) +1 similar issue
   [29]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb6/igt@perf_pmu@rc6-runtime-pm.html
   [30]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb7/igt@perf_pmu@rc6-runtime-pm.html

  * igt@tools_test@tools_test:
    - shard-kbl:          [PASS][31] -> [SKIP][32] ([fdo#109271]) +1 similar issue
   [31]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-kbl4/igt@tools_test@tools_test.html
   [32]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-kbl7/igt@tools_test@tools_test.html

  
#### Possible fixes ####

  * {igt@gem_ctx_engines@independent}:
    - shard-hsw:          [DMESG-WARN][33] ([fdo#110789] / [fdo#110869]) -> [PASS][34]
   [33]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-hsw8/igt@gem_ctx_engines@independent.html
   [34]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-hsw8/igt@gem_ctx_engines@independent.html

  * igt@gem_tiled_swapping@non-threaded:
    - shard-hsw:          [FAIL][35] ([fdo#108686]) -> [PASS][36]
   [35]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-hsw2/igt@gem_tiled_swapping@non-threaded.html
   [36]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-hsw6/igt@gem_tiled_swapping@non-threaded.html

  * igt@i915_suspend@sysfs-reader:
    - shard-apl:          [DMESG-WARN][37] ([fdo#108566]) -> [PASS][38] +1 similar issue
   [37]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-apl1/igt@i915_suspend@sysfs-reader.html
   [38]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-apl4/igt@i915_suspend@sysfs-reader.html

  * igt@kms_cursor_legacy@cursora-vs-flipa-legacy:
    - shard-snb:          [SKIP][39] ([fdo#109271]) -> [PASS][40]
   [39]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-snb6/igt@kms_cursor_legacy@cursora-vs-flipa-legacy.html
   [40]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-snb7/igt@kms_cursor_legacy@cursora-vs-flipa-legacy.html

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite:
    - shard-hsw:          [SKIP][41] ([fdo#109271]) -> [PASS][42] +37 similar issues
   [41]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-hsw1/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html
   [42]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-hsw2/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-cur-indfb-draw-pwrite.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite:
    - shard-iclb:         [FAIL][43] ([fdo#103167]) -> [PASS][44] +4 similar issues
   [43]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb6/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html
   [44]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb8/igt@kms_frontbuffer_tracking@fbcpsr-1p-primscrn-pri-indfb-draw-pwrite.html

  * igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a:
    - shard-kbl:          [INCOMPLETE][45] ([fdo#103665]) -> [PASS][46]
   [45]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html
   [46]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-kbl2/igt@kms_pipe_crc_basic@suspend-read-crc-pipe-a.html

  * igt@kms_setmode@basic:
    - shard-apl:          [FAIL][47] ([fdo#99912]) -> [PASS][48]
   [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-apl3/igt@kms_setmode@basic.html
   [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-apl1/igt@kms_setmode@basic.html

  
#### Warnings ####

  * igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt:
    - shard-iclb:         [SKIP][49] ([fdo#109280]) -> [INCOMPLETE][50] ([fdo#107713])
   [49]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-iclb4/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html
   [50]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-iclb7/igt@kms_frontbuffer_tracking@fbc-2p-primscrn-indfb-pgflip-blt.html

  * igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt:
    - shard-apl:          [SKIP][51] ([fdo#109271]) -> [INCOMPLETE][52] ([fdo#103927])
   [51]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_6227/shard-apl7/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt.html
   [52]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/shard-apl4/igt@kms_frontbuffer_tracking@fbcpsr-1p-offscren-pri-indfb-draw-blt.html

  
  {name}: This element is suppressed. This means it is ignored when computing
          the status of the difference (SUCCESS, WARNING, or FAILURE).

  [fdo#103167]: https://bugs.freedesktop.org/show_bug.cgi?id=103167
  [fdo#103665]: https://bugs.freedesktop.org/show_bug.cgi?id=103665
  [fdo#103927]: https://bugs.freedesktop.org/show_bug.cgi?id=103927
  [fdo#104873]: https://bugs.freedesktop.org/show_bug.cgi?id=104873
  [fdo#107713]: https://bugs.freedesktop.org/show_bug.cgi?id=107713
  [fdo#108145]: https://bugs.freedesktop.org/show_bug.cgi?id=108145
  [fdo#108341]: https://bugs.freedesktop.org/show_bug.cgi?id=108341
  [fdo#108566]: https://bugs.freedesktop.org/show_bug.cgi?id=108566
  [fdo#108686]: https://bugs.freedesktop.org/show_bug.cgi?id=108686
  [fdo#109100]: https://bugs.freedesktop.org/show_bug.cgi?id=109100
  [fdo#109271]: https://bugs.freedesktop.org/show_bug.cgi?id=109271
  [fdo#109280]: https://bugs.freedesktop.org/show_bug.cgi?id=109280
  [fdo#110036 ]: https://bugs.freedesktop.org/show_bug.cgi?id=110036 
  [fdo#110403]: https://bugs.freedesktop.org/show_bug.cgi?id=110403
  [fdo#110728]: https://bugs.freedesktop.org/show_bug.cgi?id=110728
  [fdo#110789]: https://bugs.freedesktop.org/show_bug.cgi?id=110789
  [fdo#110854]: https://bugs.freedesktop.org/show_bug.cgi?id=110854
  [fdo#110869]: https://bugs.freedesktop.org/show_bug.cgi?id=110869
  [fdo#99912]: https://bugs.freedesktop.org/show_bug.cgi?id=99912


Participating hosts (10 -> 10)
------------------------------

  No changes in participating hosts


Build changes
-------------

  * Linux: CI_DRM_6227 -> Patchwork_13224

  CI_DRM_6227: fe62c0390420632afe2193a40097c9f03a0bf725 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_5050: 4c072238c784e6acb00634a80c3c55fb8358058b @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_13224: e53d5befa0e5123576c86bcd588e56e9a57aa26f @ git://anongit.freedesktop.org/gfx-ci/linux
  piglit_4509: fdc5a4ca11124ab8413c7988896eec4c97336694 @ git://anongit.freedesktop.org/piglit

== Logs ==

For more details see: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_13224/
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 13+ messages in thread

end of thread, other threads:[~2019-06-11 18:31 UTC | newest]

Thread overview: 13+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-06-04 20:09 [PATCH 1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Ville Syrjala
2019-06-04 20:09 ` [PATCH 2/5] drm/i915: Rename HSW/BDW PLL bits Ville Syrjala
2019-06-05 14:24   ` Maarten Lankhorst
2019-06-05 15:53     ` Ville Syrjälä
2019-06-10 13:36   ` [PATCH v2 " Ville Syrjala
2019-06-04 20:09 ` [PATCH 3/5] drm/i915: Nuke LC_FREQ Ville Syrjala
2019-06-04 20:09 ` [PATCH 4/5] drm/i915: Assert that HSW/BDW LCPLL is using the non-SSC reference Ville Syrjala
2019-06-04 20:09 ` [PATCH 5/5] drm/i915: Improve WRPLL reference clock readout on HSW/BDW Ville Syrjala
2019-06-05 14:26   ` Maarten Lankhorst
2019-06-04 21:00 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it Patchwork
2019-06-06  0:12 ` ✓ Fi.CI.IGT: " Patchwork
2019-06-10 17:01 ` ✓ Fi.CI.BAT: success for series starting with [1/5] drm/i915: Do not touch the PCH SSC reference if a PLL is using it (rev2) Patchwork
2019-06-11 18:31 ` ✓ Fi.CI.IGT: " Patchwork

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.