Hi Biju, CC linux-sh On Fri, Mar 17, 2023 at 10:15 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 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. > > OK. > > > > > 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? > > I think so, by looking at the changes done in tx to make it work on RZ/G2UL. > On RZ/G2UL both rx and tx is broken. > > Not sure SCI is tested ever on SH platform?? > > Can any SH platform person confirm this? SCI is only supported on - sh770x, - sh7750 (excluding rts7751r2d) I know it's not exposed on my landisk, - sh7760, for the SIM-port, which I doubt anyone uses. FTR, I tried the "obvious" thing (remove the rts7751r2d-checks in arch/sh/kernel/cpu/sh4/setup-sh7750.c, and replace sci_br_interrupt as the interrupt handler by sci_tx_interrupt in sh-sci.c), but that didn't make ttySC0 work on qemu/rts7751r2d. 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