[alsa-devel] [PATCH 4/4] ASoC: ts3a227e: set irq flag base on dmi

Mark Brown broonie at kernel.org
Thu Apr 30 22:08:22 CEST 2015


On Thu, Apr 30, 2015 at 10:45:04AM -0700, Dylan Reid wrote:
> On Wed, Apr 29, 2015 at 6:43 PM,  <yang.a.fang at intel.com> wrote:

> > +static struct ts3a227e_platform_data cyan_platform_data = {
> > +
> > +       .irqflag = IRQF_TRIGGER_FALLING | IRQF_ONESHOT,

> As we discussed internally, using an edge trigger here can lead to
> missed interrupts if another event happens while an interrupt is being
> processed.  I'd investigate getting the level interrupt to work on
> this platform, and only if that is impossible try to make this work
> with an edge interrupt.

TBH given the prevelance of devices out there which only support level
triggered interrupts it probably makes sense to handle this somewhere in
genirq, either generically in a driver that handles whatever bit of the
platform creates the restriction.  At the very least it should probably
be put into a library since it's a bit of a pattern.

There's some workarounds for systems with similar restrictions in a few
of the Wolfson drivers if you want to copy (they do need a GPIO mapping
though IIRC since they do the level trigger in software).
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 473 bytes
Desc: Digital signature
URL: <http://mailman.alsa-project.org/pipermail/alsa-devel/attachments/20150430/f3a94880/attachment-0001.sig>


More information about the Alsa-devel mailing list