[Intel-gfx] [PATCH 1/1] drm/i915: move audio component intialization before audio driver use it

Jani Nikula jani.nikula at linux.intel.com
Fri Apr 27 07:59:33 UTC 2018


On Thu, 29 Mar 2018, Yang <yang.a.shi at intel.com> wrote:
> From: Yang Shi <yang.a.shi at intel.com>
>
> snd_hdac driver would use the component interface from i915 driver.
> if i915 driver do the audio component intialization too late, snd_hdac
> driver will meet ipanic.

To follow-up, we figured out off-list that the root cause here were
local async probe changes, and the issue that this patch addresses is
not present upstream.

However, it seems likely that the patch [1] recently proposed by Chris
would cause similar issues. Let's continue the discussion on that
thread.


BR,
Jani.

[1] http://patchwork.freedesktop.org/patch/msgid/20180323083048.13327-1-chris@chris-wilson.co.uk

>
> Signed-off-by: Bo He <bo.he at intel.com>
> Signed-off-by: Yang Shi <yang.a.shi at intel.com>
> ---
>  drivers/gpu/drm/i915/i915_drv.c      | 2 --
>  drivers/gpu/drm/i915/intel_display.c | 2 ++
>  2 files changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index 2f5209d..9d25d7e 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1243,8 +1243,6 @@ static void i915_driver_register(struct drm_i915_private *dev_priv)
>  	if (IS_GEN5(dev_priv))
>  		intel_gpu_ips_init(dev_priv);
>  
> -	intel_audio_init(dev_priv);
> -
>  	/*
>  	 * Some ports require correctly set-up hpd registers for detection to
>  	 * work properly (leading to ghost connected connector status), e.g. VGA
> diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c
> index f288bcc..a471c88 100644
> --- a/drivers/gpu/drm/i915/intel_display.c
> +++ b/drivers/gpu/drm/i915/intel_display.c
> @@ -14468,6 +14468,8 @@ int intel_modeset_init(struct drm_device *dev)
>  
>  	dev->mode_config.funcs = &intel_mode_funcs;
>  
> +	intel_audio_init(dev_priv);
> +
>  	init_llist_head(&dev_priv->atomic_helper.free_list);
>  	INIT_WORK(&dev_priv->atomic_helper.free_work,
>  		  intel_atomic_helper_free_state_worker);

-- 
Jani Nikula, Intel Open Source Technology Center


More information about the Intel-gfx mailing list