[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