* mcp251x hangs during ifup @ 2021-03-01 16:58 Marc Kleine-Budde 2021-03-02 1:40 ` Vincent MAILHOL 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-01 16:58 UTC (permalink / raw) To: Vincent Mailhol; +Cc: ukrfoil, linux-can [-- Attachment #1: Type: text/plain, Size: 1440 bytes --] Hello, in the armbian forum a problem with the mcp215x was reported: https://forum.armbian.com/topic/14909-orange-pi-mcp2515-ip-up-freezes/ In the last comment (Posted Saturday at 10:05 PM) Aleksey posted a mcp251x.c with a workaround. After cleanup the diff looks like this: diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c index f69fb4238a65..6d5fcf5a19a2 100644 --- a/drivers/net/can/spi/mcp251x.c +++ b/drivers/net/can/spi/mcp251x.c @@ -1221,7 +1221,7 @@ static int mcp251x_open(struct net_device *net) INIT_WORK(&priv->tx_work, mcp251x_tx_work_handler); INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler); - ret = mcp251x_hw_wake(spi); + ret = mcp251x_hw_reset(spi); if (ret) goto out_free_wq; ret = mcp251x_setup(net, spi); Vincent, it seems the gpio support has broken the driver on some platforms. Do you have an idea? Is RUNTIME_PM support now mandatory? So that mcp251x_can_suspend() and mcp251x_can_resume() are now always called, does the driver break if those functions are not compiled into the kernel? regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply related [flat|nested] 10+ messages in thread
* Re: mcp251x hangs during ifup 2021-03-01 16:58 mcp251x hangs during ifup Marc Kleine-Budde @ 2021-03-02 1:40 ` Vincent MAILHOL 2021-03-02 7:19 ` Marc Kleine-Budde 0 siblings, 1 reply; 10+ messages in thread From: Vincent MAILHOL @ 2021-03-02 1:40 UTC (permalink / raw) To: Marc Kleine-Budde, Timo Schlüßler; +Cc: ukrfoil, linux-can Hi Marc, On Tue. 2 Mar 2021 at 01:58, Marc Kleine-Budde <mkl@pengutronix.de> wrote: > > Hello, > > in the armbian forum a problem with the mcp215x was reported: > > https://forum.armbian.com/topic/14909-orange-pi-mcp2515-ip-up-freezes/ > > In the last comment (Posted Saturday at 10:05 PM) Aleksey posted a > mcp251x.c with a workaround. After cleanup the diff looks like this: > > diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c > index f69fb4238a65..6d5fcf5a19a2 100644 > --- a/drivers/net/can/spi/mcp251x.c > +++ b/drivers/net/can/spi/mcp251x.c > @@ -1221,7 +1221,7 @@ static int mcp251x_open(struct net_device *net) > INIT_WORK(&priv->tx_work, mcp251x_tx_work_handler); > INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler); > - ret = mcp251x_hw_wake(spi); > + ret = mcp251x_hw_reset(spi); > if (ret) > goto out_free_wq; > ret = mcp251x_setup(net, spi); > > Vincent, it seems the gpio support has broken the driver on some > platforms. Do you have an idea? This mcp251x_hw_wake() function was introduced in below commit: 8ce8c0abcba3 ("can: mcp251x: only reset hardware as required") https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8ce8c0abcba314e1fe954a1840f6568bf5aef2ef The GPIO support was then introduced later on in below commit: 2d52dabbef60 ("can: mcp251x: add GPIO support") https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2d52dabbef60da91b72617519495fe77b621e6b8 I am adding Timo to the loop. He is the author of the two commits above. I think he will be of better support than me here :) > Is RUNTIME_PM support now mandatory? So that mcp251x_can_suspend() and > mcp251x_can_resume() are now always called, does the driver break if > those functions are not compiled into the kernel? ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: mcp251x hangs during ifup 2021-03-02 1:40 ` Vincent MAILHOL @ 2021-03-02 7:19 ` Marc Kleine-Budde 2021-03-02 8:28 ` Schlüßler, Timo 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-02 7:19 UTC (permalink / raw) To: Vincent MAILHOL; +Cc: Timo Schlüßler, ukrfoil, linux-can [-- Attachment #1: Type: text/plain, Size: 2261 bytes --] On 02.03.2021 10:40:21, Vincent MAILHOL wrote: > On Tue. 2 Mar 2021 at 01:58, Marc Kleine-Budde <mkl@pengutronix.de> wrote: > > > > Hello, > > > > in the armbian forum a problem with the mcp215x was reported: > > > > https://forum.armbian.com/topic/14909-orange-pi-mcp2515-ip-up-freezes/ > > > > In the last comment (Posted Saturday at 10:05 PM) Aleksey posted a > > mcp251x.c with a workaround. After cleanup the diff looks like this: > > > > diff --git a/drivers/net/can/spi/mcp251x.c b/drivers/net/can/spi/mcp251x.c > > index f69fb4238a65..6d5fcf5a19a2 100644 > > --- a/drivers/net/can/spi/mcp251x.c > > +++ b/drivers/net/can/spi/mcp251x.c > > @@ -1221,7 +1221,7 @@ static int mcp251x_open(struct net_device *net) > > INIT_WORK(&priv->tx_work, mcp251x_tx_work_handler); > > INIT_WORK(&priv->restart_work, mcp251x_restart_work_handler); > > - ret = mcp251x_hw_wake(spi); > > + ret = mcp251x_hw_reset(spi); > > if (ret) > > goto out_free_wq; > > ret = mcp251x_setup(net, spi); > > > > Vincent, it seems the gpio support has broken the driver on some > > platforms. Do you have an idea? > > This mcp251x_hw_wake() function was introduced in below commit: > 8ce8c0abcba3 ("can: mcp251x: only reset hardware as required") > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=8ce8c0abcba314e1fe954a1840f6568bf5aef2ef > > The GPIO support was then introduced later on in below commit: > 2d52dabbef60 ("can: mcp251x: add GPIO support") > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/?id=2d52dabbef60da91b72617519495fe77b621e6b8 > > I am adding Timo to the loop. He is the author of the two commits above. > I think he will be of better support than me here :) Of course I wanted to add Timo, thanks. I think I've picked your e-mail, as you've done the newest change on the driver after me :) Sorry for the noise. regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: mcp251x hangs during ifup 2021-03-02 7:19 ` Marc Kleine-Budde @ 2021-03-02 8:28 ` Schlüßler, Timo [not found] ` <CACGOs=TG4jyXKHBfPGDEJp1gSA+PyNVqCM7grPGMpe9+wYDBLA@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Schlüßler, Timo @ 2021-03-02 8:28 UTC (permalink / raw) To: 'Marc Kleine-Budde', Vincent MAILHOL; +Cc: ukrfoil@gmail.com, linux-can On 02.03.2021 08:19:00, Marc wrote: > On 02.03.2021 10:40:21, Vincent MAILHOL wrote: > > This mcp251x_hw_wake() function was introduced in below commit: > > 8ce8c0abcba3 ("can: mcp251x: only reset hardware as required") > > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/com > > mit/?id=8ce8c0abcba314e1fe954a1840f6568bf5aef2ef > > I am adding Timo to the loop. He is the author of the two commits above. > > I think he will be of better support than me here :) > Of course I wanted to add Timo, thanks. I think I've picked your e-mail, as you've done the newest change on the driver after me :) This CAN controller demands a software reset after power on which is done in mcp251x_can_probe -> mcp251x_hw_probe. Since then resets are only performed when the power to the controller has been disabled. E.g. when mcp251x_can_suspend is called, power is turned off and by setting AFTER_SUSPEND_POWER in priv->after_suspend it will be reenabled and reset in mcp251x_can_resume and mcp251x_restart_work_handler. Could it be that mcp251x_can_probe does not get called in any configuration? Or could it be that the controller gets power cycled during operation with these Orange Pi boards? Regards Timo ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CACGOs=TG4jyXKHBfPGDEJp1gSA+PyNVqCM7grPGMpe9+wYDBLA@mail.gmail.com>]
* Re: mcp251x hangs during ifup [not found] ` <CACGOs=TG4jyXKHBfPGDEJp1gSA+PyNVqCM7grPGMpe9+wYDBLA@mail.gmail.com> @ 2021-03-03 7:26 ` Marc Kleine-Budde [not found] ` <CACGOs=TJhoV99D=V-7xa8LG6Ftx8SWUO_XCHGAP3L1_UGLVm3w@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-03 7:26 UTC (permalink / raw) To: ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Schlüßler, Timo, Vincent MAILHOL, linux-can [-- Attachment #1: Type: text/plain, Size: 1277 bytes --] On 02.03.2021 22:10:49, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: > The reason for the terminal freezing on these boards (as an example of > Nanopi NEO) occurs in this function when trying to disable interrupts > disable_irq(spi->irq); If you comment out this given call, the hangs > do not occur. Nice debugging! Can you give us the complete device tree and the output of: cat /proc/interrupts Maybe there's a shared interrupt that's vital for your system. One note: | can0: can@0 { | reg = <0>; | compatible = "microchip,mcp2515"; | pinctrl-names = "default"; | pinctrl-0 = <&can0_pin_irq>; | interrupt-parent = <&pio>; | interrupts = <6 8 IRQ_TYPE_EDGE_FALLING>; You better use IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING, but that's unrelated to this problem. | clocks = <&can0_osc_fixed>; | spi-max-frequency = <10000000>; | gpio-controller; | gpio-cells = <2>; | status = "okay"; | }; regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CACGOs=TJhoV99D=V-7xa8LG6Ftx8SWUO_XCHGAP3L1_UGLVm3w@mail.gmail.com>]
* Re: mcp251x hangs during ifup [not found] ` <CACGOs=TJhoV99D=V-7xa8LG6Ftx8SWUO_XCHGAP3L1_UGLVm3w@mail.gmail.com> @ 2021-03-03 7:48 ` Marc Kleine-Budde [not found] ` <CACGOs=SOxiN1PKhZvhTizH92vneKUOfjxL+9fg4-=JmHHgYtNw@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-03 7:48 UTC (permalink / raw) To: ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Schlüßler, Timo, Vincent MAILHOL, linux-can [-- Attachment #1: Type: text/plain, Size: 6149 bytes --] On 03.03.2021 09:44:54, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: | root@nanopi-neo:~#cat /proc/interrupts | CPU0 CPU1 CPU2 CPU3 | 25: 0 0 0 0 GICv2 50 Level timer@1c20c00 | 26: 0 0 0 0 GICv2 29 Level arch_timer | 27: 1696369 3348041 3820461 82777 GICv2 30 Level arch_timer | 30: 0 0 0 0 GICv2 82 Level 1c02000.dma-controller | 32: 5404 0 0 0 GICv2 92 Level sunxi-mmc | 34: 0 0 0 0 GICv2 103 Level musb-hdrc.2.auto | 35: 0 0 0 0 GICv2 104 Level ehci_hcd:usb1 | 36: 0 0 0 0 GICv2 105 Level ohci_hcd:usb2 | 37: 0 0 0 0 GICv2 110 Level ehci_hcd:usb3 | 38: 0 0 0 0 GICv2 111 Level ohci_hcd:usb4 | 42: 9952 0 0 0 GICv2 114 Level eth0 | 43: 4 0 0 0 GICv2 97 Level sun6i-spi | 46: 49 0 0 0 GICv2 32 Level ttyS0 | 47: 211302239 0 0 0 GICv2 38 Level mv64xxx_i2c | 48: 18992623 0 0 0 GICv2 39 Level mv64xxx_i2c | 49: 0 0 0 0 GICv2 72 Level 1f00000.rtc | 63: 0 0 0 0 GICv2 152 Level arm-pmu | 64: 0 0 0 0 GICv2 153 Level arm-pmu | 65: 0 0 0 0 GICv2 154 Level arm-pmu | 66: 0 0 0 0 GICv2 155 Level arm-pmu | 111: 1 0 0 0 sunxi_pio_edge 44 Edge usb0-id-det | IPI0: 0 0 0 0 CPU wakeup interrupts | IPI1: 0 0 0 0 Timer broadcast interrupts | IPI2: 47 88 79 82 Rescheduling interrupts | IPI3: 304963 2353917 362091 1661 Function call interrupts | IPI4: 0 0 0 0 CPU stop interrupts | IPI5: 0 0 0 0 IRQ work interrupts | IPI6: 0 0 0 0 completion interrupts | Err: 0 [...] | root@nanopi-neo:~#cat /proc/interrupts | CPU0 CPU1 CPU2 CPU3 | 25: 0 0 0 0 GICv2 50 Level timer@1c20c00 | 26: 0 0 0 0 GICv2 29 Level arch_timer | 27: 1711040 3437940 3850320 84900 GICv2 30 Level arch_timer | 30: 0 0 0 0 GICv2 82 Level 1c02000.dma-controller | 32: 5516 0 0 0 GICv2 92 Level sunxi-mmc | 34: 0 0 0 0 GICv2 103 Level musb-hdrc.2.auto | 35: 0 0 0 0 GICv2 104 Level ehci_hcd:usb1 | 36: 0 0 0 0 GICv2 105 Level ohci_hcd:usb2 | 37: 0 0 0 0 GICv2 110 Level ehci_hcd:usb3 | 38: 0 0 0 0 GICv2 111 Level ohci_hcd:usb4 | 42: 10190 0 0 0 GICv2 114 Level eth0 | 43: 18 0 0 0 GICv2 97 Level sun6i-spi | 46: 49 0 0 0 GICv2 32 Level ttyS0 | 47: 214592622 0 0 0 GICv2 38 Level mv64xxx_i2c | 48: 19314189 0 0 0 GICv2 39 Level mv64xxx_i2c | 49: 0 0 0 0 GICv2 72 Level 1f00000.rtc | 63: 0 0 0 0 GICv2 152 Level arm-pmu | 64: 0 0 0 0 GICv2 153 Level arm-pmu | 65: 0 0 0 0 GICv2 154 Level arm-pmu | 66: 0 0 0 0 GICv2 155 Level arm-pmu | 107: 1 0 0 0 sunxi_pio_edge 40 Edge spi0.0 | 111: 1 0 0 0 sunxi_pio_edge 44 Edge usb0-id-det | IPI0: 0 0 0 0 CPU wakeup interrupts | IPI1: 0 0 0 0 Timer broadcast interrupts | IPI2: 48 88 85 83 Rescheduling interrupts | IPI3: 305542 2828247 362982 1704 Function call interrupts | IPI4: 0 0 0 0 CPU stop interrupts | IPI5: 0 0 0 0 IRQ work interrupts | IPI6: 0 0 0 0 completion interrupts | Err: 0 That looks good, the IRQ is not shared. Can you test again with IRQ_TYPE_EDGE_FALLING in the DT instead of IRQ_TYPE_LEVEL_LOW? | can0: can@0 { | reg = <0>; | compatible = "microchip,mcp2515"; | pinctrl-names = "default"; | pinctrl-0 = <&can0_pin_irq>; | interrupt-parent = <&pio>; | interrupts = <6 8 IRQ_TYPE_EDGE_FALLING>; You better use IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING, but that's unrelated to this problem. | clocks = <&can0_osc_fixed>; | spi-max-frequency = <10000000>; | gpio-controller; | gpio-cells = <2>; | status = "okay"; | }; regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CACGOs=SOxiN1PKhZvhTizH92vneKUOfjxL+9fg4-=JmHHgYtNw@mail.gmail.com>]
* Re: mcp251x hangs during ifup [not found] ` <CACGOs=SOxiN1PKhZvhTizH92vneKUOfjxL+9fg4-=JmHHgYtNw@mail.gmail.com> @ 2021-03-03 8:08 ` Marc Kleine-Budde [not found] ` <CACGOs=SSEvb=5AG9a7dSpOuiaq-wX+FLe3NAMEtKcMFdwJx8Pw@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-03 8:08 UTC (permalink / raw) To: ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Schlüßler, Timo, Vincent MAILHOL, linux-can [-- Attachment #1: Type: text/plain, Size: 1316 bytes --] On 03.03.2021 10:00:47, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: > this with the IRQ_TYPE_EDGE_FALLING value > > That looks good, the IRQ is not shared. Can you test again with > > IRQ_TYPE_EDGE_FALLING in the DT instead of IRQ_TYPE_LEVEL_LOW? Doh! Need more coffee. Of course I mean try with IRQ_TYPE_LEVEL_LOW and check if the unmodified mcp2515 driver with disable_irq() does work then. > > > > | can0: can@0 { > > | reg = <0>; > > | compatible = "microchip,mcp2515"; > > | pinctrl-names = "default"; > > | pinctrl-0 = <&can0_pin_irq>; > > | interrupt-parent = <&pio>; > > | interrupts = <6 8 IRQ_TYPE_EDGE_FALLING>; > > > > You better use IRQ_TYPE_LEVEL_LOW instead of IRQ_TYPE_EDGE_FALLING, but > > that's unrelated to this problem. > > > > | clocks = <&can0_osc_fixed>; > > | spi-max-frequency = <10000000>; > > | gpio-controller; > > | gpio-cells = <2>; > > | status = "okay"; > > | }; Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CACGOs=SSEvb=5AG9a7dSpOuiaq-wX+FLe3NAMEtKcMFdwJx8Pw@mail.gmail.com>]
* Re: mcp251x hangs during ifup [not found] ` <CACGOs=SSEvb=5AG9a7dSpOuiaq-wX+FLe3NAMEtKcMFdwJx8Pw@mail.gmail.com> @ 2021-03-03 8:33 ` Marc Kleine-Budde 2021-03-03 9:40 ` Schlüßler, Timo 0 siblings, 1 reply; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-03 8:33 UTC (permalink / raw) To: ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Schlüßler, Timo, Vincent MAILHOL, linux-can [-- Attachment #1: Type: text/plain, Size: 577 bytes --] On 03.03.2021 10:24:56, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: > I've tried this and that before - the effect is the same, I'll > double-check it again later. Thanks. Timo, can you change the routine to keep the interrupts enabled? regards, Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
* RE: mcp251x hangs during ifup 2021-03-03 8:33 ` Marc Kleine-Budde @ 2021-03-03 9:40 ` Schlüßler, Timo [not found] ` <CACGOs=Ry7DtLooobKzuK7PWLOaWVnawMNTkErKC8e4OJKjNJPQ@mail.gmail.com> 0 siblings, 1 reply; 10+ messages in thread From: Schlüßler, Timo @ 2021-03-03 9:40 UTC (permalink / raw) To: 'Marc Kleine-Budde', ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Vincent MAILHOL, linux-can On 03.03.2021 09:34, Marc Kleine-Budde wrote: > Timo, can you change the routine to keep the interrupts enabled? I think it should be possible by ignoring the interrupt in the handler itself. As far as I remember disabling the interrupts was implemented in the driver even before I added the GPIO support, so I don't know exactly why it was made like this. Maybe later this week I can have a closer look into this. Regards Timo ^ permalink raw reply [flat|nested] 10+ messages in thread
[parent not found: <CACGOs=Ry7DtLooobKzuK7PWLOaWVnawMNTkErKC8e4OJKjNJPQ@mail.gmail.com>]
* Re: mcp251x hangs during ifup [not found] ` <CACGOs=Ry7DtLooobKzuK7PWLOaWVnawMNTkErKC8e4OJKjNJPQ@mail.gmail.com> @ 2021-03-03 21:19 ` Marc Kleine-Budde 0 siblings, 0 replies; 10+ messages in thread From: Marc Kleine-Budde @ 2021-03-03 21:19 UTC (permalink / raw) To: ukrfoil.com, Cтудиопак Украина, Восточный регион Cc: Schlüßler, Timo, Vincent MAILHOL, linux-can [-- Attachment #1: Type: text/plain, Size: 1072 bytes --] On 03.03.2021 20:46:25, ukrfoil.com, Cтудиопак Украина, Восточный регион wrote: > You have set IRQ_TYPE_LEVEL_LOW correctly > > After installation and with the default driver, everything works, > there is no hang. \o/ > It looks like I was wrong in my experiments, I was led astray, there > is a lot of information on the Internet about setting > IRQ_TYPE_EDGE_FALLING as correct. Therefore, I apologize for the time > spent solving this problem. Thanks for the help. No problem! > data after changing to IRQ_TYPE_LEVEL_LOW > > root@nanopi-neo:~#cat /proc/interrupts > > CPU0 CPU1 CPU2 CPU3 > > 107: 0 0 0 0 sunxi_pio_level 40 Level spi0.0 This looks consistent. Marc -- Pengutronix e.K. | Marc Kleine-Budde | Embedded Linux | https://www.pengutronix.de | Vertretung West/Dortmund | Phone: +49-231-2826-924 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 488 bytes --] ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2021-03-04 0:27 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2021-03-01 16:58 mcp251x hangs during ifup Marc Kleine-Budde
2021-03-02 1:40 ` Vincent MAILHOL
2021-03-02 7:19 ` Marc Kleine-Budde
2021-03-02 8:28 ` Schlüßler, Timo
[not found] ` <CACGOs=TG4jyXKHBfPGDEJp1gSA+PyNVqCM7grPGMpe9+wYDBLA@mail.gmail.com>
2021-03-03 7:26 ` Marc Kleine-Budde
[not found] ` <CACGOs=TJhoV99D=V-7xa8LG6Ftx8SWUO_XCHGAP3L1_UGLVm3w@mail.gmail.com>
2021-03-03 7:48 ` Marc Kleine-Budde
[not found] ` <CACGOs=SOxiN1PKhZvhTizH92vneKUOfjxL+9fg4-=JmHHgYtNw@mail.gmail.com>
2021-03-03 8:08 ` Marc Kleine-Budde
[not found] ` <CACGOs=SSEvb=5AG9a7dSpOuiaq-wX+FLe3NAMEtKcMFdwJx8Pw@mail.gmail.com>
2021-03-03 8:33 ` Marc Kleine-Budde
2021-03-03 9:40 ` Schlüßler, Timo
[not found] ` <CACGOs=Ry7DtLooobKzuK7PWLOaWVnawMNTkErKC8e4OJKjNJPQ@mail.gmail.com>
2021-03-03 21:19 ` Marc Kleine-Budde
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox