summaryrefslogtreecommitdiffstats
path: root/drivers/gpu
diff options
context:
space:
mode:
authorJani Nikula <jani.nikula@intel.com>2015-05-05 09:32:12 -0400
committerJani Nikula <jani.nikula@intel.com>2015-05-06 05:17:31 -0400
commit9fcb1704d1d51b12e2f03c78bca013d0cbbb7c98 (patch)
treeb21a594cb93cbb71547ee6a5e037943e4f0ace17 /drivers/gpu
parent3916e3fd81021fb795bfbdb17f375b6b3685bced (diff)
drm/i915/dp: there is no audio on port A
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 Reviewed-by: Sivakumar Thulasimani <sivakumar.thulasimani@intel.com> Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Diffstat (limited to 'drivers/gpu')
-rw-r--r--drivers/gpu/drm/i915/intel_dp.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/gpu/drm/i915/intel_dp.c b/drivers/gpu/drm/i915/intel_dp.c
index d0237102c27e..8d534f409b23 100644
--- a/drivers/gpu/drm/i915/intel_dp.c
+++ b/drivers/gpu/drm/i915/intel_dp.c
@@ -1348,7 +1348,7 @@ intel_dp_compute_config(struct intel_encoder *encoder,
1348 1348
1349 pipe_config->has_dp_encoder = true; 1349 pipe_config->has_dp_encoder = true;
1350 pipe_config->has_drrs = false; 1350 pipe_config->has_drrs = false;
1351 pipe_config->has_audio = intel_dp->has_audio; 1351 pipe_config->has_audio = intel_dp->has_audio && port != PORT_A;
1352 1352
1353 if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) { 1353 if (is_edp(intel_dp) && intel_connector->panel.fixed_mode) {
1354 intel_fixed_panel_mode(intel_connector->panel.fixed_mode, 1354 intel_fixed_panel_mode(intel_connector->panel.fixed_mode,
@@ -2211,8 +2211,8 @@ static void intel_dp_get_config(struct intel_encoder *encoder,
2211 int dotclock; 2211 int dotclock;
2212 2212
2213 tmp = I915_READ(intel_dp->output_reg); 2213 tmp = I915_READ(intel_dp->output_reg);
2214 if (tmp & DP_AUDIO_OUTPUT_ENABLE) 2214
2215 pipe_config->has_audio = true; 2215 pipe_config->has_audio = tmp & DP_AUDIO_OUTPUT_ENABLE && port != PORT_A;
2216 2216
2217 if ((port == PORT_A) || !HAS_PCH_CPT(dev)) { 2217 if ((port == PORT_A) || !HAS_PCH_CPT(dev)) {
2218 if (tmp & DP_SYNC_HS_HIGH) 2218 if (tmp & DP_SYNC_HS_HIGH)