All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting
@ 2018-06-13 17:07 Imre Deak
  2018-06-13 17:07 ` [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable() Imre Deak
                   ` (7 more replies)
  0 siblings, 8 replies; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

On ICL setting the HDMI infoframe requires the pipe clock to be enabled,
this patchset makes sure this is the case both during enabling and
disabling the output.

After discussing with Ville, the only constraint seems to be wrt. other
platforms is that the infoframe is set when the transcoder function is
disabled, see patch 3 for details.

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>

Imre Deak (5):
  drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable()
  drm/i915/ddi: Push pipe clock enabling to encoders
  drm/i915/ddi: Check transcoder instead of port when setting HDMI
    infoframe
  drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled
  drm/i915/ddi: Removed unused var from hsw_write_infoframe()

 drivers/gpu/drm/i915/intel_crt.c     |  4 ++++
 drivers/gpu/drm/i915/intel_ddi.c     | 12 ++++++++++--
 drivers/gpu/drm/i915/intel_display.c | 10 ++--------
 drivers/gpu/drm/i915/intel_hdmi.c    | 16 +++++++++++-----
 4 files changed, 27 insertions(+), 15 deletions(-)

-- 
2.13.2

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

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

* [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable()
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
@ 2018-06-13 17:07 ` Imre Deak
  2018-06-13 17:43   ` Ville Syrjälä
  2018-06-13 17:07 ` [PATCH 2/5] drm/i915/ddi: Push pipe clock enabling to encoders Imre Deak
                   ` (6 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

crtc->config points to the old crtc state at the point
display.crtc_disable() is called, so use the more descriptive pointer
instead.

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_display.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index 0ddb9b5952a5..d9170e514825 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5824,8 +5824,8 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
 	if (!transcoder_is_dsi(cpu_transcoder))
 		intel_disable_pipe(old_crtc_state);
 
-	if (intel_crtc_has_type(intel_crtc->config, INTEL_OUTPUT_DP_MST))
-		intel_ddi_set_vc_payload_alloc(intel_crtc->config, false);
+	if (intel_crtc_has_type(old_crtc_state, INTEL_OUTPUT_DP_MST))
+		intel_ddi_set_vc_payload_alloc(old_crtc_state, false);
 
 	if (!transcoder_is_dsi(cpu_transcoder))
 		intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
@@ -5836,7 +5836,7 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
 		ironlake_pfit_disable(intel_crtc, false);
 
 	if (!transcoder_is_dsi(cpu_transcoder))
-		intel_ddi_disable_pipe_clock(intel_crtc->config);
+		intel_ddi_disable_pipe_clock(old_crtc_state);
 
 	intel_encoders_post_disable(crtc, old_crtc_state, old_state);
 
-- 
2.13.2

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

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

* [PATCH 2/5] drm/i915/ddi: Push pipe clock enabling to encoders
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
  2018-06-13 17:07 ` [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable() Imre Deak
@ 2018-06-13 17:07 ` Imre Deak
  2018-06-13 17:27   ` [PATCH v2 " Imre Deak
  2018-06-13 17:07 ` [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe Imre Deak
                   ` (5 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

On ICL the pipe clock needs to be enabled before setting the HDMI
infoframe, but these steps are in the reverse order atm. Move the pipe
clock enabling to the encoders, so reordering of the two steps can be
done in a clean way.

No functional change.

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_crt.c     | 4 ++++
 drivers/gpu/drm/i915/intel_ddi.c     | 8 ++++++++
 drivers/gpu/drm/i915/intel_display.c | 6 ------
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 211d601cd1b1..8daf170302a0 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -232,6 +232,8 @@ static void hsw_post_disable_crt(struct intel_encoder *encoder,
 {
 	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	pch_post_disable_crt(encoder, old_crtc_state, old_conn_state);
 
 	lpt_disable_pch_transcoder(dev_priv);
@@ -268,6 +270,8 @@ static void hsw_pre_enable_crt(struct intel_encoder *encoder,
 	intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
 
 	dev_priv->display.fdi_link_train(crtc, crtc_state);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void hsw_enable_crt(struct intel_encoder *encoder,
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 84c9b0766fed..bfa451ac9f09 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2921,6 +2921,8 @@ static void intel_ddi_pre_enable_dp(struct intel_encoder *encoder,
 		intel_dp_stop_link_train(intel_dp);
 
 	icl_enable_phy_clock_gating(dig_port);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
@@ -2959,6 +2961,8 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
 	intel_dig_port->set_infoframes(&encoder->base,
 				       crtc_state->has_infoframe,
 				       crtc_state, conn_state);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void intel_ddi_pre_enable(struct intel_encoder *encoder,
@@ -3025,6 +3029,8 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
 	bool is_mst = intel_crtc_has_type(old_crtc_state,
 					  INTEL_OUTPUT_DP_MST);
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	/*
 	 * Power down sink before disabling the port, otherwise we end
 	 * up getting interrupts from the sink on detecting link loss.
@@ -3064,6 +3070,8 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
 	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
 	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	intel_disable_ddi_buf(encoder);
 
 	dig_port->set_infoframes(&encoder->base, false,
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index d9170e514825..a846f891aaf9 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5646,9 +5646,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config,
 
 	intel_encoders_pre_enable(crtc, pipe_config, old_state);
 
-	if (!transcoder_is_dsi(cpu_transcoder))
-		intel_ddi_enable_pipe_clock(pipe_config);
-
 	if (intel_crtc_has_dp_encoder(intel_crtc->config))
 		intel_dp_set_m_n(intel_crtc, M1_N1);
 
@@ -5835,9 +5832,6 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
 	else
 		ironlake_pfit_disable(intel_crtc, false);
 
-	if (!transcoder_is_dsi(cpu_transcoder))
-		intel_ddi_disable_pipe_clock(old_crtc_state);
-
 	intel_encoders_post_disable(crtc, old_crtc_state, old_state);
 
 	if (INTEL_GEN(dev_priv) >= 11)
-- 
2.13.2

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

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

* [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
  2018-06-13 17:07 ` [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable() Imre Deak
  2018-06-13 17:07 ` [PATCH 2/5] drm/i915/ddi: Push pipe clock enabling to encoders Imre Deak
@ 2018-06-13 17:07 ` Imre Deak
  2018-06-13 17:47   ` Ville Syrjälä
  2018-06-13 17:07 ` [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled Imre Deak
                   ` (4 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

The only requirement by BSpec for setting the HDMI infoframes is on DDI
platforms to do that before enabling the HDMI transcoder function, see
VIDEO_DIP_CTL bit 16. Accordingly check for the transcoder function
disabled state instead of the port's disabled state on DDI platforms.
This is needed by the next patch as it will set the infoframe during
crtc disabling where the port is still enabled.

Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 13 +++++++++++--
 1 file changed, 11 insertions(+), 2 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index b7a95fd0663b..29d586f5cedb 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -59,6 +59,15 @@ assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi)
 	     "HDMI port enabled, expecting disabled\n");
 }
 
+static void
+assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv,
+				     enum transcoder cpu_transcoder)
+{
+	WARN(I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)) &
+	     TRANS_DDI_FUNC_ENABLE,
+	     "HDMI transcoder function enabled, expecting disabled\n");
+}
+
 struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
 {
 	struct intel_digital_port *intel_dig_port =
@@ -838,11 +847,11 @@ static void hsw_set_infoframes(struct drm_encoder *encoder,
 			       const struct drm_connector_state *conn_state)
 {
 	struct drm_i915_private *dev_priv = to_i915(encoder->dev);
-	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
 	i915_reg_t reg = HSW_TVIDEO_DIP_CTL(crtc_state->cpu_transcoder);
 	u32 val = I915_READ(reg);
 
-	assert_hdmi_port_disabled(intel_hdmi);
+	assert_hdmi_transcoder_func_disabled(dev_priv,
+					     crtc_state->cpu_transcoder);
 
 	val &= ~(VIDEO_DIP_ENABLE_VSC_HSW | VIDEO_DIP_ENABLE_AVI_HSW |
 		 VIDEO_DIP_ENABLE_GCP_HSW | VIDEO_DIP_ENABLE_VS_HSW |
-- 
2.13.2

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

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

* [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
                   ` (2 preceding siblings ...)
  2018-06-13 17:07 ` [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe Imre Deak
@ 2018-06-13 17:07 ` Imre Deak
  2018-06-13 17:49   ` Ville Syrjälä
  2018-06-13 17:07 ` [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe() Imre Deak
                   ` (3 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

On ICL for setting the HDMI infoframe the pipe clock needs to be
enabled, otherwise accessing the VIDEO_DIP_CTL register will hang the
machine.

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_ddi.c | 10 +++++-----
 1 file changed, 5 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index bfa451ac9f09..08336a66d5c6 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2958,11 +2958,11 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
 	if (IS_GEN9_BC(dev_priv))
 		skl_ddi_set_iboost(encoder, level, INTEL_OUTPUT_HDMI);
 
+	intel_ddi_enable_pipe_clock(crtc_state);
+
 	intel_dig_port->set_infoframes(&encoder->base,
 				       crtc_state->has_infoframe,
 				       crtc_state, conn_state);
-
-	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void intel_ddi_pre_enable(struct intel_encoder *encoder,
@@ -3070,13 +3070,13 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
 	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
 	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
 
+	dig_port->set_infoframes(&encoder->base, false,
+				 old_crtc_state, old_conn_state);
+
 	intel_ddi_disable_pipe_clock(old_crtc_state);
 
 	intel_disable_ddi_buf(encoder);
 
-	dig_port->set_infoframes(&encoder->base, false,
-				 old_crtc_state, old_conn_state);
-
 	intel_display_power_put(dev_priv, dig_port->ddi_io_power_domain);
 
 	intel_ddi_clk_disable(encoder);
-- 
2.13.2

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

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

* [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe()
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
                   ` (3 preceding siblings ...)
  2018-06-13 17:07 ` [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled Imre Deak
@ 2018-06-13 17:07 ` Imre Deak
  2018-06-13 17:51   ` Ville Syrjälä
  2018-06-13 17:13 ` ✗ Fi.CI.BAT: failure for drm/i915/icl: Fix HDMI infoframe setting Patchwork
                   ` (2 subsequent siblings)
  7 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:07 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_hdmi.c | 3 ---
 1 file changed, 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index 29d586f5cedb..bd928e83dfc7 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -390,14 +390,11 @@ static void hsw_write_infoframe(struct drm_encoder *encoder,
 	struct drm_i915_private *dev_priv = to_i915(dev);
 	enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
 	i915_reg_t ctl_reg = HSW_TVIDEO_DIP_CTL(cpu_transcoder);
-	i915_reg_t data_reg;
 	int data_size = type == DP_SDP_VSC ?
 		VIDEO_DIP_VSC_DATA_SIZE : VIDEO_DIP_DATA_SIZE;
 	int i;
 	u32 val = I915_READ(ctl_reg);
 
-	data_reg = hsw_dip_data_reg(dev_priv, cpu_transcoder, type, 0);
-
 	val &= ~hsw_infoframe_enable(type);
 	I915_WRITE(ctl_reg, val);
 
-- 
2.13.2

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

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

* ✗ Fi.CI.BAT: failure for drm/i915/icl: Fix HDMI infoframe setting
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
                   ` (4 preceding siblings ...)
  2018-06-13 17:07 ` [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe() Imre Deak
@ 2018-06-13 17:13 ` Patchwork
  2018-06-13 18:02 ` ✓ Fi.CI.BAT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2) Patchwork
  2018-06-13 22:03 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2018-06-13 17:13 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Fix HDMI infoframe setting
URL   : https://patchwork.freedesktop.org/series/44709/
State : failure

== Summary ==

Applying: drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable()
Applying: drm/i915/ddi: Push pipe clock enabling to encoders
error: sha1 information is lacking or useless (drivers/gpu/drm/i915/intel_ddi.c).
error: could not build fake ancestor
Patch failed at 0002 drm/i915/ddi: Push pipe clock enabling to encoders
Use 'git am --show-current-patch' to see the failed patch
When you have resolved this problem, run "git am --continue".
If you prefer to skip this patch, run "git am --skip" instead.
To restore the original branch and stop patching, run "git am --abort".

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

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

* [PATCH v2 2/5] drm/i915/ddi: Push pipe clock enabling to encoders
  2018-06-13 17:07 ` [PATCH 2/5] drm/i915/ddi: Push pipe clock enabling to encoders Imre Deak
@ 2018-06-13 17:27   ` Imre Deak
  2018-06-13 17:46     ` Ville Syrjälä
  0 siblings, 1 reply; 16+ messages in thread
From: Imre Deak @ 2018-06-13 17:27 UTC (permalink / raw)
  To: intel-gfx; +Cc: Vandita Kulkarni, Paulo Zanoni

On ICL the pipe clock needs to be enabled before setting the HDMI
infoframe, but these steps are in the reverse order atm. Move the pipe
clock enabling to the encoders, so reordering of the two steps can be
done in a clean way.

No functional change.

v2:
- Rebased on drm-tip.

Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
---
 drivers/gpu/drm/i915/intel_crt.c     | 4 ++++
 drivers/gpu/drm/i915/intel_ddi.c     | 8 ++++++++
 drivers/gpu/drm/i915/intel_display.c | 6 ------
 3 files changed, 12 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
index 211d601cd1b1..8daf170302a0 100644
--- a/drivers/gpu/drm/i915/intel_crt.c
+++ b/drivers/gpu/drm/i915/intel_crt.c
@@ -232,6 +232,8 @@ static void hsw_post_disable_crt(struct intel_encoder *encoder,
 {
 	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	pch_post_disable_crt(encoder, old_crtc_state, old_conn_state);
 
 	lpt_disable_pch_transcoder(dev_priv);
@@ -268,6 +270,8 @@ static void hsw_pre_enable_crt(struct intel_encoder *encoder,
 	intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
 
 	dev_priv->display.fdi_link_train(crtc, crtc_state);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void hsw_enable_crt(struct intel_encoder *encoder,
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index ca73387bd596..df0e64a9721a 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2639,6 +2639,8 @@ static void intel_ddi_pre_enable_dp(struct intel_encoder *encoder,
 	intel_dp_start_link_train(intel_dp);
 	if (port != PORT_A || INTEL_GEN(dev_priv) >= 9)
 		intel_dp_stop_link_train(intel_dp);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
@@ -2672,6 +2674,8 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
 	intel_dig_port->set_infoframes(&encoder->base,
 				       crtc_state->has_infoframe,
 				       crtc_state, conn_state);
+
+	intel_ddi_enable_pipe_clock(crtc_state);
 }
 
 static void intel_ddi_pre_enable(struct intel_encoder *encoder,
@@ -2738,6 +2742,8 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
 	bool is_mst = intel_crtc_has_type(old_crtc_state,
 					  INTEL_OUTPUT_DP_MST);
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	/*
 	 * Power down sink before disabling the port, otherwise we end
 	 * up getting interrupts from the sink on detecting link loss.
@@ -2763,6 +2769,8 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
 	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
 	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
 
+	intel_ddi_disable_pipe_clock(old_crtc_state);
+
 	intel_disable_ddi_buf(encoder);
 
 	dig_port->set_infoframes(&encoder->base, false,
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
index f8bbfc7ce7ce..cd10e83ec456 100644
--- a/drivers/gpu/drm/i915/intel_display.c
+++ b/drivers/gpu/drm/i915/intel_display.c
@@ -5646,9 +5646,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config,
 
 	intel_encoders_pre_enable(crtc, pipe_config, old_state);
 
-	if (!transcoder_is_dsi(cpu_transcoder))
-		intel_ddi_enable_pipe_clock(pipe_config);
-
 	if (intel_crtc_has_dp_encoder(intel_crtc->config))
 		intel_dp_set_m_n(intel_crtc, M1_N1);
 
@@ -5835,9 +5832,6 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
 	else
 		ironlake_pfit_disable(intel_crtc, false);
 
-	if (!transcoder_is_dsi(cpu_transcoder))
-		intel_ddi_disable_pipe_clock(old_crtc_state);
-
 	intel_encoders_post_disable(crtc, old_crtc_state, old_state);
 
 	if (INTEL_GEN(dev_priv) >= 11)
-- 
2.13.2

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

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

* Re: [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable()
  2018-06-13 17:07 ` [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable() Imre Deak
@ 2018-06-13 17:43   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2018-06-13 17:43 UTC (permalink / raw)
  To: Imre Deak; +Cc: Vandita Kulkarni, intel-gfx, Paulo Zanoni

On Wed, Jun 13, 2018 at 08:07:06PM +0300, Imre Deak wrote:
> crtc->config points to the old crtc state at the point
> display.crtc_disable() is called, so use the more descriptive pointer
> instead.

I see one more crtc->config in there.

Either way
Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> 
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>
> ---
>  drivers/gpu/drm/i915/intel_display.c | 6 +++---
>  1 file changed, 3 insertions(+), 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index 0ddb9b5952a5..d9170e514825 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5824,8 +5824,8 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
>  	if (!transcoder_is_dsi(cpu_transcoder))
>  		intel_disable_pipe(old_crtc_state);
>  
> -	if (intel_crtc_has_type(intel_crtc->config, INTEL_OUTPUT_DP_MST))
> -		intel_ddi_set_vc_payload_alloc(intel_crtc->config, false);
> +	if (intel_crtc_has_type(old_crtc_state, INTEL_OUTPUT_DP_MST))
> +		intel_ddi_set_vc_payload_alloc(old_crtc_state, false);
>  
>  	if (!transcoder_is_dsi(cpu_transcoder))
>  		intel_ddi_disable_transcoder_func(dev_priv, cpu_transcoder);
> @@ -5836,7 +5836,7 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
>  		ironlake_pfit_disable(intel_crtc, false);
>  
>  	if (!transcoder_is_dsi(cpu_transcoder))
> -		intel_ddi_disable_pipe_clock(intel_crtc->config);
> +		intel_ddi_disable_pipe_clock(old_crtc_state);
>  
>  	intel_encoders_post_disable(crtc, old_crtc_state, old_state);
>  
> -- 
> 2.13.2

-- 
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] 16+ messages in thread

* Re: [PATCH v2 2/5] drm/i915/ddi: Push pipe clock enabling to encoders
  2018-06-13 17:27   ` [PATCH v2 " Imre Deak
@ 2018-06-13 17:46     ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2018-06-13 17:46 UTC (permalink / raw)
  To: Imre Deak; +Cc: Vandita Kulkarni, intel-gfx, Paulo Zanoni

On Wed, Jun 13, 2018 at 08:27:46PM +0300, Imre Deak wrote:
> On ICL the pipe clock needs to be enabled before setting the HDMI
> infoframe, but these steps are in the reverse order atm. Move the pipe
> clock enabling to the encoders, so reordering of the two steps can be
> done in a clean way.
> 
> No functional change.
> 
> v2:
> - Rebased on drm-tip.
> 
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_crt.c     | 4 ++++
>  drivers/gpu/drm/i915/intel_ddi.c     | 8 ++++++++
>  drivers/gpu/drm/i915/intel_display.c | 6 ------
>  3 files changed, 12 insertions(+), 6 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_crt.c b/drivers/gpu/drm/i915/intel_crt.c
> index 211d601cd1b1..8daf170302a0 100644
> --- a/drivers/gpu/drm/i915/intel_crt.c
> +++ b/drivers/gpu/drm/i915/intel_crt.c
> @@ -232,6 +232,8 @@ static void hsw_post_disable_crt(struct intel_encoder *encoder,
>  {
>  	struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>  
> +	intel_ddi_disable_pipe_clock(old_crtc_state);
> +
>  	pch_post_disable_crt(encoder, old_crtc_state, old_conn_state);
>  
>  	lpt_disable_pch_transcoder(dev_priv);
> @@ -268,6 +270,8 @@ static void hsw_pre_enable_crt(struct intel_encoder *encoder,
>  	intel_set_cpu_fifo_underrun_reporting(dev_priv, pipe, false);
>  
>  	dev_priv->display.fdi_link_train(crtc, crtc_state);
> +
> +	intel_ddi_enable_pipe_clock(crtc_state);
>  }
>  
>  static void hsw_enable_crt(struct intel_encoder *encoder,
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index ca73387bd596..df0e64a9721a 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2639,6 +2639,8 @@ static void intel_ddi_pre_enable_dp(struct intel_encoder *encoder,
>  	intel_dp_start_link_train(intel_dp);
>  	if (port != PORT_A || INTEL_GEN(dev_priv) >= 9)
>  		intel_dp_stop_link_train(intel_dp);
> +
> +	intel_ddi_enable_pipe_clock(crtc_state);
>  }
>  
>  static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
> @@ -2672,6 +2674,8 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
>  	intel_dig_port->set_infoframes(&encoder->base,
>  				       crtc_state->has_infoframe,
>  				       crtc_state, conn_state);
> +
> +	intel_ddi_enable_pipe_clock(crtc_state);
>  }
>  
>  static void intel_ddi_pre_enable(struct intel_encoder *encoder,
> @@ -2738,6 +2742,8 @@ static void intel_ddi_post_disable_dp(struct intel_encoder *encoder,
>  	bool is_mst = intel_crtc_has_type(old_crtc_state,
>  					  INTEL_OUTPUT_DP_MST);
>  
> +	intel_ddi_disable_pipe_clock(old_crtc_state);
> +
>  	/*
>  	 * Power down sink before disabling the port, otherwise we end
>  	 * up getting interrupts from the sink on detecting link loss.
> @@ -2763,6 +2769,8 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
>  	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
>  	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
>  
> +	intel_ddi_disable_pipe_clock(old_crtc_state);
> +
>  	intel_disable_ddi_buf(encoder);
>  
>  	dig_port->set_infoframes(&encoder->base, false,
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f8bbfc7ce7ce..cd10e83ec456 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -5646,9 +5646,6 @@ static void haswell_crtc_enable(struct intel_crtc_state *pipe_config,
>  
>  	intel_encoders_pre_enable(crtc, pipe_config, old_state);
>  
> -	if (!transcoder_is_dsi(cpu_transcoder))
> -		intel_ddi_enable_pipe_clock(pipe_config);
> -
>  	if (intel_crtc_has_dp_encoder(intel_crtc->config))
>  		intel_dp_set_m_n(intel_crtc, M1_N1);
>  
> @@ -5835,9 +5832,6 @@ static void haswell_crtc_disable(struct intel_crtc_state *old_crtc_state,
>  	else
>  		ironlake_pfit_disable(intel_crtc, false);
>  
> -	if (!transcoder_is_dsi(cpu_transcoder))
> -		intel_ddi_disable_pipe_clock(old_crtc_state);
> -
>  	intel_encoders_post_disable(crtc, old_crtc_state, old_state);
>  
>  	if (INTEL_GEN(dev_priv) >= 11)
> -- 
> 2.13.2

-- 
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] 16+ messages in thread

* Re: [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe
  2018-06-13 17:07 ` [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe Imre Deak
@ 2018-06-13 17:47   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2018-06-13 17:47 UTC (permalink / raw)
  To: Imre Deak; +Cc: Vandita Kulkarni, intel-gfx, Paulo Zanoni

On Wed, Jun 13, 2018 at 08:07:08PM +0300, Imre Deak wrote:
> The only requirement by BSpec for setting the HDMI infoframes is on DDI
> platforms to do that before enabling the HDMI transcoder function, see
> VIDEO_DIP_CTL bit 16. Accordingly check for the transcoder function
> disabled state instead of the port's disabled state on DDI platforms.
> This is needed by the next patch as it will set the infoframe during
> crtc disabling where the port is still enabled.
> 
> Suggested-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Seems sensible.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_hdmi.c | 13 +++++++++++--
>  1 file changed, 11 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index b7a95fd0663b..29d586f5cedb 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -59,6 +59,15 @@ assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi)
>  	     "HDMI port enabled, expecting disabled\n");
>  }
>  
> +static void
> +assert_hdmi_transcoder_func_disabled(struct drm_i915_private *dev_priv,
> +				     enum transcoder cpu_transcoder)
> +{
> +	WARN(I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder)) &
> +	     TRANS_DDI_FUNC_ENABLE,
> +	     "HDMI transcoder function enabled, expecting disabled\n");
> +}
> +
>  struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder)
>  {
>  	struct intel_digital_port *intel_dig_port =
> @@ -838,11 +847,11 @@ static void hsw_set_infoframes(struct drm_encoder *encoder,
>  			       const struct drm_connector_state *conn_state)
>  {
>  	struct drm_i915_private *dev_priv = to_i915(encoder->dev);
> -	struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
>  	i915_reg_t reg = HSW_TVIDEO_DIP_CTL(crtc_state->cpu_transcoder);
>  	u32 val = I915_READ(reg);
>  
> -	assert_hdmi_port_disabled(intel_hdmi);
> +	assert_hdmi_transcoder_func_disabled(dev_priv,
> +					     crtc_state->cpu_transcoder);
>  
>  	val &= ~(VIDEO_DIP_ENABLE_VSC_HSW | VIDEO_DIP_ENABLE_AVI_HSW |
>  		 VIDEO_DIP_ENABLE_GCP_HSW | VIDEO_DIP_ENABLE_VS_HSW |
> -- 
> 2.13.2

-- 
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] 16+ messages in thread

* Re: [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled
  2018-06-13 17:07 ` [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled Imre Deak
@ 2018-06-13 17:49   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2018-06-13 17:49 UTC (permalink / raw)
  To: Imre Deak; +Cc: Vandita Kulkarni, intel-gfx, Paulo Zanoni

On Wed, Jun 13, 2018 at 08:07:09PM +0300, Imre Deak wrote:
> On ICL for setting the HDMI infoframe the pipe clock needs to be
> enabled, otherwise accessing the VIDEO_DIP_CTL register will hang the
> machine.
> 
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Looks safe to me.

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_ddi.c | 10 +++++-----
>  1 file changed, 5 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index bfa451ac9f09..08336a66d5c6 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2958,11 +2958,11 @@ static void intel_ddi_pre_enable_hdmi(struct intel_encoder *encoder,
>  	if (IS_GEN9_BC(dev_priv))
>  		skl_ddi_set_iboost(encoder, level, INTEL_OUTPUT_HDMI);
>  
> +	intel_ddi_enable_pipe_clock(crtc_state);
> +
>  	intel_dig_port->set_infoframes(&encoder->base,
>  				       crtc_state->has_infoframe,
>  				       crtc_state, conn_state);
> -
> -	intel_ddi_enable_pipe_clock(crtc_state);
>  }
>  
>  static void intel_ddi_pre_enable(struct intel_encoder *encoder,
> @@ -3070,13 +3070,13 @@ static void intel_ddi_post_disable_hdmi(struct intel_encoder *encoder,
>  	struct intel_digital_port *dig_port = enc_to_dig_port(&encoder->base);
>  	struct intel_hdmi *intel_hdmi = &dig_port->hdmi;
>  
> +	dig_port->set_infoframes(&encoder->base, false,
> +				 old_crtc_state, old_conn_state);
> +
>  	intel_ddi_disable_pipe_clock(old_crtc_state);
>  
>  	intel_disable_ddi_buf(encoder);
>  
> -	dig_port->set_infoframes(&encoder->base, false,
> -				 old_crtc_state, old_conn_state);
> -
>  	intel_display_power_put(dev_priv, dig_port->ddi_io_power_domain);
>  
>  	intel_ddi_clk_disable(encoder);
> -- 
> 2.13.2

-- 
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] 16+ messages in thread

* Re: [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe()
  2018-06-13 17:07 ` [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe() Imre Deak
@ 2018-06-13 17:51   ` Ville Syrjälä
  0 siblings, 0 replies; 16+ messages in thread
From: Ville Syrjälä @ 2018-06-13 17:51 UTC (permalink / raw)
  To: Imre Deak; +Cc: Vandita Kulkarni, intel-gfx, Paulo Zanoni

On Wed, Jun 13, 2018 at 08:07:10PM +0300, Imre Deak wrote:
> Cc: Vandita Kulkarni <vandita.kulkarni@intel.com>
> Cc: Paulo Zanoni <paulo.r.zanoni@intel.com>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Imre Deak <imre.deak@intel.com>

Looks like I forgot to remove it in ffc85daba535 ("drm/i915: 
Fix AVI/HDMI/SPD infoframes on HSW+")

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/intel_hdmi.c | 3 ---
>  1 file changed, 3 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
> index 29d586f5cedb..bd928e83dfc7 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -390,14 +390,11 @@ static void hsw_write_infoframe(struct drm_encoder *encoder,
>  	struct drm_i915_private *dev_priv = to_i915(dev);
>  	enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
>  	i915_reg_t ctl_reg = HSW_TVIDEO_DIP_CTL(cpu_transcoder);
> -	i915_reg_t data_reg;
>  	int data_size = type == DP_SDP_VSC ?
>  		VIDEO_DIP_VSC_DATA_SIZE : VIDEO_DIP_DATA_SIZE;
>  	int i;
>  	u32 val = I915_READ(ctl_reg);
>  
> -	data_reg = hsw_dip_data_reg(dev_priv, cpu_transcoder, type, 0);
> -
>  	val &= ~hsw_infoframe_enable(type);
>  	I915_WRITE(ctl_reg, val);
>  
> -- 
> 2.13.2

-- 
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] 16+ messages in thread

* ✓ Fi.CI.BAT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2)
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
                   ` (5 preceding siblings ...)
  2018-06-13 17:13 ` ✗ Fi.CI.BAT: failure for drm/i915/icl: Fix HDMI infoframe setting Patchwork
@ 2018-06-13 18:02 ` Patchwork
  2018-06-13 22:03 ` ✓ Fi.CI.IGT: " Patchwork
  7 siblings, 0 replies; 16+ messages in thread
From: Patchwork @ 2018-06-13 18:02 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Fix HDMI infoframe setting (rev2)
URL   : https://patchwork.freedesktop.org/series/44709/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4310 -> Patchwork_9292 =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9292 need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9292, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  External URL: https://patchwork.freedesktop.org/api/1.0/series/44709/revisions/2/mbox/

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9292:

  === IGT changes ===

    ==== Warnings ====

    igt@pm_rpm@basic-rte:
      fi-glk-j4005:       PASS -> SKIP

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_exec_gttfill@basic:
      fi-byt-n2820:       PASS -> FAIL (fdo#106744)

    igt@gem_exec_suspend@basic-s4-devices:
      fi-kbl-7500u:       PASS -> DMESG-WARN (fdo#105128)

    igt@kms_flip@basic-plain-flip:
      fi-glk-j4005:       PASS -> DMESG-WARN (fdo#106097)

    igt@prime_vgem@basic-fence-flip:
      fi-ilk-650:         PASS -> FAIL (fdo#104008)

    
    ==== Possible fixes ====

    igt@gem_ctx_create@basic-files:
      fi-glk-j4005:       DMESG-WARN (fdo#105719) -> PASS

    igt@kms_flip@basic-flip-vs-modeset:
      fi-skl-6700hq:      DMESG-WARN (fdo#105998) -> PASS

    igt@kms_pipe_crc_basic@suspend-read-crc-pipe-b:
      fi-snb-2520m:       INCOMPLETE (fdo#103713) -> PASS

    
  fdo#103713 https://bugs.freedesktop.org/show_bug.cgi?id=103713
  fdo#104008 https://bugs.freedesktop.org/show_bug.cgi?id=104008
  fdo#105128 https://bugs.freedesktop.org/show_bug.cgi?id=105128
  fdo#105719 https://bugs.freedesktop.org/show_bug.cgi?id=105719
  fdo#105998 https://bugs.freedesktop.org/show_bug.cgi?id=105998
  fdo#106097 https://bugs.freedesktop.org/show_bug.cgi?id=106097
  fdo#106744 https://bugs.freedesktop.org/show_bug.cgi?id=106744


== Participating hosts (43 -> 39) ==

  Missing    (4): fi-ctg-p8600 fi-ilk-m540 fi-byt-squawks fi-bsw-cyan 


== Build changes ==

    * Linux: CI_DRM_4310 -> Patchwork_9292

  CI_DRM_4310: 5945ab6707472bde0c3bc12836252b487ecfeb72 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4518: e4908004547b63131352fbc0ddcdb1d3d55480e0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9292: ad3a408add830019cdc9a2fc9c42e5936cfb257a @ git://anongit.freedesktop.org/gfx-ci/linux


== Linux commits ==

ad3a408add83 drm/i915/ddi: Removed unused var from hsw_write_infoframe()
202ced9ca8e9 drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled
e82917f25ee4 drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe
88485a65980f drm/i915/ddi: Push pipe clock enabling to encoders
9061d9ab6e4e drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable()

== Logs ==

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

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

* ✓ Fi.CI.IGT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2)
  2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
                   ` (6 preceding siblings ...)
  2018-06-13 18:02 ` ✓ Fi.CI.BAT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2) Patchwork
@ 2018-06-13 22:03 ` Patchwork
  2018-06-14 17:32   ` Imre Deak
  7 siblings, 1 reply; 16+ messages in thread
From: Patchwork @ 2018-06-13 22:03 UTC (permalink / raw)
  To: Imre Deak; +Cc: intel-gfx

== Series Details ==

Series: drm/i915/icl: Fix HDMI infoframe setting (rev2)
URL   : https://patchwork.freedesktop.org/series/44709/
State : success

== Summary ==

= CI Bug Log - changes from CI_DRM_4310_full -> Patchwork_9292_full =

== Summary - WARNING ==

  Minor unknown changes coming with Patchwork_9292_full need to be verified
  manually.
  
  If you think the reported changes have nothing to do with the changes
  introduced in Patchwork_9292_full, please notify your bug team to allow them
  to document this new failure mode, which will reduce false positives in CI.

  

== Possible new issues ==

  Here are the unknown changes that may have been introduced in Patchwork_9292_full:

  === IGT changes ===

    ==== Warnings ====

    igt@gem_exec_schedule@deep-blt:
      shard-kbl:          PASS -> SKIP +1

    igt@perf_pmu@rc6:
      shard-kbl:          SKIP -> PASS

    
== Known issues ==

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

  === IGT changes ===

    ==== Issues hit ====

    igt@gem_wait@await-bsd2:
      shard-snb:          SKIP -> INCOMPLETE (fdo#105411)

    igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
      shard-glk:          PASS -> FAIL (fdo#105703)

    igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#103060)

    igt@kms_flip@2x-flip-vs-expired-vblank:
      shard-hsw:          PASS -> FAIL (fdo#102887)

    igt@kms_flip@2x-plain-flip-ts-check-interruptible:
      shard-hsw:          PASS -> FAIL (fdo#100368)

    igt@kms_flip_tiling@flip-x-tiled:
      shard-glk:          PASS -> FAIL (fdo#104724, fdo#103822)

    
    ==== Possible fixes ====

    igt@drv_suspend@shrink:
      shard-snb:          FAIL -> PASS

    igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
      shard-glk:          FAIL (fdo#105703) -> PASS

    igt@kms_flip@2x-plain-flip-ts-check:
      shard-glk:          FAIL (fdo#100368) -> PASS

    igt@kms_flip_tiling@flip-to-y-tiled:
      shard-glk:          FAIL (fdo#104724, fdo#103822) -> PASS

    igt@kms_setmode@basic:
      shard-hsw:          FAIL (fdo#99912) -> PASS

    
    ==== Warnings ====

    igt@drv_selftest@live_gtt:
      shard-glk:          FAIL (fdo#105347) -> INCOMPLETE (k.org#198133, fdo#103359)

    
  fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
  fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
  fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
  fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
  fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
  fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
  fdo#105347 https://bugs.freedesktop.org/show_bug.cgi?id=105347
  fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
  fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703
  fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
  k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133


== Participating hosts (5 -> 5) ==

  No changes in participating hosts


== Build changes ==

    * Linux: CI_DRM_4310 -> Patchwork_9292

  CI_DRM_4310: 5945ab6707472bde0c3bc12836252b487ecfeb72 @ git://anongit.freedesktop.org/gfx-ci/linux
  IGT_4518: e4908004547b63131352fbc0ddcdb1d3d55480e0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
  Patchwork_9292: ad3a408add830019cdc9a2fc9c42e5936cfb257a @ 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_9292/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

* Re: ✓ Fi.CI.IGT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2)
  2018-06-13 22:03 ` ✓ Fi.CI.IGT: " Patchwork
@ 2018-06-14 17:32   ` Imre Deak
  0 siblings, 0 replies; 16+ messages in thread
From: Imre Deak @ 2018-06-14 17:32 UTC (permalink / raw)
  To: intel-gfx, Ville Syrjälä; +Cc: Vandita Kulkarni, Paulo R Zanoni

On Wed, Jun 13, 2018 at 10:03:02PM +0000, Patchwork wrote:
> == Series Details ==
> 
> Series: drm/i915/icl: Fix HDMI infoframe setting (rev2)
> URL   : https://patchwork.freedesktop.org/series/44709/
> State : success

Pushed to -dinq with the missing conversion you noticed in patch 1 done
while applying. Thanks for the review.

> 
> == Summary ==
> 
> = CI Bug Log - changes from CI_DRM_4310_full -> Patchwork_9292_full =
> 
> == Summary - WARNING ==
> 
>   Minor unknown changes coming with Patchwork_9292_full need to be verified
>   manually.
>   
>   If you think the reported changes have nothing to do with the changes
>   introduced in Patchwork_9292_full, please notify your bug team to allow them
>   to document this new failure mode, which will reduce false positives in CI.
> 
>   
> 
> == Possible new issues ==
> 
>   Here are the unknown changes that may have been introduced in Patchwork_9292_full:
> 
>   === IGT changes ===
> 
>     ==== Warnings ====
> 
>     igt@gem_exec_schedule@deep-blt:
>       shard-kbl:          PASS -> SKIP +1
> 
>     igt@perf_pmu@rc6:
>       shard-kbl:          SKIP -> PASS
> 
>     
> == Known issues ==
> 
>   Here are the changes found in Patchwork_9292_full that come from known issues:
> 
>   === IGT changes ===
> 
>     ==== Issues hit ====
> 
>     igt@gem_wait@await-bsd2:
>       shard-snb:          SKIP -> INCOMPLETE (fdo#105411)
> 
>     igt@kms_atomic_transition@1x-modeset-transitions-nonblocking:
>       shard-glk:          PASS -> FAIL (fdo#105703)
> 
>     igt@kms_flip@2x-dpms-vs-vblank-race-interruptible:
>       shard-hsw:          PASS -> FAIL (fdo#103060)
> 
>     igt@kms_flip@2x-flip-vs-expired-vblank:
>       shard-hsw:          PASS -> FAIL (fdo#102887)
> 
>     igt@kms_flip@2x-plain-flip-ts-check-interruptible:
>       shard-hsw:          PASS -> FAIL (fdo#100368)
> 
>     igt@kms_flip_tiling@flip-x-tiled:
>       shard-glk:          PASS -> FAIL (fdo#104724, fdo#103822)
> 
>     
>     ==== Possible fixes ====
> 
>     igt@drv_suspend@shrink:
>       shard-snb:          FAIL -> PASS
> 
>     igt@kms_atomic_transition@1x-modeset-transitions-nonblocking-fencing:
>       shard-glk:          FAIL (fdo#105703) -> PASS
> 
>     igt@kms_flip@2x-plain-flip-ts-check:
>       shard-glk:          FAIL (fdo#100368) -> PASS
> 
>     igt@kms_flip_tiling@flip-to-y-tiled:
>       shard-glk:          FAIL (fdo#104724, fdo#103822) -> PASS
> 
>     igt@kms_setmode@basic:
>       shard-hsw:          FAIL (fdo#99912) -> PASS
> 
>     
>     ==== Warnings ====
> 
>     igt@drv_selftest@live_gtt:
>       shard-glk:          FAIL (fdo#105347) -> INCOMPLETE (k.org#198133, fdo#103359)
> 
>     
>   fdo#100368 https://bugs.freedesktop.org/show_bug.cgi?id=100368
>   fdo#102887 https://bugs.freedesktop.org/show_bug.cgi?id=102887
>   fdo#103060 https://bugs.freedesktop.org/show_bug.cgi?id=103060
>   fdo#103359 https://bugs.freedesktop.org/show_bug.cgi?id=103359
>   fdo#103822 https://bugs.freedesktop.org/show_bug.cgi?id=103822
>   fdo#104724 https://bugs.freedesktop.org/show_bug.cgi?id=104724
>   fdo#105347 https://bugs.freedesktop.org/show_bug.cgi?id=105347
>   fdo#105411 https://bugs.freedesktop.org/show_bug.cgi?id=105411
>   fdo#105703 https://bugs.freedesktop.org/show_bug.cgi?id=105703
>   fdo#99912 https://bugs.freedesktop.org/show_bug.cgi?id=99912
>   k.org#198133 https://bugzilla.kernel.org/show_bug.cgi?id=198133
> 
> 
> == Participating hosts (5 -> 5) ==
> 
>   No changes in participating hosts
> 
> 
> == Build changes ==
> 
>     * Linux: CI_DRM_4310 -> Patchwork_9292
> 
>   CI_DRM_4310: 5945ab6707472bde0c3bc12836252b487ecfeb72 @ git://anongit.freedesktop.org/gfx-ci/linux
>   IGT_4518: e4908004547b63131352fbc0ddcdb1d3d55480e0 @ git://anongit.freedesktop.org/xorg/app/intel-gpu-tools
>   Patchwork_9292: ad3a408add830019cdc9a2fc9c42e5936cfb257a @ 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_9292/shards.html
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx

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

end of thread, other threads:[~2018-06-14 17:33 UTC | newest]

Thread overview: 16+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-06-13 17:07 [PATCH 0/5] drm/i915/icl: Fix HDMI infoframe setting Imre Deak
2018-06-13 17:07 ` [PATCH 1/5] drm/i915/ddi: s/crtc->config/old_crtc_state in haswell_crtc_disable() Imre Deak
2018-06-13 17:43   ` Ville Syrjälä
2018-06-13 17:07 ` [PATCH 2/5] drm/i915/ddi: Push pipe clock enabling to encoders Imre Deak
2018-06-13 17:27   ` [PATCH v2 " Imre Deak
2018-06-13 17:46     ` Ville Syrjälä
2018-06-13 17:07 ` [PATCH 3/5] drm/i915/ddi: Check transcoder instead of port when setting HDMI infoframe Imre Deak
2018-06-13 17:47   ` Ville Syrjälä
2018-06-13 17:07 ` [PATCH 4/5] drm/i915/ddi: Set HDMI infoframes with pipe clocks enabled Imre Deak
2018-06-13 17:49   ` Ville Syrjälä
2018-06-13 17:07 ` [PATCH 5/5] drm/i915/ddi: Removed unused var from hsw_write_infoframe() Imre Deak
2018-06-13 17:51   ` Ville Syrjälä
2018-06-13 17:13 ` ✗ Fi.CI.BAT: failure for drm/i915/icl: Fix HDMI infoframe setting Patchwork
2018-06-13 18:02 ` ✓ Fi.CI.BAT: success for drm/i915/icl: Fix HDMI infoframe setting (rev2) Patchwork
2018-06-13 22:03 ` ✓ Fi.CI.IGT: " Patchwork
2018-06-14 17:32   ` Imre Deak

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.