On Fri, Dec 08, 2017 at 05:33:23PM +0800, Augustine.Chen wrote:
The chip data of HDMI LPE audio is set to drm_i915_private which is not consistent with the expectation by x86 APIC driver.
Hmm. Why is the apic code looking at data for an irq chip it hasn't created?
Do we need something like - dev_priv->lpe_audio.irq = irq_alloc_desc(0); + dev_priv->lpe_audio.irq = irq_alloc_desc(-1); ?
That *looks* more correct to me based on a cursory glance at the x86 code, but I didn't trawl very deeply.
In the case of not enabling CONFIG_CPUMASK_OFFSTACK, this would cause kernel panic while doing CPU hotplug. Since the dependency of IRQ chip data was removed from HDMI LPE audio by Commit 9bd9590997b92fbd79fd028f704f6c584b4439d7 ("drm/i915: Stop pretending to mask/unmask LPE audio interrupts"), remove the code of setting IRQ chip data to resolve this issue.
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=103731 Cc: Pierre-Louis Bossart pierre-louis.bossart@intel.com Cc: Jerome Anand jerome.anand@intel.com Cc: Takashi Iwai tiwai@suse.de Signed-off-by: Augustine.Chen augustine.chen@intel.com
drivers/gpu/drm/i915/intel_lpe_audio.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/i915/intel_lpe_audio.c b/drivers/gpu/drm/i915/intel_lpe_audio.c index 3bf6528..56176f9 100644 --- a/drivers/gpu/drm/i915/intel_lpe_audio.c +++ b/drivers/gpu/drm/i915/intel_lpe_audio.c @@ -176,7 +176,7 @@ static int lpe_audio_irq_init(struct drm_i915_private *dev_priv) handle_simple_irq, "hdmi_lpe_audio_irq_handler");
- return irq_set_chip_data(irq, dev_priv);
- return 0;
}
static bool lpe_audio_detect(struct drm_i915_private *dev_priv)
1.9.1
Intel-gfx mailing list Intel-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/intel-gfx