[alsa-devel] [Intel-gfx] [PATCH] drm/i915: Remove unused IRQ chip data of HDMI LPE audio
Chen, Augustine
augustine.chen at intel.com
Tue Dec 12 10:26:08 CET 2017
> -----Original Message-----
> From: Takashi Iwai [mailto:tiwai at suse.de]
> Sent: Monday, December 11, 2017 9:23 PM
> To: Ville Syrjälä <ville.syrjala at linux.intel.com>
> Cc: Anand, Jerome <jerome.anand at intel.com>; Thomas Gleixner
> <tglx at linutronix.de>; Chen, Augustine <augustine.chen at intel.com>; intel-
> gfx at lists.freedesktop.org; alsa-devel at alsa-project.org; Bossart, Pierre-louis
> <pierre-louis.bossart at intel.com>; Ingo Molnar <mingo at redhat.com>; H. Peter
> Anvin <hpa at zytor.com>; Jiang Liu <jiang.liu at linux.intel.com>; Juergen Gross
> <jgross at suse.com>; Dou Liyang <douly.fnst at cn.fujitsu.com>; linux-
> kernel at vger.kernel.org
> Subject: Re: [Intel-gfx] [PATCH] drm/i915: Remove unused IRQ chip data of
> HDMI LPE audio
>
> On Mon, 11 Dec 2017 14:20:23 +0100,
> Ville Syrjälä wrote:
> >
> > On Mon, Dec 11, 2017 at 08:33:33AM +0000, Anand, Jerome wrote:
> > >
> > >
> > > > -----Original Message-----
> > > > From: Thomas Gleixner [mailto:tglx at linutronix.de]
> > > > Sent: Saturday, December 9, 2017 4:22 AM
> > > > To: Ville Syrjälä <ville.syrjala at linux.intel.com>
> > > > Cc: Chen, Augustine <augustine.chen at intel.com>; intel-
> > > > gfx at lists.freedesktop.org; alsa-devel at alsa-project.org; Anand,
> > > > Jerome <jerome.anand at intel.com>; Bossart, Pierre-louis <pierre-
> > > > louis.bossart at intel.com>; tiwai at suse.de; Ingo Molnar
> > > > <mingo at redhat.com>; H. Peter Anvin <hpa at zytor.com>; Jiang Liu
> > > > <jiang.liu at linux.intel.com>; Juergen Gross <jgross at suse.com>; Dou
> > > > Liyang <douly.fnst at cn.fujitsu.com>; linux- kernel at vger.kernel.org
> > > > Subject: Re: [Intel-gfx] [PATCH] drm/i915: Remove unused IRQ chip
> > > > data of HDMI LPE audio
> > > >
> > > > On Fri, 8 Dec 2017, Ville Syrjälä wrote:
> > > >
> > > > > 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?
> > > > >
> > >
> > > apic code expects an irq domain to be place as generic approach.
> > >
> > > > > Do we need something like
> > > > > - dev_priv->lpe_audio.irq = irq_alloc_desc(0);
> > > > > + dev_priv->lpe_audio.irq = irq_alloc_desc(-1);
> > > >
> > > > #define irq_alloc_desc(node)
> > > >
> > > > So instead of handing in node 0 you hand in node -1 which is
> > > > NUMA_NO_NODE
> > > >
> >
> > Ah. I misread the macros. So we already pass irq=-1.
No matter from the code perspective or from the real test result, this change doesn't make any difference in terms of the issue symptom.
> >
> > >
> > > Agree - am not sure whether it will make any difference.
> > >
> > > > > That *looks* more correct to me based on a cursory glance at the
> > > > > x86 code, but I didn't trawl very deeply.
> > > >
> > > > The x86 core cares not at all about interrupt chips which are
> > > > created in a driver and not connected to an actual apic/ioapic/msi
> > > > interrupt. This interrupt chip is its own thing as we have others in GPIO etc.
> > > >
> > > > > > In the case of not enabling CONFIG_CPUMASK_OFFSTACK, this
> > > > > > would cause kernel panic while doing CPU hotplug.
> > > >
> > > > And why so? Surely not because you set irq_chip_data. That's
> > > > really no explanation at all.
> > > >
> > >
> > > Ideally, I feel there needs to be an irq domain for mapping the irq numbers
> with hwirq.
> > > It is not created as part of the hdmi lpe audio bridge.
> > > Since the logic to mask/unmask lpe audio interrupts is removed,
> > > there is no need of the Chip data or creation of the domain now.
> >
> > There is no need right now. But there might be a need in the future.
> > LPE audio isn't even the only piece of hardware whose irq goes through
> > the i915 display engine (there's also the ISP and VED). So I would
> > much prefer a proper solution instead of sweeping the problem under
> > the rug.
>
> IMO, the primary question is whether the usage of irq chip without irq domain is
> valid or not. If an irq domain is mandatory, that's the thing to be fixed in i915
> side.
In terms of functionality, the interrupt and hdmi audio work fine without irq domain according to the validation. And besides, there are other drivers with similar implementation which doesn't set chip data at all.
>
>
> thanks,
>
> Takashi
More information about the Alsa-devel
mailing list