From: Matti Vaittinen <matti.vaittinen@fi.rohmeurope.com>
To: Charles Keepax <ckeepax@opensource.cirrus.com>
Cc: mazziesaccount@gmail.com, mikko.mutanen@fi.rohmeurope.com,
heikki.haikola@fi.rohmeurope.com, broonie@kernel.org,
gregkh@linuxfoundation.org, rafael@kernel.org,
linux-kernel@vger.kernel.org, geert@linux-m68k.org
Subject: Re: [PATCH] regmap: regmap-irq: Make irq-type callbak optional
Date: Fri, 4 Jan 2019 14:14:34 +0200 [thread overview]
Message-ID: <20190104121434.GC8865@localhost.localdomain> (raw)
In-Reply-To: <20190104113207.GT16508@imbe.wolfsonmicro.main>
Big thanks for testing this so early Charles =) It's nice to get this
report before I broke things more widely!
On Fri, Jan 04, 2019 at 11:32:07AM +0000, Charles Keepax wrote:
> On Fri, Jan 04, 2019 at 11:14:43AM +0000, Charles Keepax wrote:
> > On Fri, Jan 04, 2019 at 12:31:15PM +0200, Matti Vaittinen wrote:
> > > + if (num_type_reg)
> > > + d->irq_chip.irq_set_type = regmap_irq_set_type;
> > > +
> >
> > Afraid this also causes regressions at my end, still having a bit
> > of a look but it looks like some how this prevents properties of the
> > IRQ getting passed along which causes my system to not probe
> > properly with:
> >
> > genirq: Flags mismatch irq 58. 00002088 (cs35l35) vs. 00002088 (cs35l35)
> > cs35l35 0-0041: Failed to request IRQ: -16
> >
>
> My case is a shared IRQ with 2 amps (cs35l35) connected to a CODEC
> (wm8280).
>
> So looks like the issue is if you don't have a set_type callback
> then the IRQ ends up as IRQF_TRIGGER_NONE, which causes the
> second IRQ to fail the middle check here in __setup_irq:
>
> if (!((old->flags & new->flags) & IRQF_SHARED) ||
> (oldtype != (new->flags & IRQF_TRIGGER_MASK)) ||
> ((old->flags ^ new->flags) & IRQF_ONESHOT)) {
Right. Thanks for pinpointing the issue. This thing is a bit fishy.
There should not be a need for a 'fake type setting callback' when we
have shared IRQ with two or more devices who actually agree on IRQ type
- assuming the HW default irq type is correct.
For me the correct thing would that the HW default type should be
stored in desc and returned by irqd_get_trigger_type instead of
IRQF_TRIGGER_NONE. But I have no idea how that would be nicely
implemented w/o going trough all the irqchips.
The other option would be being more permissive when IRQF_TRIGGER_NONE
is set as oldtype. But I am not feeling like an expert on this area.
> Kinda inclined to just leave the fix as currently submitted and
> just drop this patch? But I can do more testing etc. if we want
> to push further down this road.
Huge thanks for the offer Charles - I do really appreciate the testing.
Touching the IRQ core sounds quite scary to me. Changing it feels risky
and would probably involve bunch of other people too. 10-years ago I
would have taken the challenge and tried to get this "correct" - but
nowadays I have learned to accept some small shortcuts :p
I will gladly follow things and participate the discussions/development
if someone wants to see how this should be done - but I don't think I
have the energy and time to drive this change further... So Mark, please
just drop this patch and keep the original fix unless you want to drive
this further yourself =)
Br,
Matti Vaittinen
>
> Thanks,
> Charles
--
Matti Vaittinen
ROHM Semiconductors
~~~ "I don't think so," said Rene Descartes. Just then, he vanished ~~~
prev parent reply other threads:[~2019-01-04 12:14 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-01-04 10:31 [PATCH] regmap: regmap-irq: Make irq-type callbak optional Matti Vaittinen
2019-01-04 11:14 ` Charles Keepax
2019-01-04 11:32 ` Charles Keepax
2019-01-04 12:14 ` Matti Vaittinen [this message]
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20190104121434.GC8865@localhost.localdomain \
--to=matti.vaittinen@fi.rohmeurope.com \
--cc=broonie@kernel.org \
--cc=ckeepax@opensource.cirrus.com \
--cc=geert@linux-m68k.org \
--cc=gregkh@linuxfoundation.org \
--cc=heikki.haikola@fi.rohmeurope.com \
--cc=linux-kernel@vger.kernel.org \
--cc=mazziesaccount@gmail.com \
--cc=mikko.mutanen@fi.rohmeurope.com \
--cc=rafael@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.