From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sivakumar Thulasimani Subject: Re: [PATCH 1/2] drm/i915/dp: there is no audio on port A on non-DDI platforms Date: Tue, 05 May 2015 19:13:05 +0530 Message-ID: <5548C8E9.8060406@intel.com> References: <1430749249-15565-1-git-send-email-jani.nikula@intel.com> <554855B4.2080808@intel.com> <877fsn8k6x.fsf@intel.com> <5548B52D.8010202@intel.com> <87mw1j6tgj.fsf@intel.com> Mime-Version: 1.0 Content-Type: multipart/mixed; boundary="===============1843686875==" Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id 3AFE86E519 for ; Tue, 5 May 2015 06:43:08 -0700 (PDT) In-Reply-To: <87mw1j6tgj.fsf@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jani Nikula Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org This is a multi-part message in MIME format. --===============1843686875== Content-Type: multipart/alternative; boundary="------------050606040605090603000406" This is a multi-part message in MIME format. --------------050606040605090603000406 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 7bit missed the changes attached. so adding rb tag Reviewed-by: Sivakumar Thulasimani On 5/5/2015 7:02 PM, Jani Nikula wrote: > On Tue, 05 May 2015, Sivakumar Thulasimani wrote: >> two points >> 1) The eDP spec says Audio is optional so it is allowed to have audio, >> but i am yet to come across any eDP panel that supports Audio. >> 2) Also, there is no support for audio in DDI A port as well :) >> >> So please change the check to >> >> if (!is_edp(encoder)) > Because the actual limitation we have is "no audio on port A" instead of > "no audio on eDP", I insist we check for port A. Patch below. > > BR, > Jani. > > > From ca5d2444065ac91db3ad6cfcdbf8a012a4d44556 Mon Sep 17 00:00:00 2001 > From: Jani Nikula > Date: Thu, 9 Apr 2015 12:41:53 +0300 > Subject: [PATCH] drm/i915/dp: there is no audio on port A > Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo > Cc: Jani Nikula > > The eDP port A register on PCH split platforms has a slightly different > register layout from the other ports, with bit 6 being either alternate > scrambler reset or reserved, depending on the generation. Our > misinterpretation of the bit as audio has lead to warning. > > Fix this by not enabling audio on port A, since none of our platforms > support audio on port A anyway. > > v2: DDI doesn't have audio on port A either (Sivakumar Thulasimani) > > Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89958 > Reported-and-tested-by: Chris Bainbridge > Cc: stable@vger.kernel.org > Signed-off-by: Jani Nikula > --- > drivers/gpu/drm/i915/intel_dp.c | 6 +++--- > 1 file changed, 3 insertions(+), 3 deletions(-) > > diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c > index caeb6ed99ad2..b61bf9b2f76f 100644 > --- a/drivers/gpu/drm/i915/intel_dp.c > +++ b/drivers/gpu/drm/i915/intel_dp.c > @@ -1361,7 +1361,7 @@ intel_dp_compute_config(struct intel_encoder *encoder, > > pipe_config->has_dp_encoder = true; > pipe_config->has_drrs = false; > - pipe_config->has_audio = intel_dp->has_audio; > + pipe_config->has_audio = intel_dp->has_audio && port != PORT_A; > > if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) { > intel_fixed_panel_mode(intel_connector->panel.fixed_mode, > @@ -2234,8 +2234,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder, > int dotclock; > > tmp = I915_READ(intel_dp->output_reg); > - if (tmp & DP_AUDIO_OUTPUT_ENABLE) > - pipe_config->has_audio = true; > + > + pipe_config->has_audio = tmp & DP_AUDIO_OUTPUT_ENABLE && port != PORT_A; > > if ((port == PORT_A) || !HAS_PCH_CPT(dev)) { > if (tmp & DP_SYNC_HS_HIGH) -- regards, Sivakumar --------------050606040605090603000406 Content-Type: text/html; charset=utf-8 Content-Transfer-Encoding: 7bit missed the changes attached. so adding rb tag

Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com>


On 5/5/2015 7:02 PM, Jani Nikula wrote:
On Tue, 05 May 2015, Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> wrote:
two points
1) The eDP spec says Audio is optional so it is allowed to have audio, 
but i am yet to come across any eDP panel that supports Audio.
2) Also, there is no support for audio in DDI A port as well :)

So please change the check to

if (!is_edp(encoder))
Because the actual limitation we have is "no audio on port A" instead of
"no audio on eDP", I insist we check for port A. Patch below.

BR,
Jani.


>>From ca5d2444065ac91db3ad6cfcdbf8a012a4d44556 Mon Sep 17 00:00:00 2001
From: Jani Nikula <jani.nikula@intel.com>
Date: Thu, 9 Apr 2015 12:41:53 +0300
Subject: [PATCH] drm/i915/dp: there is no audio on port A
Organization: Intel Finland Oy - BIC 0357606-4 - Westendinkatu 7, 02160 Espoo
Cc: Jani Nikula <jani.nikula@intel.com>

The eDP port A register on PCH split platforms has a slightly different
register layout from the other ports, with bit 6 being either alternate
scrambler reset or reserved, depending on the generation. Our
misinterpretation of the bit as audio has lead to warning.

Fix this by not enabling audio on port A, since none of our platforms
support audio on port A anyway.

v2: DDI doesn't have audio on port A either (Sivakumar Thulasimani)

Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=89958
Reported-and-tested-by: Chris Bainbridge <chris.bainbridge@gmail.com>
Cc: stable@vger.kernel.org
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
---
 drivers/gpu/drm/i915/intel_dp.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index caeb6ed99ad2..b61bf9b2f76f 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1361,7 +1361,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
 
 	pipe_config->has_dp_encoder = true;
 	pipe_config->has_drrs = false;
-	pipe_config->has_audio = intel_dp->has_audio;
+	pipe_config->has_audio = intel_dp->has_audio && port != PORT_A;
 
 	if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
 		intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
@@ -2234,8 +2234,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
 	int dotclock;
 
 	tmp = I915_READ(intel_dp->output_reg);
-	if (tmp & DP_AUDIO_OUTPUT_ENABLE)
-		pipe_config->has_audio = true;
+
+	pipe_config->has_audio = tmp & DP_AUDIO_OUTPUT_ENABLE && port != PORT_A;
 
 	if ((port == PORT_A) || !HAS_PCH_CPT(dev)) {
 		if (tmp & DP_SYNC_HS_HIGH)

-- 
regards,
Sivakumar
--------------050606040605090603000406-- --===============1843686875== Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: base64 Content-Disposition: inline X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK --===============1843686875==--