* [PATCH] Revert "drm/i915: start adding dp mst audio"
@ 2016-05-03 15:01 Lyude
2016-05-03 20:28 ` Daniel Vetter
0 siblings, 1 reply; 8+ messages in thread
From: Lyude @ 2016-05-03 15:01 UTC (permalink / raw)
To: intel-gfx
Cc: David Airlie, Daniel Vetter,
open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list
Right now MST audio is causing too many kernel panics to really keep
around in the kernel. On top of that, even after fixing said panics it's
still basically non-functional (at least on all the setups I've tested
it on). Revert until we have a proper solution for this.
This reverts commit 3d52ccf52f2c51f613e42e65be0f06e4e6788093.
Signed-off-by: Lyude <cpaul@redhat.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 16 ----------------
drivers/gpu/drm/i915/intel_audio.c | 9 +++------
drivers/gpu/drm/i915/intel_ddi.c | 24 +++++-------------------
drivers/gpu/drm/i915/intel_dp_mst.c | 22 ----------------------
drivers/gpu/drm/i915/intel_drv.h | 2 --
5 files changed, 8 insertions(+), 65 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index a0f1bd7..e3f4c72 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2872,20 +2872,6 @@ static void intel_dp_info(struct seq_file *m,
intel_panel_info(m, &intel_connector->panel);
}
-static void intel_dp_mst_info(struct seq_file *m,
- struct intel_connector *intel_connector)
-{
- struct intel_encoder *intel_encoder = intel_connector->encoder;
- struct intel_dp_mst_encoder *intel_mst =
- enc_to_mst(&intel_encoder->base);
- struct intel_digital_port *intel_dig_port = intel_mst->primary;
- struct intel_dp *intel_dp = &intel_dig_port->dp;
- bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
- intel_connector->port);
-
- seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
-}
-
static void intel_hdmi_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
@@ -2929,8 +2915,6 @@ static void intel_connector_info(struct seq_file *m,
intel_hdmi_info(m, intel_connector);
else if (intel_encoder->type == INTEL_OUTPUT_LVDS)
intel_lvds_info(m, intel_connector);
- else if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
- intel_dp_mst_info(m, intel_connector);
}
seq_printf(m, "\tmodes:\n");
diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
index 30f9214..7d281b4 100644
--- a/drivers/gpu/drm/i915/intel_audio.c
+++ b/drivers/gpu/drm/i915/intel_audio.c
@@ -262,8 +262,7 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder)
tmp |= AUD_CONFIG_N_PROG_ENABLE;
tmp &= ~AUD_CONFIG_UPPER_N_MASK;
tmp &= ~AUD_CONFIG_LOWER_N_MASK;
- if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
- intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
+ if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
tmp |= AUD_CONFIG_N_VALUE_INDEX;
I915_WRITE(HSW_AUD_CFG(pipe), tmp);
@@ -476,8 +475,7 @@ static void ilk_audio_codec_enable(struct drm_connector *connector,
tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
tmp &= ~AUD_CONFIG_N_PROG_ENABLE;
tmp &= ~AUD_CONFIG_PIXEL_CLOCK_HDMI_MASK;
- if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
- intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
+ if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
tmp |= AUD_CONFIG_N_VALUE_INDEX;
else
tmp |= audio_config_hdmi_pixel_clock(adjusted_mode);
@@ -515,8 +513,7 @@ void intel_audio_codec_enable(struct intel_encoder *intel_encoder)
/* ELD Conn_Type */
connector->eld[5] &= ~(3 << 2);
- if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) ||
- intel_pipe_has_type(crtc, INTEL_OUTPUT_DP_MST))
+ if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT))
connector->eld[5] |= (1 << 2);
connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 62de9f4..1c3487a 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -3098,23 +3098,6 @@ void intel_ddi_fdi_disable(struct drm_crtc *crtc)
I915_WRITE(FDI_RX_CTL(PIPE_A), val);
}
-bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
- struct intel_crtc *intel_crtc)
-{
- u32 temp;
-
- if (intel_display_power_get_if_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
- temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
-
- intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
-
- if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
- return true;
- }
-
- return false;
-}
-
void intel_ddi_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
@@ -3175,8 +3158,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
break;
}
- pipe_config->has_audio =
- intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
+ if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
+ temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
+ if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
+ pipe_config->has_audio = true;
+ }
if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp_bpp &&
pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 937e772..2c99972 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -78,8 +78,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
return false;
}
- if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, found->port))
- pipe_config->has_audio = true;
mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
pipe_config->pbn = mst_pbn;
@@ -104,11 +102,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
- struct drm_device *dev = encoder->base.dev;
- struct drm_i915_private *dev_priv = dev->dev_private;
- struct drm_crtc *crtc = encoder->base.crtc;
- struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
-
int ret;
DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
@@ -119,10 +112,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
if (ret) {
DRM_ERROR("failed to update payload %d\n", ret);
}
- if (intel_crtc->config->has_audio) {
- intel_audio_codec_disable(encoder);
- intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
- }
}
static void intel_mst_post_disable_dp(struct intel_encoder *encoder)
@@ -221,7 +210,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct drm_device *dev = intel_dig_port->base.base.dev;
struct drm_i915_private *dev_priv = dev->dev_private;
- struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
enum port port = intel_dig_port->port;
int ret;
@@ -234,13 +222,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
-
- if (crtc->config->has_audio) {
- DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
- pipe_name(crtc->pipe));
- intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
- intel_audio_codec_enable(encoder);
- }
}
static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
@@ -266,9 +247,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
pipe_config->has_dp_encoder = true;
- pipe_config->has_audio =
- intel_ddi_is_audio_enabled(dev_priv, crtc);
-
temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
if (temp & TRANS_DDI_PHSYNC)
flags |= DRM_MODE_FLAG_PHSYNC;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index 4c027d6..2402075 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1019,8 +1019,6 @@ void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
void intel_ddi_fdi_disable(struct drm_crtc *crtc);
-bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
- struct intel_crtc *intel_crtc);
void intel_ddi_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config);
struct intel_encoder *
--
2.5.5
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 8+ messages in thread
* Re: [PATCH] Revert "drm/i915: start adding dp mst audio"
2016-05-03 15:01 Lyude
@ 2016-05-03 20:28 ` Daniel Vetter
0 siblings, 0 replies; 8+ messages in thread
From: Daniel Vetter @ 2016-05-03 20:28 UTC (permalink / raw)
To: Lyude
Cc: David Airlie, Daniel Vetter, intel-gfx,
open list:INTEL DRM DRIVERS excluding Poulsbo, Moorestow..., linux-kernel@vger.kernel.org open list
On Tue, May 03, 2016 at 11:01:32AM -0400, Lyude wrote:
> Right now MST audio is causing too many kernel panics to really keep
> around in the kernel. On top of that, even after fixing said panics it's
> still basically non-functional (at least on all the setups I've tested
> it on). Revert until we have a proper solution for this.
>
> This reverts commit 3d52ccf52f2c51f613e42e65be0f06e4e6788093.
>
> Signed-off-by: Lyude <cpaul@redhat.com>
Applied (with appropriate Fixes: and cc: stable tags), thanks.
-Daniel
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 16 ----------------
> drivers/gpu/drm/i915/intel_audio.c | 9 +++------
> drivers/gpu/drm/i915/intel_ddi.c | 24 +++++-------------------
> drivers/gpu/drm/i915/intel_dp_mst.c | 22 ----------------------
> drivers/gpu/drm/i915/intel_drv.h | 2 --
> 5 files changed, 8 insertions(+), 65 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index a0f1bd7..e3f4c72 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2872,20 +2872,6 @@ static void intel_dp_info(struct seq_file *m,
> intel_panel_info(m, &intel_connector->panel);
> }
>
> -static void intel_dp_mst_info(struct seq_file *m,
> - struct intel_connector *intel_connector)
> -{
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> - struct intel_dp_mst_encoder *intel_mst =
> - enc_to_mst(&intel_encoder->base);
> - struct intel_digital_port *intel_dig_port = intel_mst->primary;
> - struct intel_dp *intel_dp = &intel_dig_port->dp;
> - bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
> - intel_connector->port);
> -
> - seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
> -}
> -
> static void intel_hdmi_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> @@ -2929,8 +2915,6 @@ static void intel_connector_info(struct seq_file *m,
> intel_hdmi_info(m, intel_connector);
> else if (intel_encoder->type == INTEL_OUTPUT_LVDS)
> intel_lvds_info(m, intel_connector);
> - else if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
> - intel_dp_mst_info(m, intel_connector);
> }
>
> seq_printf(m, "\tmodes:\n");
> diff --git a/drivers/gpu/drm/i915/intel_audio.c b/drivers/gpu/drm/i915/intel_audio.c
> index 30f9214..7d281b4 100644
> --- a/drivers/gpu/drm/i915/intel_audio.c
> +++ b/drivers/gpu/drm/i915/intel_audio.c
> @@ -262,8 +262,7 @@ static void hsw_audio_codec_disable(struct intel_encoder *encoder)
> tmp |= AUD_CONFIG_N_PROG_ENABLE;
> tmp &= ~AUD_CONFIG_UPPER_N_MASK;
> tmp &= ~AUD_CONFIG_LOWER_N_MASK;
> - if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
> - intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
> + if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> tmp |= AUD_CONFIG_N_VALUE_INDEX;
> I915_WRITE(HSW_AUD_CFG(pipe), tmp);
>
> @@ -476,8 +475,7 @@ static void ilk_audio_codec_enable(struct drm_connector *connector,
> tmp &= ~AUD_CONFIG_N_VALUE_INDEX;
> tmp &= ~AUD_CONFIG_N_PROG_ENABLE;
> tmp &= ~AUD_CONFIG_PIXEL_CLOCK_HDMI_MASK;
> - if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT) ||
> - intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DP_MST))
> + if (intel_pipe_has_type(intel_crtc, INTEL_OUTPUT_DISPLAYPORT))
> tmp |= AUD_CONFIG_N_VALUE_INDEX;
> else
> tmp |= audio_config_hdmi_pixel_clock(adjusted_mode);
> @@ -515,8 +513,7 @@ void intel_audio_codec_enable(struct intel_encoder *intel_encoder)
>
> /* ELD Conn_Type */
> connector->eld[5] &= ~(3 << 2);
> - if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT) ||
> - intel_pipe_has_type(crtc, INTEL_OUTPUT_DP_MST))
> + if (intel_pipe_has_type(crtc, INTEL_OUTPUT_DISPLAYPORT))
> connector->eld[5] |= (1 << 2);
>
> connector->eld[6] = drm_av_sync_delay(connector, adjusted_mode) / 2;
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 62de9f4..1c3487a 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -3098,23 +3098,6 @@ void intel_ddi_fdi_disable(struct drm_crtc *crtc)
> I915_WRITE(FDI_RX_CTL(PIPE_A), val);
> }
>
> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> - struct intel_crtc *intel_crtc)
> -{
> - u32 temp;
> -
> - if (intel_display_power_get_if_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> -
> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
> -
> - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> - return true;
> - }
> -
> - return false;
> -}
> -
> void intel_ddi_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> @@ -3175,8 +3158,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
> break;
> }
>
> - pipe_config->has_audio =
> - intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
> + if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> + temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> + if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> + pipe_config->has_audio = true;
> + }
>
> if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp_bpp &&
> pipe_config->pipe_bpp > dev_priv->vbt.edp_bpp) {
> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
> index 937e772..2c99972 100644
> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
> @@ -78,8 +78,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
> return false;
> }
>
> - if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, found->port))
> - pipe_config->has_audio = true;
> mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
>
> pipe_config->pbn = mst_pbn;
> @@ -104,11 +102,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
> struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> - struct drm_device *dev = encoder->base.dev;
> - struct drm_i915_private *dev_priv = dev->dev_private;
> - struct drm_crtc *crtc = encoder->base.crtc;
> - struct intel_crtc *intel_crtc = to_intel_crtc(crtc);
> -
> int ret;
>
> DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
> @@ -119,10 +112,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder)
> if (ret) {
> DRM_ERROR("failed to update payload %d\n", ret);
> }
> - if (intel_crtc->config->has_audio) {
> - intel_audio_codec_disable(encoder);
> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
> - }
> }
>
> static void intel_mst_post_disable_dp(struct intel_encoder *encoder)
> @@ -221,7 +210,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct drm_device *dev = intel_dig_port->base.base.dev;
> struct drm_i915_private *dev_priv = dev->dev_private;
> - struct intel_crtc *crtc = to_intel_crtc(encoder->base.crtc);
> enum port port = intel_dig_port->port;
> int ret;
>
> @@ -234,13 +222,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder)
> ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
>
> ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
> -
> - if (crtc->config->has_audio) {
> - DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
> - pipe_name(crtc->pipe));
> - intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
> - intel_audio_codec_enable(encoder);
> - }
> }
>
> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
> @@ -266,9 +247,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
>
> pipe_config->has_dp_encoder = true;
>
> - pipe_config->has_audio =
> - intel_ddi_is_audio_enabled(dev_priv, crtc);
> -
> temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
> if (temp & TRANS_DDI_PHSYNC)
> flags |= DRM_MODE_FLAG_PHSYNC;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index 4c027d6..2402075 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1019,8 +1019,6 @@ void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
> void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
> bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
> void intel_ddi_fdi_disable(struct drm_crtc *crtc);
> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> - struct intel_crtc *intel_crtc);
> void intel_ddi_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config);
> struct intel_encoder *
> --
> 2.5.5
>
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* [PATCH] Revert "drm/i915: start adding dp mst audio"
@ 2016-09-29 6:55 Dhinakaran Pandiyan
2016-09-29 7:27 ` ✓ Fi.CI.BAT: success for Revert "drm/i915: start adding dp mst audio" (rev2) Patchwork
2016-09-29 8:37 ` [PATCH] Revert "drm/i915: start adding dp mst audio" Jani Nikula
0 siblings, 2 replies; 8+ messages in thread
From: Dhinakaran Pandiyan @ 2016-09-29 6:55 UTC (permalink / raw)
To: intel-gfx; +Cc: Jani Nikula, Libin Yang, Dhinakaran Pandiyan
This reverts 'commit 3708d5e082c3 ("drm/i915: start adding dp mst audio")'
because it breaks MST multi-monitor setups on some platforms.
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97907
Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
Reported-by: Kim Lidström <kim@dxtr.im>
Cc: Libin Yang <libin.yang@linux.intel.com>
Cc: Lyude <cpaul@redhat.com>
Cc: Jani Nikula <jani.nikula@intel.com>
---
drivers/gpu/drm/i915/i915_debugfs.c | 19 +------------------
drivers/gpu/drm/i915/intel_ddi.c | 20 +++++---------------
drivers/gpu/drm/i915/intel_dp_mst.c | 18 ------------------
drivers/gpu/drm/i915/intel_drv.h | 2 --
4 files changed, 6 insertions(+), 53 deletions(-)
diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
index 1ba6795..4fb9d82 100644
--- a/drivers/gpu/drm/i915/i915_debugfs.c
+++ b/drivers/gpu/drm/i915/i915_debugfs.c
@@ -2879,20 +2879,6 @@ static void intel_dp_info(struct seq_file *m,
&intel_dp->aux);
}
-static void intel_dp_mst_info(struct seq_file *m,
- struct intel_connector *intel_connector)
-{
- struct intel_encoder *intel_encoder = intel_connector->encoder;
- struct intel_dp_mst_encoder *intel_mst =
- enc_to_mst(&intel_encoder->base);
- struct intel_digital_port *intel_dig_port = intel_mst->primary;
- struct intel_dp *intel_dp = &intel_dig_port->dp;
- bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
- intel_connector->port);
-
- seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
-}
-
static void intel_hdmi_info(struct seq_file *m,
struct intel_connector *intel_connector)
{
@@ -2935,10 +2921,7 @@ static void intel_connector_info(struct seq_file *m,
switch (connector->connector_type) {
case DRM_MODE_CONNECTOR_DisplayPort:
case DRM_MODE_CONNECTOR_eDP:
- if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
- intel_dp_mst_info(m, intel_connector);
- else
- intel_dp_info(m, intel_connector);
+ intel_dp_info(m, intel_connector);
break;
case DRM_MODE_CONNECTOR_LVDS:
if (intel_encoder->type == INTEL_OUTPUT_LVDS)
diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
index 07cba6c..35f0b7c 100644
--- a/drivers/gpu/drm/i915/intel_ddi.c
+++ b/drivers/gpu/drm/i915/intel_ddi.c
@@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp)
udelay(600);
}
-bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
- struct intel_crtc *intel_crtc)
-{
- u32 temp;
-
- if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
- temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
- if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
- return true;
- }
- return false;
-}
-
void intel_ddi_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config)
{
@@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
break;
}
- pipe_config->has_audio =
- intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
+ if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
+ temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
+ if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
+ pipe_config->has_audio = true;
+ }
if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
index 2fc9f81..3ffbd69 100644
--- a/drivers/gpu/drm/i915/intel_dp_mst.c
+++ b/drivers/gpu/drm/i915/intel_dp_mst.c
@@ -37,8 +37,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
struct intel_digital_port *intel_dig_port = intel_mst->primary;
struct intel_dp *intel_dp = &intel_dig_port->dp;
- struct intel_connector *connector =
- to_intel_connector(conn_state->connector);
struct drm_atomic_state *state;
int bpp;
int lane_count, slots;
@@ -61,8 +59,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
state = pipe_config->base.state;
- if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port))
- pipe_config->has_audio = true;
mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
pipe_config->pbn = mst_pbn;
@@ -88,7 +84,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
struct intel_dp *intel_dp = &intel_dig_port->dp;
struct intel_connector *connector =
to_intel_connector(old_conn_state->connector);
- struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
int ret;
DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
@@ -99,10 +94,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
if (ret) {
DRM_ERROR("failed to update payload %d\n", ret);
}
- if (old_crtc_state->has_audio) {
- intel_audio_codec_disable(encoder);
- intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
- }
}
static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
@@ -215,12 +206,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
- if (pipe_config->has_audio) {
- DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
- pipe_name(intel_mst->pipe));
- intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
- intel_audio_codec_enable(encoder);
- }
}
static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
@@ -243,9 +228,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
u32 temp, flags = 0;
- pipe_config->has_audio =
- intel_ddi_is_audio_enabled(dev_priv, crtc);
-
temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
if (temp & TRANS_DDI_PHSYNC)
flags |= DRM_MODE_FLAG_PHSYNC;
diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
index c49a11e..30e3f49 100644
--- a/drivers/gpu/drm/i915/intel_drv.h
+++ b/drivers/gpu/drm/i915/intel_drv.h
@@ -1156,8 +1156,6 @@ bool intel_ddi_pll_select(struct intel_crtc *crtc,
void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
-bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
- struct intel_crtc *intel_crtc);
void intel_ddi_get_config(struct intel_encoder *encoder,
struct intel_crtc_state *pipe_config);
struct intel_encoder *
--
2.5.0
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply related [flat|nested] 8+ messages in thread
* ✓ Fi.CI.BAT: success for Revert "drm/i915: start adding dp mst audio" (rev2)
2016-09-29 6:55 [PATCH] Revert "drm/i915: start adding dp mst audio" Dhinakaran Pandiyan
@ 2016-09-29 7:27 ` Patchwork
2016-09-29 8:37 ` [PATCH] Revert "drm/i915: start adding dp mst audio" Jani Nikula
1 sibling, 0 replies; 8+ messages in thread
From: Patchwork @ 2016-09-29 7:27 UTC (permalink / raw)
To: cpaul; +Cc: intel-gfx
== Series Details ==
Series: Revert "drm/i915: start adding dp mst audio" (rev2)
URL : https://patchwork.freedesktop.org/series/6685/
State : success
== Summary ==
Series 6685v2 Revert "drm/i915: start adding dp mst audio"
https://patchwork.freedesktop.org/api/1.0/series/6685/revisions/2/mbox/
fi-bdw-5557u total:33 pass:26 dwarn:0 dfail:1 fail:0 skip:5
fi-bsw-n3050 total:33 pass:24 dwarn:0 dfail:1 fail:0 skip:7
fi-bxt-t5700 total:33 pass:24 dwarn:0 dfail:1 fail:0 skip:7
fi-byt-j1900 total:33 pass:27 dwarn:0 dfail:1 fail:0 skip:4
fi-byt-n2820 total:33 pass:23 dwarn:0 dfail:1 fail:0 skip:8
fi-hsw-4770 total:33 pass:24 dwarn:0 dfail:1 fail:0 skip:7
fi-hsw-4770r total:33 pass:24 dwarn:0 dfail:1 fail:0 skip:7
fi-ilk-650 total:33 pass:12 dwarn:0 dfail:1 fail:0 skip:19
fi-ivb-3520m total:33 pass:27 dwarn:0 dfail:1 fail:0 skip:4
fi-ivb-3770 total:33 pass:27 dwarn:0 dfail:1 fail:0 skip:4
fi-skl-6260u total:33 pass:26 dwarn:0 dfail:1 fail:0 skip:5
fi-skl-6700hq total:33 pass:25 dwarn:0 dfail:1 fail:0 skip:6
fi-skl-6700k total:33 pass:23 dwarn:1 dfail:1 fail:0 skip:7
fi-skl-6770hq total:33 pass:26 dwarn:0 dfail:1 fail:0 skip:5
fi-snb-2520m total:33 pass:26 dwarn:0 dfail:1 fail:0 skip:5
fi-snb-2600 total:33 pass:26 dwarn:0 dfail:1 fail:0 skip:5
Results at /archive/results/CI_IGT_test/Patchwork_2591/
edf68a3aacccc2ad1ff8915fcc8011ad43d53be9 drm-intel-nightly: 2016y-09m-28d-15h-13m-34s UTC integration manifest
6029c9c Revert "drm/i915: start adding dp mst audio"
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Revert "drm/i915: start adding dp mst audio"
2016-09-29 6:55 [PATCH] Revert "drm/i915: start adding dp mst audio" Dhinakaran Pandiyan
2016-09-29 7:27 ` ✓ Fi.CI.BAT: success for Revert "drm/i915: start adding dp mst audio" (rev2) Patchwork
@ 2016-09-29 8:37 ` Jani Nikula
2016-09-29 8:39 ` Jani Nikula
1 sibling, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2016-09-29 8:37 UTC (permalink / raw)
To: intel-gfx; +Cc: Libin Yang, Dhinakaran Pandiyan
On Thu, 29 Sep 2016, Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> wrote:
> This reverts 'commit 3708d5e082c3 ("drm/i915: start adding dp mst audio")'
> because it breaks MST multi-monitor setups on some platforms.
>
> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97907
>
> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> Reported-by: Kim Lidström <kim@dxtr.im>
> Cc: Libin Yang <libin.yang@linux.intel.com>
> Cc: Lyude <cpaul@redhat.com>
> Cc: Jani Nikula <jani.nikula@intel.com>
Pushed to drm-intel-next-queued, thanks for the patch.
BR,
Jani.
> ---
> drivers/gpu/drm/i915/i915_debugfs.c | 19 +------------------
> drivers/gpu/drm/i915/intel_ddi.c | 20 +++++---------------
> drivers/gpu/drm/i915/intel_dp_mst.c | 18 ------------------
> drivers/gpu/drm/i915/intel_drv.h | 2 --
> 4 files changed, 6 insertions(+), 53 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> index 1ba6795..4fb9d82 100644
> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> @@ -2879,20 +2879,6 @@ static void intel_dp_info(struct seq_file *m,
> &intel_dp->aux);
> }
>
> -static void intel_dp_mst_info(struct seq_file *m,
> - struct intel_connector *intel_connector)
> -{
> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> - struct intel_dp_mst_encoder *intel_mst =
> - enc_to_mst(&intel_encoder->base);
> - struct intel_digital_port *intel_dig_port = intel_mst->primary;
> - struct intel_dp *intel_dp = &intel_dig_port->dp;
> - bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
> - intel_connector->port);
> -
> - seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
> -}
> -
> static void intel_hdmi_info(struct seq_file *m,
> struct intel_connector *intel_connector)
> {
> @@ -2935,10 +2921,7 @@ static void intel_connector_info(struct seq_file *m,
> switch (connector->connector_type) {
> case DRM_MODE_CONNECTOR_DisplayPort:
> case DRM_MODE_CONNECTOR_eDP:
> - if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
> - intel_dp_mst_info(m, intel_connector);
> - else
> - intel_dp_info(m, intel_connector);
> + intel_dp_info(m, intel_connector);
> break;
> case DRM_MODE_CONNECTOR_LVDS:
> if (intel_encoder->type == INTEL_OUTPUT_LVDS)
> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> index 07cba6c..35f0b7c 100644
> --- a/drivers/gpu/drm/i915/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> @@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp)
> udelay(600);
> }
>
> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> - struct intel_crtc *intel_crtc)
> -{
> - u32 temp;
> -
> - if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> - return true;
> - }
> - return false;
> -}
> -
> void intel_ddi_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config)
> {
> @@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
> break;
> }
>
> - pipe_config->has_audio =
> - intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
> + if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> + temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> + if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> + pipe_config->has_audio = true;
> + }
>
> if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
> pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
> index 2fc9f81..3ffbd69 100644
> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
> @@ -37,8 +37,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
> struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> - struct intel_connector *connector =
> - to_intel_connector(conn_state->connector);
> struct drm_atomic_state *state;
> int bpp;
> int lane_count, slots;
> @@ -61,8 +59,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
>
> state = pipe_config->base.state;
>
> - if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port))
> - pipe_config->has_audio = true;
> mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
>
> pipe_config->pbn = mst_pbn;
> @@ -88,7 +84,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
> struct intel_dp *intel_dp = &intel_dig_port->dp;
> struct intel_connector *connector =
> to_intel_connector(old_conn_state->connector);
> - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> int ret;
>
> DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
> @@ -99,10 +94,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
> if (ret) {
> DRM_ERROR("failed to update payload %d\n", ret);
> }
> - if (old_crtc_state->has_audio) {
> - intel_audio_codec_disable(encoder);
> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
> - }
> }
>
> static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
> @@ -215,12 +206,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
> ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
>
> ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
> - if (pipe_config->has_audio) {
> - DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
> - pipe_name(intel_mst->pipe));
> - intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
> - intel_audio_codec_enable(encoder);
> - }
> }
>
> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
> @@ -243,9 +228,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
> enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
> u32 temp, flags = 0;
>
> - pipe_config->has_audio =
> - intel_ddi_is_audio_enabled(dev_priv, crtc);
> -
> temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
> if (temp & TRANS_DDI_PHSYNC)
> flags |= DRM_MODE_FLAG_PHSYNC;
> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> index c49a11e..30e3f49 100644
> --- a/drivers/gpu/drm/i915/intel_drv.h
> +++ b/drivers/gpu/drm/i915/intel_drv.h
> @@ -1156,8 +1156,6 @@ bool intel_ddi_pll_select(struct intel_crtc *crtc,
> void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
> void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
> bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> - struct intel_crtc *intel_crtc);
> void intel_ddi_get_config(struct intel_encoder *encoder,
> struct intel_crtc_state *pipe_config);
> struct intel_encoder *
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Revert "drm/i915: start adding dp mst audio"
2016-09-29 8:37 ` [PATCH] Revert "drm/i915: start adding dp mst audio" Jani Nikula
@ 2016-09-29 8:39 ` Jani Nikula
2016-09-30 3:47 ` Pandiyan, Dhinakaran
0 siblings, 1 reply; 8+ messages in thread
From: Jani Nikula @ 2016-09-29 8:39 UTC (permalink / raw)
To: intel-gfx; +Cc: Libin Yang, Dhinakaran Pandiyan
On Thu, 29 Sep 2016, Jani Nikula <jani.nikula@intel.com> wrote:
> On Thu, 29 Sep 2016, Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> wrote:
>> This reverts 'commit 3708d5e082c3 ("drm/i915: start adding dp mst audio")'
>> because it breaks MST multi-monitor setups on some platforms.
>>
>> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97907
>>
>> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
>> Reported-by: Kim Lidström <kim@dxtr.im>
>> Cc: Libin Yang <libin.yang@linux.intel.com>
>> Cc: Lyude <cpaul@redhat.com>
>> Cc: Jani Nikula <jani.nikula@intel.com>
>
> Pushed to drm-intel-next-queued, thanks for the patch.
Oh, I hope
commit f931894194b9395313d1c34f95ceb8d91f49790d
Author: Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>
Date: Wed Sep 21 13:02:48 2016 -0700
drm/i915/dp: DP audio API changes for MST
doesn't have a (functional) dependency on the reverted commit?
BR,
Jani.
>
> BR,
> Jani.
>
>
>> ---
>> drivers/gpu/drm/i915/i915_debugfs.c | 19 +------------------
>> drivers/gpu/drm/i915/intel_ddi.c | 20 +++++---------------
>> drivers/gpu/drm/i915/intel_dp_mst.c | 18 ------------------
>> drivers/gpu/drm/i915/intel_drv.h | 2 --
>> 4 files changed, 6 insertions(+), 53 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
>> index 1ba6795..4fb9d82 100644
>> --- a/drivers/gpu/drm/i915/i915_debugfs.c
>> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
>> @@ -2879,20 +2879,6 @@ static void intel_dp_info(struct seq_file *m,
>> &intel_dp->aux);
>> }
>>
>> -static void intel_dp_mst_info(struct seq_file *m,
>> - struct intel_connector *intel_connector)
>> -{
>> - struct intel_encoder *intel_encoder = intel_connector->encoder;
>> - struct intel_dp_mst_encoder *intel_mst =
>> - enc_to_mst(&intel_encoder->base);
>> - struct intel_digital_port *intel_dig_port = intel_mst->primary;
>> - struct intel_dp *intel_dp = &intel_dig_port->dp;
>> - bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
>> - intel_connector->port);
>> -
>> - seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
>> -}
>> -
>> static void intel_hdmi_info(struct seq_file *m,
>> struct intel_connector *intel_connector)
>> {
>> @@ -2935,10 +2921,7 @@ static void intel_connector_info(struct seq_file *m,
>> switch (connector->connector_type) {
>> case DRM_MODE_CONNECTOR_DisplayPort:
>> case DRM_MODE_CONNECTOR_eDP:
>> - if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
>> - intel_dp_mst_info(m, intel_connector);
>> - else
>> - intel_dp_info(m, intel_connector);
>> + intel_dp_info(m, intel_connector);
>> break;
>> case DRM_MODE_CONNECTOR_LVDS:
>> if (intel_encoder->type == INTEL_OUTPUT_LVDS)
>> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
>> index 07cba6c..35f0b7c 100644
>> --- a/drivers/gpu/drm/i915/intel_ddi.c
>> +++ b/drivers/gpu/drm/i915/intel_ddi.c
>> @@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp)
>> udelay(600);
>> }
>>
>> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
>> - struct intel_crtc *intel_crtc)
>> -{
>> - u32 temp;
>> -
>> - if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
>> - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
>> - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
>> - return true;
>> - }
>> - return false;
>> -}
>> -
>> void intel_ddi_get_config(struct intel_encoder *encoder,
>> struct intel_crtc_state *pipe_config)
>> {
>> @@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
>> break;
>> }
>>
>> - pipe_config->has_audio =
>> - intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
>> + if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
>> + temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
>> + if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
>> + pipe_config->has_audio = true;
>> + }
>>
>> if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
>> pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
>> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
>> index 2fc9f81..3ffbd69 100644
>> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
>> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
>> @@ -37,8 +37,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
>> struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
>> struct intel_digital_port *intel_dig_port = intel_mst->primary;
>> struct intel_dp *intel_dp = &intel_dig_port->dp;
>> - struct intel_connector *connector =
>> - to_intel_connector(conn_state->connector);
>> struct drm_atomic_state *state;
>> int bpp;
>> int lane_count, slots;
>> @@ -61,8 +59,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
>>
>> state = pipe_config->base.state;
>>
>> - if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port))
>> - pipe_config->has_audio = true;
>> mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
>>
>> pipe_config->pbn = mst_pbn;
>> @@ -88,7 +84,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
>> struct intel_dp *intel_dp = &intel_dig_port->dp;
>> struct intel_connector *connector =
>> to_intel_connector(old_conn_state->connector);
>> - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> int ret;
>>
>> DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
>> @@ -99,10 +94,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
>> if (ret) {
>> DRM_ERROR("failed to update payload %d\n", ret);
>> }
>> - if (old_crtc_state->has_audio) {
>> - intel_audio_codec_disable(encoder);
>> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
>> - }
>> }
>>
>> static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
>> @@ -215,12 +206,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
>> ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
>>
>> ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
>> - if (pipe_config->has_audio) {
>> - DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
>> - pipe_name(intel_mst->pipe));
>> - intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
>> - intel_audio_codec_enable(encoder);
>> - }
>> }
>>
>> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
>> @@ -243,9 +228,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
>> enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
>> u32 temp, flags = 0;
>>
>> - pipe_config->has_audio =
>> - intel_ddi_is_audio_enabled(dev_priv, crtc);
>> -
>> temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
>> if (temp & TRANS_DDI_PHSYNC)
>> flags |= DRM_MODE_FLAG_PHSYNC;
>> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
>> index c49a11e..30e3f49 100644
>> --- a/drivers/gpu/drm/i915/intel_drv.h
>> +++ b/drivers/gpu/drm/i915/intel_drv.h
>> @@ -1156,8 +1156,6 @@ bool intel_ddi_pll_select(struct intel_crtc *crtc,
>> void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
>> void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
>> bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
>> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
>> - struct intel_crtc *intel_crtc);
>> void intel_ddi_get_config(struct intel_encoder *encoder,
>> struct intel_crtc_state *pipe_config);
>> struct intel_encoder *
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Revert "drm/i915: start adding dp mst audio"
2016-09-29 8:39 ` Jani Nikula
@ 2016-09-30 3:47 ` Pandiyan, Dhinakaran
2016-09-30 6:39 ` Jani Nikula
0 siblings, 1 reply; 8+ messages in thread
From: Pandiyan, Dhinakaran @ 2016-09-30 3:47 UTC (permalink / raw)
To: Nikula, Jani; +Cc: intel-gfx@lists.freedesktop.org, libin.yang@linux.intel.com
On Thu, 2016-09-29 at 11:39 +0300, Jani Nikula wrote:
> On Thu, 29 Sep 2016, Jani Nikula <jani.nikula@intel.com> wrote:
> > On Thu, 29 Sep 2016, Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> wrote:
> >> This reverts 'commit 3708d5e082c3 ("drm/i915: start adding dp mst audio")'
> >> because it breaks MST multi-monitor setups on some platforms.
> >>
> >> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97907
> >>
> >> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
> >> Reported-by: Kim Lidström <kim@dxtr.im>
> >> Cc: Libin Yang <libin.yang@linux.intel.com>
> >> Cc: Lyude <cpaul@redhat.com>
> >> Cc: Jani Nikula <jani.nikula@intel.com>
> >
> > Pushed to drm-intel-next-queued, thanks for the patch.
>
> Oh, I hope
>
> commit f931894194b9395313d1c34f95ceb8d91f49790d
> Author: Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>
> Date: Wed Sep 21 13:02:48 2016 -0700
>
> drm/i915/dp: DP audio API changes for MST
>
> doesn't have a (functional) dependency on the reverted commit?
>
> BR,
> Jani.
>
>
>
No, it doesn't. The API patch adds an extra parameter to the functions
already exposed to the audio drivers and should not depend on the
reverted MST audio enabling patch.
-DK
> >
> > BR,
> > Jani.
> >
> >
> >> ---
> >> drivers/gpu/drm/i915/i915_debugfs.c | 19 +------------------
> >> drivers/gpu/drm/i915/intel_ddi.c | 20 +++++---------------
> >> drivers/gpu/drm/i915/intel_dp_mst.c | 18 ------------------
> >> drivers/gpu/drm/i915/intel_drv.h | 2 --
> >> 4 files changed, 6 insertions(+), 53 deletions(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
> >> index 1ba6795..4fb9d82 100644
> >> --- a/drivers/gpu/drm/i915/i915_debugfs.c
> >> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
> >> @@ -2879,20 +2879,6 @@ static void intel_dp_info(struct seq_file *m,
> >> &intel_dp->aux);
> >> }
> >>
> >> -static void intel_dp_mst_info(struct seq_file *m,
> >> - struct intel_connector *intel_connector)
> >> -{
> >> - struct intel_encoder *intel_encoder = intel_connector->encoder;
> >> - struct intel_dp_mst_encoder *intel_mst =
> >> - enc_to_mst(&intel_encoder->base);
> >> - struct intel_digital_port *intel_dig_port = intel_mst->primary;
> >> - struct intel_dp *intel_dp = &intel_dig_port->dp;
> >> - bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
> >> - intel_connector->port);
> >> -
> >> - seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
> >> -}
> >> -
> >> static void intel_hdmi_info(struct seq_file *m,
> >> struct intel_connector *intel_connector)
> >> {
> >> @@ -2935,10 +2921,7 @@ static void intel_connector_info(struct seq_file *m,
> >> switch (connector->connector_type) {
> >> case DRM_MODE_CONNECTOR_DisplayPort:
> >> case DRM_MODE_CONNECTOR_eDP:
> >> - if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
> >> - intel_dp_mst_info(m, intel_connector);
> >> - else
> >> - intel_dp_info(m, intel_connector);
> >> + intel_dp_info(m, intel_connector);
> >> break;
> >> case DRM_MODE_CONNECTOR_LVDS:
> >> if (intel_encoder->type == INTEL_OUTPUT_LVDS)
> >> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
> >> index 07cba6c..35f0b7c 100644
> >> --- a/drivers/gpu/drm/i915/intel_ddi.c
> >> +++ b/drivers/gpu/drm/i915/intel_ddi.c
> >> @@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp)
> >> udelay(600);
> >> }
> >>
> >> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> >> - struct intel_crtc *intel_crtc)
> >> -{
> >> - u32 temp;
> >> -
> >> - if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> >> - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> >> - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> >> - return true;
> >> - }
> >> - return false;
> >> -}
> >> -
> >> void intel_ddi_get_config(struct intel_encoder *encoder,
> >> struct intel_crtc_state *pipe_config)
> >> {
> >> @@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
> >> break;
> >> }
> >>
> >> - pipe_config->has_audio =
> >> - intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
> >> + if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
> >> + temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
> >> + if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
> >> + pipe_config->has_audio = true;
> >> + }
> >>
> >> if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
> >> pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
> >> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
> >> index 2fc9f81..3ffbd69 100644
> >> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
> >> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
> >> @@ -37,8 +37,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
> >> struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
> >> struct intel_digital_port *intel_dig_port = intel_mst->primary;
> >> struct intel_dp *intel_dp = &intel_dig_port->dp;
> >> - struct intel_connector *connector =
> >> - to_intel_connector(conn_state->connector);
> >> struct drm_atomic_state *state;
> >> int bpp;
> >> int lane_count, slots;
> >> @@ -61,8 +59,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
> >>
> >> state = pipe_config->base.state;
> >>
> >> - if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port))
> >> - pipe_config->has_audio = true;
> >> mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
> >>
> >> pipe_config->pbn = mst_pbn;
> >> @@ -88,7 +84,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
> >> struct intel_dp *intel_dp = &intel_dig_port->dp;
> >> struct intel_connector *connector =
> >> to_intel_connector(old_conn_state->connector);
> >> - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
> >> int ret;
> >>
> >> DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
> >> @@ -99,10 +94,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
> >> if (ret) {
> >> DRM_ERROR("failed to update payload %d\n", ret);
> >> }
> >> - if (old_crtc_state->has_audio) {
> >> - intel_audio_codec_disable(encoder);
> >> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
> >> - }
> >> }
> >>
> >> static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
> >> @@ -215,12 +206,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
> >> ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
> >>
> >> ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
> >> - if (pipe_config->has_audio) {
> >> - DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
> >> - pipe_name(intel_mst->pipe));
> >> - intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
> >> - intel_audio_codec_enable(encoder);
> >> - }
> >> }
> >>
> >> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
> >> @@ -243,9 +228,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
> >> enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
> >> u32 temp, flags = 0;
> >>
> >> - pipe_config->has_audio =
> >> - intel_ddi_is_audio_enabled(dev_priv, crtc);
> >> -
> >> temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
> >> if (temp & TRANS_DDI_PHSYNC)
> >> flags |= DRM_MODE_FLAG_PHSYNC;
> >> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
> >> index c49a11e..30e3f49 100644
> >> --- a/drivers/gpu/drm/i915/intel_drv.h
> >> +++ b/drivers/gpu/drm/i915/intel_drv.h
> >> @@ -1156,8 +1156,6 @@ bool intel_ddi_pll_select(struct intel_crtc *crtc,
> >> void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
> >> void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
> >> bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
> >> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
> >> - struct intel_crtc *intel_crtc);
> >> void intel_ddi_get_config(struct intel_encoder *encoder,
> >> struct intel_crtc_state *pipe_config);
> >> struct intel_encoder *
>
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH] Revert "drm/i915: start adding dp mst audio"
2016-09-30 3:47 ` Pandiyan, Dhinakaran
@ 2016-09-30 6:39 ` Jani Nikula
0 siblings, 0 replies; 8+ messages in thread
From: Jani Nikula @ 2016-09-30 6:39 UTC (permalink / raw)
To: Pandiyan, Dhinakaran
Cc: intel-gfx@lists.freedesktop.org, libin.yang@linux.intel.com
On Fri, 30 Sep 2016, "Pandiyan, Dhinakaran" <dhinakaran.pandiyan@intel.com> wrote:
> On Thu, 2016-09-29 at 11:39 +0300, Jani Nikula wrote:
>> On Thu, 29 Sep 2016, Jani Nikula <jani.nikula@intel.com> wrote:
>> > On Thu, 29 Sep 2016, Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com> wrote:
>> >> This reverts 'commit 3708d5e082c3 ("drm/i915: start adding dp mst audio")'
>> >> because it breaks MST multi-monitor setups on some platforms.
>> >>
>> >> Bug: https://bugs.freedesktop.org/show_bug.cgi?id=97907
>> >>
>> >> Signed-off-by: Dhinakaran Pandiyan <dhinakaran.pandiyan@intel.com>
>> >> Reported-by: Kim Lidström <kim@dxtr.im>
>> >> Cc: Libin Yang <libin.yang@linux.intel.com>
>> >> Cc: Lyude <cpaul@redhat.com>
>> >> Cc: Jani Nikula <jani.nikula@intel.com>
>> >
>> > Pushed to drm-intel-next-queued, thanks for the patch.
>>
>> Oh, I hope
>>
>> commit f931894194b9395313d1c34f95ceb8d91f49790d
>> Author: Pandiyan, Dhinakaran <dhinakaran.pandiyan@intel.com>
>> Date: Wed Sep 21 13:02:48 2016 -0700
>>
>> drm/i915/dp: DP audio API changes for MST
>>
>> doesn't have a (functional) dependency on the reverted commit?
>>
>> BR,
>> Jani.
>>
>>
>>
>
>
> No, it doesn't. The API patch adds an extra parameter to the functions
> already exposed to the audio drivers and should not depend on the
> reverted MST audio enabling patch.
Thanks for confirming,
Jani.
>
> -DK
>
>> >
>> > BR,
>> > Jani.
>> >
>> >
>> >> ---
>> >> drivers/gpu/drm/i915/i915_debugfs.c | 19 +------------------
>> >> drivers/gpu/drm/i915/intel_ddi.c | 20 +++++---------------
>> >> drivers/gpu/drm/i915/intel_dp_mst.c | 18 ------------------
>> >> drivers/gpu/drm/i915/intel_drv.h | 2 --
>> >> 4 files changed, 6 insertions(+), 53 deletions(-)
>> >>
>> >> diff --git a/drivers/gpu/drm/i915/i915_debugfs.c b/drivers/gpu/drm/i915/i915_debugfs.c
>> >> index 1ba6795..4fb9d82 100644
>> >> --- a/drivers/gpu/drm/i915/i915_debugfs.c
>> >> +++ b/drivers/gpu/drm/i915/i915_debugfs.c
>> >> @@ -2879,20 +2879,6 @@ static void intel_dp_info(struct seq_file *m,
>> >> &intel_dp->aux);
>> >> }
>> >>
>> >> -static void intel_dp_mst_info(struct seq_file *m,
>> >> - struct intel_connector *intel_connector)
>> >> -{
>> >> - struct intel_encoder *intel_encoder = intel_connector->encoder;
>> >> - struct intel_dp_mst_encoder *intel_mst =
>> >> - enc_to_mst(&intel_encoder->base);
>> >> - struct intel_digital_port *intel_dig_port = intel_mst->primary;
>> >> - struct intel_dp *intel_dp = &intel_dig_port->dp;
>> >> - bool has_audio = drm_dp_mst_port_has_audio(&intel_dp->mst_mgr,
>> >> - intel_connector->port);
>> >> -
>> >> - seq_printf(m, "\taudio support: %s\n", yesno(has_audio));
>> >> -}
>> >> -
>> >> static void intel_hdmi_info(struct seq_file *m,
>> >> struct intel_connector *intel_connector)
>> >> {
>> >> @@ -2935,10 +2921,7 @@ static void intel_connector_info(struct seq_file *m,
>> >> switch (connector->connector_type) {
>> >> case DRM_MODE_CONNECTOR_DisplayPort:
>> >> case DRM_MODE_CONNECTOR_eDP:
>> >> - if (intel_encoder->type == INTEL_OUTPUT_DP_MST)
>> >> - intel_dp_mst_info(m, intel_connector);
>> >> - else
>> >> - intel_dp_info(m, intel_connector);
>> >> + intel_dp_info(m, intel_connector);
>> >> break;
>> >> case DRM_MODE_CONNECTOR_LVDS:
>> >> if (intel_encoder->type == INTEL_OUTPUT_LVDS)
>> >> diff --git a/drivers/gpu/drm/i915/intel_ddi.c b/drivers/gpu/drm/i915/intel_ddi.c
>> >> index 07cba6c..35f0b7c 100644
>> >> --- a/drivers/gpu/drm/i915/intel_ddi.c
>> >> +++ b/drivers/gpu/drm/i915/intel_ddi.c
>> >> @@ -2227,19 +2227,6 @@ void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp)
>> >> udelay(600);
>> >> }
>> >>
>> >> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
>> >> - struct intel_crtc *intel_crtc)
>> >> -{
>> >> - u32 temp;
>> >> -
>> >> - if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
>> >> - temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
>> >> - if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
>> >> - return true;
>> >> - }
>> >> - return false;
>> >> -}
>> >> -
>> >> void intel_ddi_get_config(struct intel_encoder *encoder,
>> >> struct intel_crtc_state *pipe_config)
>> >> {
>> >> @@ -2305,8 +2292,11 @@ void intel_ddi_get_config(struct intel_encoder *encoder,
>> >> break;
>> >> }
>> >>
>> >> - pipe_config->has_audio =
>> >> - intel_ddi_is_audio_enabled(dev_priv, intel_crtc);
>> >> + if (intel_display_power_is_enabled(dev_priv, POWER_DOMAIN_AUDIO)) {
>> >> + temp = I915_READ(HSW_AUD_PIN_ELD_CP_VLD);
>> >> + if (temp & AUDIO_OUTPUT_ENABLE(intel_crtc->pipe))
>> >> + pipe_config->has_audio = true;
>> >> + }
>> >>
>> >> if (encoder->type == INTEL_OUTPUT_EDP && dev_priv->vbt.edp.bpp &&
>> >> pipe_config->pipe_bpp > dev_priv->vbt.edp.bpp) {
>> >> diff --git a/drivers/gpu/drm/i915/intel_dp_mst.c b/drivers/gpu/drm/i915/intel_dp_mst.c
>> >> index 2fc9f81..3ffbd69 100644
>> >> --- a/drivers/gpu/drm/i915/intel_dp_mst.c
>> >> +++ b/drivers/gpu/drm/i915/intel_dp_mst.c
>> >> @@ -37,8 +37,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
>> >> struct intel_dp_mst_encoder *intel_mst = enc_to_mst(&encoder->base);
>> >> struct intel_digital_port *intel_dig_port = intel_mst->primary;
>> >> struct intel_dp *intel_dp = &intel_dig_port->dp;
>> >> - struct intel_connector *connector =
>> >> - to_intel_connector(conn_state->connector);
>> >> struct drm_atomic_state *state;
>> >> int bpp;
>> >> int lane_count, slots;
>> >> @@ -61,8 +59,6 @@ static bool intel_dp_mst_compute_config(struct intel_encoder *encoder,
>> >>
>> >> state = pipe_config->base.state;
>> >>
>> >> - if (drm_dp_mst_port_has_audio(&intel_dp->mst_mgr, connector->port))
>> >> - pipe_config->has_audio = true;
>> >> mst_pbn = drm_dp_calc_pbn_mode(adjusted_mode->crtc_clock, bpp);
>> >>
>> >> pipe_config->pbn = mst_pbn;
>> >> @@ -88,7 +84,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
>> >> struct intel_dp *intel_dp = &intel_dig_port->dp;
>> >> struct intel_connector *connector =
>> >> to_intel_connector(old_conn_state->connector);
>> >> - struct drm_i915_private *dev_priv = to_i915(encoder->base.dev);
>> >> int ret;
>> >>
>> >> DRM_DEBUG_KMS("%d\n", intel_dp->active_mst_links);
>> >> @@ -99,10 +94,6 @@ static void intel_mst_disable_dp(struct intel_encoder *encoder,
>> >> if (ret) {
>> >> DRM_ERROR("failed to update payload %d\n", ret);
>> >> }
>> >> - if (old_crtc_state->has_audio) {
>> >> - intel_audio_codec_disable(encoder);
>> >> - intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
>> >> - }
>> >> }
>> >>
>> >> static void intel_mst_post_disable_dp(struct intel_encoder *encoder,
>> >> @@ -215,12 +206,6 @@ static void intel_mst_enable_dp(struct intel_encoder *encoder,
>> >> ret = drm_dp_check_act_status(&intel_dp->mst_mgr);
>> >>
>> >> ret = drm_dp_update_payload_part2(&intel_dp->mst_mgr);
>> >> - if (pipe_config->has_audio) {
>> >> - DRM_DEBUG_DRIVER("Enabling DP audio on pipe %c\n",
>> >> - pipe_name(intel_mst->pipe));
>> >> - intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
>> >> - intel_audio_codec_enable(encoder);
>> >> - }
>> >> }
>> >>
>> >> static bool intel_dp_mst_enc_get_hw_state(struct intel_encoder *encoder,
>> >> @@ -243,9 +228,6 @@ static void intel_dp_mst_enc_get_config(struct intel_encoder *encoder,
>> >> enum transcoder cpu_transcoder = pipe_config->cpu_transcoder;
>> >> u32 temp, flags = 0;
>> >>
>> >> - pipe_config->has_audio =
>> >> - intel_ddi_is_audio_enabled(dev_priv, crtc);
>> >> -
>> >> temp = I915_READ(TRANS_DDI_FUNC_CTL(cpu_transcoder));
>> >> if (temp & TRANS_DDI_PHSYNC)
>> >> flags |= DRM_MODE_FLAG_PHSYNC;
>> >> diff --git a/drivers/gpu/drm/i915/intel_drv.h b/drivers/gpu/drm/i915/intel_drv.h
>> >> index c49a11e..30e3f49 100644
>> >> --- a/drivers/gpu/drm/i915/intel_drv.h
>> >> +++ b/drivers/gpu/drm/i915/intel_drv.h
>> >> @@ -1156,8 +1156,6 @@ bool intel_ddi_pll_select(struct intel_crtc *crtc,
>> >> void intel_ddi_set_pipe_settings(struct drm_crtc *crtc);
>> >> void intel_ddi_prepare_link_retrain(struct intel_dp *intel_dp);
>> >> bool intel_ddi_connector_get_hw_state(struct intel_connector *intel_connector);
>> >> -bool intel_ddi_is_audio_enabled(struct drm_i915_private *dev_priv,
>> >> - struct intel_crtc *intel_crtc);
>> >> void intel_ddi_get_config(struct intel_encoder *encoder,
>> >> struct intel_crtc_state *pipe_config);
>> >> struct intel_encoder *
>>
>
--
Jani Nikula, Intel Open Source Technology Center
_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/intel-gfx
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2016-09-30 6:39 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-09-29 6:55 [PATCH] Revert "drm/i915: start adding dp mst audio" Dhinakaran Pandiyan
2016-09-29 7:27 ` ✓ Fi.CI.BAT: success for Revert "drm/i915: start adding dp mst audio" (rev2) Patchwork
2016-09-29 8:37 ` [PATCH] Revert "drm/i915: start adding dp mst audio" Jani Nikula
2016-09-29 8:39 ` Jani Nikula
2016-09-30 3:47 ` Pandiyan, Dhinakaran
2016-09-30 6:39 ` Jani Nikula
-- strict thread matches above, loose matches on Subject: below --
2016-05-03 15:01 Lyude
2016-05-03 20:28 ` Daniel Vetter
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox