Re: [PATCH] tty: serial: sh-sci: Fix transmit end interrupt handler

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi Biju,

On Fri, Mar 17, 2023 at 9:08 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> > Subject: Re: [PATCH] tty: serial: sh-sci: Fix transmit end interrupt handler
> > On Fri, Mar 17, 2023 at 8:59 AM Biju Das <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> > > > Subject: Re: [PATCH] tty: serial: sh-sci: Fix transmit end interrupt
> > > > handler On Thu, Mar 16, 2023 at 5:34 PM Biju Das
> > <biju.das.jz@xxxxxxxxxxxxxx> wrote:
> > > > > > Subject: Re: [PATCH] tty: serial: sh-sci: Fix transmit end
> > > > > > interrupt handler
> > > >
> > > > > > On Thu, Mar 16, 2023 at 5:01 PM Biju Das
> > > > > > <biju.das.jz@xxxxxxxxxxxxxx>
> > > > wrote:
> > > > > > > The RZ SCI/ RZ/A1 SCIF has only 4 interrupts. The fourth
> > > > > > > interrupt is transmit end interrupt, so shuffle the interrupts
> > > > > > > to fix the transmit end interrupt handler for these IPs.
> > > > > > >
> > > > > > > Fixes: 392fb8df528b ("serial: sh-sci: Use
> > > > > > > platform_get_irq_optional() for optional interrupts")
> > > > > >
> > > > > > I don't think that's the right bad commit.
> > > > >
> > > > > OK. I will use below commit as fixes one, that is the commit which
> > > > > added RZ/A1 SCIF with 4 interrupts.
> > > > >
> > > > > commit 8b0bbd956228ae87 ("serial: sh-sci: Add support for
> > > > > R7S9210")
> > > >
> > > > That one added support for RZ/A2, and is also not the bad commit?
> > >
> > > OK will use below one,
> > >
> > > Fixes: 4c84c1b3acca ("ARM: shmobile: r7s72100: add scif nodes to
> > > dtsi")
> >
> > This really starts to look like a guessing game... Beep ;-)
>
> Already there is a generic compatible in driver, where we started introducing RZ/A1 SoC
> With 4 interrupts. So addition of this SoC has this issue. Am I missing anything here?

The rabbit hole seems to be deeper than I thought...

Looking at the code, the driver always assumed the fourth interrupt
is BRI, which matches the RZ/A1 datasheet for SCIF.
So the 4 IRQ case is really a subset of the 6 IRQ case, and
Documentation/devicetree/bindings/serial/renesas,scif.yaml
is wrong.

However, SCI(g) is the odd one (also on SH): it has TEI as the fourth
IRQ, which I probably missed when doing the json-schema conversion
in commit 384d00fae8e51f8f ("dt-bindings: serial: sh-sci: Convert to
json-schema"), leading to the bug in scif.yaml.

Note that the driver never looks at the interrupt names, but uses
indices exclusively.

So I guess SCI has been broken on SH since forever, too?

Gr{oetje,eeting}s,

                        Geert

-- 
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
                                -- Linus Torvalds



[Index of Archives]     [Linux Samsung SOC]     [Linux Wireless]     [Linux Kernel]     [ATH6KL]     [Linux Bluetooth]     [Linux Netdev]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Samba]     [Device Mapper]

  Powered by Linux