[Intel-gfx] [PATCH v3] drm/i915/audio: set ELD Conn_Type at one place
Rodrigo Vivi
rodrigo.vivi at gmail.com
Tue Oct 28 17:23:06 CET 2014
Reviewed-by: Rodrigo Vivi <rodrigo.vivi at intel.com>
On Tue, Oct 28, 2014 at 4:53 AM, Jani Nikula <jani.nikula at intel.com> wrote:
> Keep the driver modifications to ELD together. This also sets the
> Conn_Type for G4X DP which wasn't done before.
>
> Clean up the debugs while at it; this is all obvious from the connector
> name.
>
> v3: add missing ~ (Rodrigo)
>
> Signed-off-by: Jani Nikula <jani.nikula at intel.com>
> ---
> drivers/gpu/drm/i915/intel_audio.c | 19 +++++++++----------
> 1 file changed, 9 insertions(+), 10 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
> index 4a384d780b20..537f6d8927f1 100644
> --- a/drivers/gpu/drm/i915/intel_audio.c
> +++ b/drivers/gpu/drm/i915/intel_audio.c
> @@ -181,13 +181,10 @@ static void haswell_write_eld(struct drm_connector *connector,
>
> eldv = AUDIO_ELD_VALID_A << (pipe * 4);
>
> - if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT)) {
> - DRM_DEBUG_DRIVER("ELD: DisplayPort detected\n");
> - eld[5] |= (1 << 2); /* Conn_Type, 0x1 = DisplayPort */
> + if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> I915_WRITE(aud_config, AUD_CONFIG_N_VALUE_INDEX); /* 0x1 = DP */
> - } else {
> + else
> I915_WRITE(aud_config, audio_config_hdmi_pixel_clock(mode));
> - }
>
> if (intel_eld_uptodate(connector,
> aud_cntrl_st2, eldv,
> @@ -276,13 +273,10 @@ static void ironlake_write_eld(struct drm_connector *connector,
> eldv = IBX_ELD_VALIDB << ((port - 1) * 4);
> }
>
> - if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT)) {
> - DRM_DEBUG_DRIVER("ELD: DisplayPort detected\n");
> - eld[5] |= (1 << 2); /* Conn_Type, 0x1 = DisplayPort */
> + if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> I915_WRITE(aud_config, AUD_CONFIG_N_VALUE_INDEX); /* 0x1 = DP */
> - } else {
> + else
> I915_WRITE(aud_config, audio_config_hdmi_pixel_clock(mode));
> - }
>
> if (intel_eld_uptodate(connector,
> aud_cntrl_st2, eldv,
> @@ -330,6 +324,11 @@ void intel_write_eld(struct intel_encoder *intel_encoder)
> connector->encoder->base.id,
> connector->encoder->name);
>
> + /* ELD Conn_Type */
> + connector->eld[5] &= ~(3 << 2);
> + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT))
> + connector->eld[5] |= (1 << 2);
> +
> connector->eld[6] = drm_av_sync_delay(connector, mode) / 2;
>
> if (dev_priv->display.write_eld)
> --
> 2.1.1
>
--
Rodrigo Vivi
Blog: http://blog.vivi.eng.br
More information about the Intel-gfx
mailing list