* 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, 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
* 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
* 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
* 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
* 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
* 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 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.