Re: [Intel-gfx] [PATCH v2 10/10] drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c

2016-04-20 Thread Jim Bride
On Wed, Apr 13, 2016 at 08:47:53PM +0300, Ander Conselvan de Oliveira wrote:
> This moves the last dpio phy specific code from the encoders to the phy
> specific file.
> 
> Signed-off-by: Ander Conselvan de Oliveira 
> 

Reviewed-by: Jim Bride 

> ---
>  drivers/gpu/drm/i915/i915_drv.h   |  1 +
>  drivers/gpu/drm/i915/intel_dpio_phy.c | 15 +++
>  drivers/gpu/drm/i915/intel_hdmi.c | 12 +---
>  3 files changed, 17 insertions(+), 11 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
> index fad8ab2..1c9b1db 100644
> --- a/drivers/gpu/drm/i915/i915_drv.h
> +++ b/drivers/gpu/drm/i915/i915_drv.h
> @@ -3570,6 +3570,7 @@ void vlv_set_phy_signal_level(struct intel_encoder 
> *encoder,
> u32 uniqtranscale_reg_value, u32 tx3_demph);
>  void vlv_phy_pre_pll_enable(struct intel_encoder *encoder);
>  void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder);
> +void vlv_phy_reset_lanes(struct intel_encoder *encoder);
>  
>  int intel_gpu_freq(struct drm_i915_private *dev_priv, int val);
>  int intel_freq_opcode(struct drm_i915_private *dev_priv, int val);
> diff --git a/drivers/gpu/drm/i915/intel_dpio_phy.c 
> b/drivers/gpu/drm/i915/intel_dpio_phy.c
> index 4e1ce3a..9e1faaf 100644
> --- a/drivers/gpu/drm/i915/intel_dpio_phy.c
> +++ b/drivers/gpu/drm/i915/intel_dpio_phy.c
> @@ -453,3 +453,18 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder 
> *encoder)
>  
>   mutex_unlock(_priv->sb_lock);
>  }
> +
> +void vlv_phy_reset_lanes(struct intel_encoder *encoder)
> +{
> + struct intel_digital_port *dport = enc_to_dig_port(>base);
> + struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
> + struct intel_crtc *intel_crtc =
> + to_intel_crtc(encoder->base.crtc);
> + enum dpio_channel port = vlv_dport_to_channel(dport);
> + int pipe = intel_crtc->pipe;
> +
> + mutex_lock(_priv->sb_lock);
> + vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), 0x);
> + vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port), 0x00e00060);
> + mutex_unlock(_priv->sb_lock);
> +}
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
> b/drivers/gpu/drm/i915/intel_hdmi.c
> index 3794a54..07500aa 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -1623,18 +1623,8 @@ static void chv_hdmi_post_pll_disable(struct 
> intel_encoder *encoder)
>  
>  static void vlv_hdmi_post_disable(struct intel_encoder *encoder)
>  {
> - struct intel_digital_port *dport = enc_to_dig_port(>base);
> - struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
> - struct intel_crtc *intel_crtc =
> - to_intel_crtc(encoder->base.crtc);
> - enum dpio_channel port = vlv_dport_to_channel(dport);
> - int pipe = intel_crtc->pipe;
> -
>   /* Reset lanes to avoid HDMI flicker (VLV w/a) */
> - mutex_lock(_priv->sb_lock);
> - vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), 0x);
> - vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port), 0x00e00060);
> - mutex_unlock(_priv->sb_lock);
> + vlv_phy_reset_lanes(encoder);
>  }
>  
>  static void chv_hdmi_post_disable(struct intel_encoder *encoder)
> -- 
> 2.4.11
> 
> ___
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
___
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx


[Intel-gfx] [PATCH v2 10/10] drm/i915: Move VLV HDMI lane reset work around logic to intel_dpio_phy.c

2016-04-13 Thread Ander Conselvan de Oliveira
This moves the last dpio phy specific code from the encoders to the phy
specific file.

Signed-off-by: Ander Conselvan de Oliveira 

---
 drivers/gpu/drm/i915/i915_drv.h   |  1 +
 drivers/gpu/drm/i915/intel_dpio_phy.c | 15 +++
 drivers/gpu/drm/i915/intel_hdmi.c | 12 +---
 3 files changed, 17 insertions(+), 11 deletions(-)

diff --git a/drivers/gpu/drm/i915/i915_drv.h b/drivers/gpu/drm/i915/i915_drv.h
index fad8ab2..1c9b1db 100644
--- a/drivers/gpu/drm/i915/i915_drv.h
+++ b/drivers/gpu/drm/i915/i915_drv.h
@@ -3570,6 +3570,7 @@ void vlv_set_phy_signal_level(struct intel_encoder 
*encoder,
  u32 uniqtranscale_reg_value, u32 tx3_demph);
 void vlv_phy_pre_pll_enable(struct intel_encoder *encoder);
 void vlv_phy_pre_encoder_enable(struct intel_encoder *encoder);
+void vlv_phy_reset_lanes(struct intel_encoder *encoder);
 
 int intel_gpu_freq(struct drm_i915_private *dev_priv, int val);
 int intel_freq_opcode(struct drm_i915_private *dev_priv, int val);
diff --git a/drivers/gpu/drm/i915/intel_dpio_phy.c 
b/drivers/gpu/drm/i915/intel_dpio_phy.c
index 4e1ce3a..9e1faaf 100644
--- a/drivers/gpu/drm/i915/intel_dpio_phy.c
+++ b/drivers/gpu/drm/i915/intel_dpio_phy.c
@@ -453,3 +453,18 @@ void vlv_phy_pre_encoder_enable(struct intel_encoder 
*encoder)
 
mutex_unlock(_priv->sb_lock);
 }
+
+void vlv_phy_reset_lanes(struct intel_encoder *encoder)
+{
+   struct intel_digital_port *dport = enc_to_dig_port(>base);
+   struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
+   struct intel_crtc *intel_crtc =
+   to_intel_crtc(encoder->base.crtc);
+   enum dpio_channel port = vlv_dport_to_channel(dport);
+   int pipe = intel_crtc->pipe;
+
+   mutex_lock(_priv->sb_lock);
+   vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), 0x);
+   vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port), 0x00e00060);
+   mutex_unlock(_priv->sb_lock);
+}
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
b/drivers/gpu/drm/i915/intel_hdmi.c
index 3794a54..07500aa 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -1623,18 +1623,8 @@ static void chv_hdmi_post_pll_disable(struct 
intel_encoder *encoder)
 
 static void vlv_hdmi_post_disable(struct intel_encoder *encoder)
 {
-   struct intel_digital_port *dport = enc_to_dig_port(>base);
-   struct drm_i915_private *dev_priv = encoder->base.dev->dev_private;
-   struct intel_crtc *intel_crtc =
-   to_intel_crtc(encoder->base.crtc);
-   enum dpio_channel port = vlv_dport_to_channel(dport);
-   int pipe = intel_crtc->pipe;
-
/* Reset lanes to avoid HDMI flicker (VLV w/a) */
-   mutex_lock(_priv->sb_lock);
-   vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW0(port), 0x);
-   vlv_dpio_write(dev_priv, pipe, VLV_PCS_DW1(port), 0x00e00060);
-   mutex_unlock(_priv->sb_lock);
+   vlv_phy_reset_lanes(encoder);
 }
 
 static void chv_hdmi_post_disable(struct intel_encoder *encoder)
-- 
2.4.11

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