[Intel-gfx] [PATCH 2/2] drm/i915/dsi: Add audio reference in dsi encoder
Thulasimani, Sivakumar
sivakumar.thulasimani at intel.com
Wed Feb 3 01:52:57 UTC 2016
Again like previous patch can you add checks for IS_BROXTON for all of
these changes so it does not affect CHV/VLV ?
regards,
Sivakumar
On 2/2/2016 11:24 PM, Ramalingam C wrote:
> From: "Kumar, Mahesh" <mahesh1.kumar at intel.com>
>
> We are re-using Mipi encoder enabled by GOP driver, but not incrementing
> reference count for Audio Power domain, so audio was not working. This
> patch increments the reference count during DSI init and Adds get/put in
> DSI enable/disable functions as well so audio power domain will be on
> when mipi is in use.
>
> Signed-off-by: Kumar, Mahesh <mahesh1.kumar at intel.com>
> Signed-off-by: Uma Shankar <uma.shankar at intel.com>
> Signed-off-by: Ramalingam C <ramalingam.c at intel.com>
> ---
> drivers/gpu/drm/i915/intel_dsi.c | 13 +++++++++++++
> 1 file changed, 13 insertions(+)
>
> diff --git a/drivers/gpu/drm/i915/intel_dsi.c b/drivers/gpu/drm/i915/intel_dsi.c
> index 91cef35..8b43ef6 100644
> --- a/drivers/gpu/drm/i915/intel_dsi.c
> +++ b/drivers/gpu/drm/i915/intel_dsi.c
> @@ -461,6 +461,9 @@ static void intel_dsi_enable(struct intel_encoder *encoder)
> intel_dsi_port_enable(encoder);
> }
>
> + intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
> + intel_audio_codec_enable(encoder);
> +
> intel_panel_enable_backlight(intel_dsi->attached_connector);
> }
>
> @@ -531,11 +534,16 @@ static void intel_dsi_enable_nop(struct intel_encoder *encoder)
>
> static void intel_dsi_pre_disable(struct intel_encoder *encoder)
> {
> + struct drm_device *dev = encoder->base.dev;
> + struct drm_i915_private *dev_priv = dev->dev_private;
> struct intel_dsi *intel_dsi = enc_to_intel_dsi(&encoder->base);
> enum port port;
>
> DRM_DEBUG_KMS("\n");
>
> + intel_audio_codec_disable(encoder);
> + intel_display_power_put(dev_priv, POWER_DOMAIN_AUDIO);
> +
> intel_panel_disable_backlight(intel_dsi->attached_connector);
>
> if (is_vid_mode(intel_dsi)) {
> @@ -1236,6 +1244,11 @@ void intel_dsi_init(struct drm_device *dev)
> intel_panel_init(&intel_connector->panel, fixed_mode, NULL);
> intel_panel_setup_backlight(connector, INVALID_PIPE);
>
> + /* Enable Audio Power to fix use-count state machine */
> + port = (dev_priv->vbt.dsi.port == DVO_PORT_MIPIA) ? PORT_A : PORT_C;
> + if (I915_READ(BXT_MIPI_PORT_CTRL(port)) & DPI_ENABLE)
> + intel_display_power_get(dev_priv, POWER_DOMAIN_AUDIO);
> +
> return;
>
> err:
More information about the Intel-gfx
mailing list