All of lore.kernel.org
 help / color / mirror / Atom feed
From: Jani Nikula <jani.nikula@intel.com>
To: intel-gfx@lists.freedesktop.org
Cc: jani.nikula@intel.com, shuang.he@linux.intel.com
Subject: [PATCH 14/18] drm/i915: enable audio codec after port
Date: Fri,  3 Oct 2014 15:43:57 +0300	[thread overview]
Message-ID: <e19eaee6f220c7cf6c1abf5ab7000ca4f3a04c1d.1412339886.git.jani.nikula@intel.com> (raw)
In-Reply-To: <cover.1412339886.git.jani.nikula@intel.com>
In-Reply-To: <cover.1412339886.git.jani.nikula@intel.com>

As per spec, and similar to DDI.

Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c   | 13 ++++++++-----
 drivers/gpu/drm/i915/intel_hdmi.c | 15 +++++++--------
 2 files changed, 15 insertions(+), 13 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index 4debc13da0e6..d32958fad22b 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1246,12 +1246,8 @@ static void intel_dp_prepare(struct intel_encoder *encoder)
 	intel_dp->DP |= DP_VOLTAGE_0_4 | DP_PRE_EMPHASIS_0;
 	intel_dp->DP |= DP_PORT_WIDTH(intel_dp->lane_count);
 
-	if (crtc->config.has_audio) {
-		DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
-				 pipe_name(crtc->pipe));
+	if (crtc->config.has_audio)
 		intel_dp->DP |= DP_AUDIO_OUTPUT_ENABLE;
-		intel_audio_codec_enable(encoder);
-	}
 
 	/* Split out the IBX/CPU vs CPT settings */
 
@@ -2541,6 +2537,7 @@ static void intel_enable_dp(struct intel_encoder *encoder)
 	struct intel_dp *intel_dp = enc_to_intel_dp(&encoder->base);
 	struct drm_device *dev = encoder->base.dev;
 	struct drm_i915_private *dev_priv = dev->dev_private;
+	struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
 	uint32_t dp_reg = I915_READ(intel_dp->output_reg);
 
 	if (WARN_ON(dp_reg & DP_PORT_EN))
@@ -2554,6 +2551,12 @@ static void intel_enable_dp(struct intel_encoder *encoder)
 	intel_dp_start_link_train(intel_dp);
 	intel_dp_complete_link_train(intel_dp);
 	intel_dp_stop_link_train(intel_dp);
+
+	if (crtc->config.has_audio) {
+		DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
+				 pipe_name(crtc->pipe));
+		intel_audio_codec_enable(encoder);
+	}
 }
 
 static void g4x_enable_dp(struct intel_encoder *encoder)
diff --git a/drivers/gpu/drm/i915/intel_hdmi.c b/drivers/gpu/drm/i915/intel_hdmi.c
index f89f71e1f2ce..29baa53aef90 100644
--- a/drivers/gpu/drm/i915/intel_hdmi.c
+++ b/drivers/gpu/drm/i915/intel_hdmi.c
@@ -661,14 +661,6 @@ static void intel_hdmi_prepare(struct intel_encoder *encoder)
 	if (crtc->config.has_hdmi_sink)
 		hdmi_val |= HDMI_MODE_SELECT_HDMI;
 
-	if (crtc->config.has_audio) {
-		WARN_ON(!crtc->config.has_hdmi_sink);
-		DRM_DEBUG_DRIVER("Enabling HDMI audio on pipe %c\n",
-				 pipe_name(crtc->pipe));
-		hdmi_val |= SDVO_AUDIO_ENABLE;
-		intel_audio_codec_enable(encoder);
-	}
-
 	if (HAS_PCH_CPT(dev))
 		hdmi_val |= SDVO_PIPE_SEL_CPT(crtc->pipe);
 	else if (IS_CHERRYVIEW(dev))
@@ -791,6 +783,13 @@ static void intel_enable_hdmi(struct intel_encoder *encoder)
 		I915_WRITE(intel_hdmi->hdmi_reg, temp);
 		POSTING_READ(intel_hdmi->hdmi_reg);
 	}
+
+	if (intel_crtc->config.has_audio) {
+		WARN_ON(!intel_crtc->config.has_hdmi_sink);
+		DRM_DEBUG_DRIVER("Enabling HDMI audio on pipe %c\n",
+				 pipe_name(intel_crtc->pipe));
+		intel_audio_codec_enable(encoder);
+	}
 }
 
 static void vlv_enable_hdmi(struct intel_encoder *encoder)
-- 
1.9.1

  parent reply	other threads:[~2014-10-03 12:46 UTC|newest]

Thread overview: 20+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-03 12:43 [PATCH 00/18] drm/i915: hdmi/dp audio rework Jani Nikula
2014-10-03 12:43 ` [PATCH 01/18] drm/i915: add new intel audio file to group DP/HDMI audio Jani Nikula
2014-10-03 12:43 ` [PATCH 02/18] drm/i915/audio: constify hdmi audio clock struct Jani Nikula
2014-10-03 12:43 ` [PATCH 03/18] drm/i915/audio: beat some sense into the variable types and names Jani Nikula
2014-10-03 12:43 ` [PATCH 04/18] drm/i915: pass intel_encoder to intel_write_eld Jani Nikula
2014-10-03 12:43 ` [PATCH 05/18] drm/i915/audio: pass intel_encoder on to platform specific ELD functions Jani Nikula
2014-10-03 12:43 ` [PATCH 06/18] drm/i915/audio: set ELD Conn_Type at one place Jani Nikula
2014-10-03 12:43 ` [PATCH 07/18] drm/i915/ddi: write ELD where it's supposed to be done Jani Nikula
2014-10-03 12:43 ` [PATCH 08/18] drm/i915: introduce intel_audio_codec_{enable, disable} Jani Nikula
2014-10-03 12:43 ` [PATCH 09/18] drm/i915/audio: remove misleading checks for !eld[0] Jani Nikula
2014-10-03 12:43 ` [PATCH 10/18] drm/i915: clean up and clarify audio related register defines Jani Nikula
2014-10-03 12:43 ` [PATCH 11/18] drm/i915: rewrite hsw/bdw audio codec enable/disable sequences Jani Nikula
2014-10-03 12:43 ` [PATCH 12/18] drm/i915/audio: rewrite vlv/chv and gen 5-7 audio codec enable sequence Jani Nikula
2014-10-03 12:43 ` [PATCH 13/18] drm/i915/audio: add vlv/chv/gen5-7 audio codec disable sequence Jani Nikula
2014-10-03 12:43 ` Jani Nikula [this message]
2014-10-03 12:43 ` [PATCH 15/18] drm/i915/audio: add audio codec disable on g4x Jani Nikula
2014-10-03 12:43 ` [PATCH 16/18] drm/i915/audio: add audio codec enable debug log for g4x Jani Nikula
2014-10-03 12:44 ` [PATCH 17/18] drm/i915: make pipe/port based audio valid accessors easier to use Jani Nikula
2014-10-03 12:44 ` [PATCH 18/18] drm/i915/audio: add DOC comment describing HDA over HDMI/DP Jani Nikula
2014-10-03 16:22   ` Daniel Vetter

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=e19eaee6f220c7cf6c1abf5ab7000ca4f3a04c1d.1412339886.git.jani.nikula@intel.com \
    --to=jani.nikula@intel.com \
    --cc=intel-gfx@lists.freedesktop.org \
    --cc=shuang.he@linux.intel.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.