On Mon, Feb 18, 2013 at 07:00:26PM -0300, Paulo Zanoni wrote:
> From: Paulo Zanoni <paulo.r.zan...@intel.com>
> 
> Some (but not all) of the HDMI registers can be used to control sDVO,
> so those registers have two names. IMHO, when we're talking about
> HDMI, we really should call the HDMI control register "hdmi_reg"
> instead of "sdvox_reg", otherwise we'll just confuse people reading
> our code (we now have platforms with HDMI but without SDVO). So now
> "struct intel_hdmi" has a member called "hdmi_reg" instead of
> "sdvox_reg".
> 
> Also, don't worry: "struct intel_sdvo" still has a member called
> "sdvo_reg".
> 
> v2: Rebase (v1 was sent in May 2012).
> 
> Signed-off-by: Paulo Zanoni <paulo.r.zan...@intel.com>

I've merged patches 4-7 from this series, thanks.
-Daniel
> ---
>  drivers/gpu/drm/i915/intel_ddi.c  |    4 +--
>  drivers/gpu/drm/i915/intel_drv.h  |    4 +--
>  drivers/gpu/drm/i915/intel_hdmi.c |   72 
> ++++++++++++++++++-------------------
>  3 files changed, 39 insertions(+), 41 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c 
> b/drivers/gpu/drm/i915/intel_ddi.c
> index 816c45c..56bb7cb 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -1538,9 +1538,7 @@ void intel_ddi_init(struct drm_device *dev, enum port 
> port)
>       intel_dig_port->port_reversal = I915_READ(DDI_BUF_CTL(port)) &
>                                       DDI_BUF_PORT_REVERSAL;
>       if (hdmi_connector)
> -             intel_dig_port->hdmi.sdvox_reg = DDI_BUF_CTL(port);
> -     else
> -             intel_dig_port->hdmi.sdvox_reg = 0;
> +             intel_dig_port->hdmi.hdmi_reg = DDI_BUF_CTL(port);
>       intel_dig_port->dp.output_reg = DDI_BUF_CTL(port);
>  
>       intel_encoder->type = INTEL_OUTPUT_UNKNOWN;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h 
> b/drivers/gpu/drm/i915/intel_drv.h
> index 6f41a07..8659df2 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -347,7 +347,7 @@ struct dip_infoframe {
>  } __attribute__((packed));
>  
>  struct intel_hdmi {
> -     u32 sdvox_reg;
> +     u32 hdmi_reg;
>       int ddc_bus;
>       uint32_t color_range;
>       bool color_range_auto;
> @@ -444,7 +444,7 @@ extern void intel_attach_broadcast_rgb_property(struct 
> drm_connector *connector)
>  
>  extern void intel_crt_init(struct drm_device *dev);
>  extern void intel_hdmi_init(struct drm_device *dev,
> -                         int sdvox_reg, enum port port);
> +                         int hdmi_reg, enum port port);
>  extern void intel_hdmi_init_connector(struct intel_digital_port 
> *intel_dig_port,
>                                     struct intel_connector *intel_connector);
>  extern struct intel_hdmi *enc_to_intel_hdmi(struct drm_encoder *encoder);
> diff --git a/drivers/gpu/drm/i915/intel_hdmi.c 
> b/drivers/gpu/drm/i915/intel_hdmi.c
> index ed65c6d..fcb36c6 100644
> --- a/drivers/gpu/drm/i915/intel_hdmi.c
> +++ b/drivers/gpu/drm/i915/intel_hdmi.c
> @@ -50,7 +50,7 @@ assert_hdmi_port_disabled(struct intel_hdmi *intel_hdmi)
>  
>       enabled_bits = HAS_DDI(dev) ? DDI_BUF_CTL_ENABLE : SDVO_ENABLE;
>  
> -     WARN(I915_READ(intel_hdmi->sdvox_reg) & enabled_bits,
> +     WARN(I915_READ(intel_hdmi->hdmi_reg) & enabled_bits,
>            "HDMI port enabled, expecting disabled\n");
>  }
>  
> @@ -597,40 +597,40 @@ static void intel_hdmi_mode_set(struct drm_encoder 
> *encoder,
>       struct drm_i915_private *dev_priv = dev->dev_private;
>       struct intel_crtc *intel_crtc = to_intel_crtc(encoder->crtc);
>       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(encoder);
> -     u32 sdvox;
> +     u32 hdmi_val;
>  
> -     sdvox = SDVO_ENCODING_HDMI;
> +     hdmi_val = SDVO_ENCODING_HDMI;
>       if (!HAS_PCH_SPLIT(dev))
> -             sdvox |= intel_hdmi->color_range;
> +             hdmi_val |= intel_hdmi->color_range;
>       if (adjusted_mode->flags & DRM_MODE_FLAG_PVSYNC)
> -             sdvox |= SDVO_VSYNC_ACTIVE_HIGH;
> +             hdmi_val |= SDVO_VSYNC_ACTIVE_HIGH;
>       if (adjusted_mode->flags & DRM_MODE_FLAG_PHSYNC)
> -             sdvox |= SDVO_HSYNC_ACTIVE_HIGH;
> +             hdmi_val |= SDVO_HSYNC_ACTIVE_HIGH;
>  
>       if (intel_crtc->bpp > 24)
> -             sdvox |= COLOR_FORMAT_12bpc;
> +             hdmi_val |= COLOR_FORMAT_12bpc;
>       else
> -             sdvox |= COLOR_FORMAT_8bpc;
> +             hdmi_val |= COLOR_FORMAT_8bpc;
>  
>       /* Required on CPT */
>       if (intel_hdmi->has_hdmi_sink && HAS_PCH_CPT(dev))
> -             sdvox |= HDMI_MODE_SELECT;
> +             hdmi_val |= HDMI_MODE_SELECT;
>  
>       if (intel_hdmi->has_audio) {
>               DRM_DEBUG_DRIVER("Enabling HDMI audio on pipe %c\n",
>                                pipe_name(intel_crtc->pipe));
> -             sdvox |= SDVO_AUDIO_ENABLE;
> -             sdvox |= SDVO_NULL_PACKETS_DURING_VSYNC;
> +             hdmi_val |= SDVO_AUDIO_ENABLE;
> +             hdmi_val |= SDVO_NULL_PACKETS_DURING_VSYNC;
>               intel_write_eld(encoder, adjusted_mode);
>       }
>  
>       if (HAS_PCH_CPT(dev))
> -             sdvox |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
> +             hdmi_val |= PORT_TRANS_SEL_CPT(intel_crtc->pipe);
>       else if (intel_crtc->pipe == PIPE_B)
> -             sdvox |= SDVO_PIPE_B_SELECT;
> +             hdmi_val |= SDVO_PIPE_B_SELECT;
>  
> -     I915_WRITE(intel_hdmi->sdvox_reg, sdvox);
> -     POSTING_READ(intel_hdmi->sdvox_reg);
> +     I915_WRITE(intel_hdmi->hdmi_reg, hdmi_val);
> +     POSTING_READ(intel_hdmi->hdmi_reg);
>  
>       intel_hdmi->set_infoframes(encoder, adjusted_mode);
>  }
> @@ -643,7 +643,7 @@ static bool intel_hdmi_get_hw_state(struct intel_encoder 
> *encoder,
>       struct intel_hdmi *intel_hdmi = enc_to_intel_hdmi(&encoder->base);
>       u32 tmp;
>  
> -     tmp = I915_READ(intel_hdmi->sdvox_reg);
> +     tmp = I915_READ(intel_hdmi->hdmi_reg);
>  
>       if (!(tmp & SDVO_ENABLE))
>               return false;
> @@ -667,7 +667,7 @@ static void intel_enable_hdmi(struct intel_encoder 
> *encoder)
>       if (intel_hdmi->has_audio)
>               enable_bits |= SDVO_AUDIO_ENABLE;
>  
> -     temp = I915_READ(intel_hdmi->sdvox_reg);
> +     temp = I915_READ(intel_hdmi->hdmi_reg);
>  
>       /* HW workaround for IBX, we need to move the port to transcoder A
>        * before disabling it. */
> @@ -684,21 +684,21 @@ static void intel_enable_hdmi(struct intel_encoder 
> *encoder)
>        * we do this anyway which shows more stable in testing.
>        */
>       if (HAS_PCH_SPLIT(dev)) {
> -             I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE);
> -             POSTING_READ(intel_hdmi->sdvox_reg);
> +             I915_WRITE(intel_hdmi->hdmi_reg, temp & ~SDVO_ENABLE);
> +             POSTING_READ(intel_hdmi->hdmi_reg);
>       }
>  
>       temp |= enable_bits;
>  
> -     I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -     POSTING_READ(intel_hdmi->sdvox_reg);
> +     I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +     POSTING_READ(intel_hdmi->hdmi_reg);
>  
>       /* HW workaround, need to write this twice for issue that may result
>        * in first write getting masked.
>        */
>       if (HAS_PCH_SPLIT(dev)) {
> -             I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -             POSTING_READ(intel_hdmi->sdvox_reg);
> +             I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +             POSTING_READ(intel_hdmi->hdmi_reg);
>       }
>  }
>  
> @@ -710,7 +710,7 @@ static void intel_disable_hdmi(struct intel_encoder 
> *encoder)
>       u32 temp;
>       u32 enable_bits = SDVO_ENABLE | SDVO_AUDIO_ENABLE;
>  
> -     temp = I915_READ(intel_hdmi->sdvox_reg);
> +     temp = I915_READ(intel_hdmi->hdmi_reg);
>  
>       /* HW workaround for IBX, we need to move the port to transcoder A
>        * before disabling it. */
> @@ -720,12 +720,12 @@ static void intel_disable_hdmi(struct intel_encoder 
> *encoder)
>  
>               if (temp & SDVO_PIPE_B_SELECT) {
>                       temp &= ~SDVO_PIPE_B_SELECT;
> -                     I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -                     POSTING_READ(intel_hdmi->sdvox_reg);
> +                     I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +                     POSTING_READ(intel_hdmi->hdmi_reg);
>  
>                       /* Again we need to write this twice. */
> -                     I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -                     POSTING_READ(intel_hdmi->sdvox_reg);
> +                     I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +                     POSTING_READ(intel_hdmi->hdmi_reg);
>  
>                       /* Transcoder selection bits only update
>                        * effectively on vblank. */
> @@ -740,21 +740,21 @@ static void intel_disable_hdmi(struct intel_encoder 
> *encoder)
>        * we do this anyway which shows more stable in testing.
>        */
>       if (HAS_PCH_SPLIT(dev)) {
> -             I915_WRITE(intel_hdmi->sdvox_reg, temp & ~SDVO_ENABLE);
> -             POSTING_READ(intel_hdmi->sdvox_reg);
> +             I915_WRITE(intel_hdmi->hdmi_reg, temp & ~SDVO_ENABLE);
> +             POSTING_READ(intel_hdmi->hdmi_reg);
>       }
>  
>       temp &= ~enable_bits;
>  
> -     I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -     POSTING_READ(intel_hdmi->sdvox_reg);
> +     I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +     POSTING_READ(intel_hdmi->hdmi_reg);
>  
>       /* HW workaround, need to write this twice for issue that may result
>        * in first write getting masked.
>        */
>       if (HAS_PCH_SPLIT(dev)) {
> -             I915_WRITE(intel_hdmi->sdvox_reg, temp);
> -             POSTING_READ(intel_hdmi->sdvox_reg);
> +             I915_WRITE(intel_hdmi->hdmi_reg, temp);
> +             POSTING_READ(intel_hdmi->hdmi_reg);
>       }
>  }
>  
> @@ -1075,7 +1075,7 @@ void intel_hdmi_init_connector(struct 
> intel_digital_port *intel_dig_port,
>       }
>  }
>  
> -void intel_hdmi_init(struct drm_device *dev, int sdvox_reg, enum port port)
> +void intel_hdmi_init(struct drm_device *dev, int hdmi_reg, enum port port)
>  {
>       struct intel_digital_port *intel_dig_port;
>       struct intel_encoder *intel_encoder;
> @@ -1108,7 +1108,7 @@ void intel_hdmi_init(struct drm_device *dev, int 
> sdvox_reg, enum port port)
>       intel_encoder->cloneable = false;
>  
>       intel_dig_port->port = port;
> -     intel_dig_port->hdmi.sdvox_reg = sdvox_reg;
> +     intel_dig_port->hdmi.hdmi_reg = hdmi_reg;
>       intel_dig_port->dp.output_reg = 0;
>  
>       intel_hdmi_init_connector(intel_dig_port, intel_connector);
> -- 
> 1.7.10.4
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to