Re: [PATCH] drm/i915: Initialize audio only when display is present

Chris Wilson
2017-11-10T13:37:58Z

Quoting Mika Kahola (2017-11-10 13:31:54)
> At least in Coffee Lake it happens that we start initiliazing audio when
> no display is connected. This was discovered by CI when running IGT test
> case
>
> drv_module_reload --r basic-no-display
>
> The issue here is that the 'intel_device_info_runtime_init()' sets
> num_pipes to 0 but before this happens the audio part has already started
> to initialize itself. Later on the num_pipes is updated to 0 in
> intel_device_info_runtime_init()

runtime_init happens twice? (I am confused by this pair of sentences.)

and we hit that when audio part is digging
> out ELD. This causes a warning in dmesg. To fix this issue, let's register
> the audio driver only in a case when display is enabled.
>
> Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103206
> Signed-off-by: Mika Kahola <mika.kahola@intel.com>
> ---
> drivers/gpu/drm/i915/i915_drv.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c
> index e7e9e06..f3cee1b 100644
> --- a/drivers/gpu/drm/i915/i915_drv.c
> +++ b/drivers/gpu/drm/i915/i915_drv.c
> @@ -1243,7 +1243,8 @@ 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);
> + if (!i915_modparams.disable_display)

INTEL_INFO()->num_ports == 0 is the derived value that includes cases
where the display is fused off as well.
-Chris