>-----Original Message----- >From: Jani Nikula [mailto:jani.nikula@xxxxxxxxxxxxxxx] >Sent: Thursday, March 29, 2018 9:16 PM >To: Chris Wilson <chris@xxxxxxxxxxxxxxxxxx>; Shi, Yang A <yang.a.shi@xxxxxxxxx>; >intel-gfx@xxxxxxxxxxxxxxxxxxxxx >Cc: Shi, Yang A <yang.a.shi@xxxxxxxxx>; He, Bo <bo.he@xxxxxxxxx> >Subject: Re: [PATCH 1/1] drm/i915: move audio component intialization >before audio driver use it > >On Thu, 29 Mar 2018, Chris Wilson <chris@xxxxxxxxxxxxxxxxxx> wrote: >> Quoting Yang (2018-03-29 08:12:13) >>> From: Yang Shi <yang.a.shi@xxxxxxxxx> >>> >>> 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. >>> >>> Signed-off-by: Bo He <bo.he@xxxxxxxxx> >>> Signed-off-by: Yang Shi <yang.a.shi@xxxxxxxxx> >>> --- >>> 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); >> >> Has info->num_pipes been finalized yet? Does the component framework >> expose the device to the external clients (if so, it can not be done >> before we are ready). > >Hmmh, the same patch seems to have been sent twice. I replied at [1]. > >BR, >Jani. issue: snd_soc_skl meet "failed to add i915 component master (-19)" when platform don't connect any display output. i915 do initialization before than skl_probe, but if there is no display output connect, in function drm_dp_dpcd_access, there is a 32 retry for aux i2c transactions. It will meet timeout and do usleep. Then skl_probe function will be scheduled. It will call snd_hdac_i915_init, and it will meet "failed to add i915 component master" error. And whole snd_soc_skl initialization will be failed, audio can't work normally anymore. So i915 driver need to move intel_audio_init at the beginning of intel_modeset_init. This will make sure i915_audio_component_init process before snd_hdac_i915_init call it. BR. Yang. > > >[1] http://mid.mail-archive.com/87k1tvciec.fsf@xxxxxxxxx > > >> -Chris >> _______________________________________________ >> Intel-gfx mailing list >> Intel-gfx@xxxxxxxxxxxxxxxxxxxxx >> https://lists.freedesktop.org/mailman/listinfo/intel-gfx > >-- >Jani Nikula, Intel Open Source Technology Center _______________________________________________ Intel-gfx mailing list Intel-gfx@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/intel-gfx