Re: [PATCH v2] pinctrl: samsung: add irq_set_affinity() for non wake up external gpio interrupt

From: Youngmin Nam
Date: Wed Nov 29 2023 - 03:11:54 EST


On Wed, Nov 29, 2023 at 09:00:04AM +0100, Krzysztof Kozlowski wrote:
> On 29/11/2023 08:07, Youngmin Nam wrote:
> > On Tue, Nov 28, 2023 at 03:35:53PM -0600, Sam Protsenko wrote:
> >> On Tue, Nov 28, 2023 at 1:29 AM Krzysztof Kozlowski
> >> <krzysztof.kozlowski@xxxxxxxxxx> wrote:
> >>>
> >>> On 28/11/2023 02:01, Youngmin Nam wrote:
> >>>> On Mon, Nov 27, 2023 at 10:54:56AM +0100, Krzysztof Kozlowski wrote:
> >>>>> On 26/11/2023 10:46, Youngmin Nam wrote:
> >>>>>> To support affinity setting for non wake up external gpio interrupt,
> >>>>>> add irq_set_affinity callback using irq number from pinctrl driver data.
> >>>>>>
> >>>>>> Before this patch, changing the irq affinity of gpio interrupt is not possible:
> >>>>>>
> >>>>>> # cat /proc/irq/418/smp_affinity
> >>>>>> 3ff
> >>>>>> # echo 00f > /proc/irq/418/smp_affinity
> >>>>>
> >>>>> Does this command succeed on your board?
> >>>>>
> >>>> Yes.
> >>>
> >>> Hm, fails all the time one mine.
> >>>
> >>
> >> I tried to test this patch on E850-96, and an attempt to write into
> >> smp_affinity (for some GPIO irq) also fails for me:
> >>
> >> # echo f0 > smp_affinity
> >> -bash: echo: write error: Input/output error
> >>
> >> When I add some pr_err() to exynos_irq_set_affinity(), I can't see
> >> those printed in dmesg. So I guess exynos_irq_set_affinity() doesn't
> >> get called at all. So the error probably happens before
> >> .irq_set_affinity callback gets called.
> >>
> >> Youngmin, can you please try and test this patch on E850-96? This
> >> board is already supported in upstream kernel. For example you can use
> >> "Volume Up" interrupt for the test, which is GPIO irq.
> >>
> >
> > I intened this affinity setting would work only on *Non* Wakeup External Interrupt.
> > The "Volume Up" on E850-96 board is connected with "gpa0-7" and
> > that is Wakeup External interrupt so that we can't test the callback.
> >
> > I couldn't find out a pin for the test on E850-96 board yet.
> > We can test if there is a usage of *Non" Wake up External Interrupt of GPIO
> > on E850-96 board.
> >
> > Do you have any idea ?
>
> Please test on any upstream platform or upstream your existing platform.
> I hesitate to take this change because I don't trust Samsung that this
> was tested on mainline kernel. OK, for sure 100% it was not tested on
> mainline, but I am afraid that differences were far beyond just missing
> platforms. Therefore the issue might or might not exist at all. Maybe
> issue is caused by other Samsung non-upstreamed code.
>
> Best regards,
> Krzysztof

Sure. Let me find how to test on upstreamed device like E850-96 board.
>
>
>