* [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
@ 2019-12-10 9:00 Joakim Zhang
2019-12-10 9:00 ` [PATCH V2 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
` (2 more replies)
0 siblings, 3 replies; 8+ messages in thread
From: Joakim Zhang @ 2019-12-10 9:00 UTC (permalink / raw)
To: mkl, sean, linux-can; +Cc: dl-linux-imx, netdev, Joakim Zhang
Had better disable runtime PM if register flexcandev failed.
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
------
ChangeLog:
V1->V2: *no change.
---
drivers/net/can/flexcan.c | 2 ++
1 file changed, 2 insertions(+)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 3a754355ebe6..6c1ccf9f6c08 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1681,6 +1681,8 @@ static int flexcan_probe(struct platform_device *pdev)
return 0;
failed_register:
+ pm_runtime_put_noidle(&pdev->dev);
+ pm_runtime_disable(&pdev->dev);
free_candev(dev);
return err;
}
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* [PATCH V2 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 9:00 [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
@ 2019-12-10 9:00 ` Joakim Zhang
2019-12-18 14:00 ` Sean Nyekjaer
2019-12-17 6:36 ` [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-18 14:00 ` Sean Nyekjaer
2 siblings, 1 reply; 8+ messages in thread
From: Joakim Zhang @ 2019-12-10 9:00 UTC (permalink / raw)
To: mkl, sean, linux-can; +Cc: dl-linux-imx, netdev, Joakim Zhang
Disable clocks during CAN in stop mode.
Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
------
ChangeLog:
V1->V2: * moving the pm_runtime_force_suspend() call for both
cases "device_may_wakeup()" and "!device_may_wakeup()" into the
flexcan_noirq_suspend() handler
---
drivers/net/can/flexcan.c | 32 +++++++++++++++++++-------------
1 file changed, 19 insertions(+), 13 deletions(-)
diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
index 6c1ccf9f6c08..63b2f47635cf 100644
--- a/drivers/net/can/flexcan.c
+++ b/drivers/net/can/flexcan.c
@@ -1718,10 +1718,6 @@ static int __maybe_unused flexcan_suspend(struct device *device)
if (err)
return err;
- err = pm_runtime_force_suspend(device);
- if (err)
- return err;
-
err = pinctrl_pm_select_sleep_state(device);
if (err)
return err;
@@ -1751,10 +1747,6 @@ static int __maybe_unused flexcan_resume(struct device *device)
if (err)
return err;
- err = pm_runtime_force_resume(device);
- if (err)
- return err;
-
err = flexcan_chip_start(dev);
if (err)
return err;
@@ -1786,9 +1778,16 @@ static int __maybe_unused flexcan_noirq_suspend(struct device *device)
{
struct net_device *dev = dev_get_drvdata(device);
struct flexcan_priv *priv = netdev_priv(dev);
+ int err;
- if (netif_running(dev) && device_may_wakeup(device))
- flexcan_enable_wakeup_irq(priv, true);
+ if (netif_running(dev)) {
+ if (device_may_wakeup(device))
+ flexcan_enable_wakeup_irq(priv, true);
+
+ err = pm_runtime_force_suspend(device);
+ if (err)
+ return err;
+ }
return 0;
}
@@ -1799,11 +1798,18 @@ static int __maybe_unused flexcan_noirq_resume(struct device *device)
struct flexcan_priv *priv = netdev_priv(dev);
int err;
- if (netif_running(dev) && device_may_wakeup(device)) {
- flexcan_enable_wakeup_irq(priv, false);
- err = flexcan_exit_stop_mode(priv);
+ if (netif_running(dev)) {
+ err = pm_runtime_force_resume(device);
if (err)
return err;
+
+ if (device_may_wakeup(device)) {
+ flexcan_enable_wakeup_irq(priv, false);
+
+ err = flexcan_exit_stop_mode(priv);
+ if (err)
+ return err;
+ }
}
return 0;
--
2.17.1
^ permalink raw reply related [flat|nested] 8+ messages in thread
* RE: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
2019-12-10 9:00 [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-10 9:00 ` [PATCH V2 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
@ 2019-12-17 6:36 ` Joakim Zhang
2019-12-18 14:03 ` Sean Nyekjaer
2019-12-18 14:00 ` Sean Nyekjaer
2 siblings, 1 reply; 8+ messages in thread
From: Joakim Zhang @ 2019-12-17 6:36 UTC (permalink / raw)
To: mkl, sean, linux-can; +Cc: dl-linux-imx, netdev
Hi Sean,
Have you found time to test this patch set? Thanks :-)
Best Regards,
Joakim Zhang
> -----Original Message-----
> From: Joakim Zhang <qiangqing.zhang@nxp.com>
> Sent: 2019年12月10日 17:00
> To: mkl@pengutronix.de; sean@geanix.com; linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org; Joakim Zhang
> <qiangqing.zhang@nxp.com>
> Subject: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev
> failed
>
> Had better disable runtime PM if register flexcandev failed.
>
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
> ------
> ChangeLog:
> V1->V2: *no change.
> ---
> drivers/net/can/flexcan.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c index
> 3a754355ebe6..6c1ccf9f6c08 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -1681,6 +1681,8 @@ static int flexcan_probe(struct platform_device
> *pdev)
> return 0;
>
> failed_register:
> + pm_runtime_put_noidle(&pdev->dev);
> + pm_runtime_disable(&pdev->dev);
> free_candev(dev);
> return err;
> }
> --
> 2.17.1
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
2019-12-10 9:00 [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-10 9:00 ` [PATCH V2 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
2019-12-17 6:36 ` [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
@ 2019-12-18 14:00 ` Sean Nyekjaer
2 siblings, 0 replies; 8+ messages in thread
From: Sean Nyekjaer @ 2019-12-18 14:00 UTC (permalink / raw)
To: Joakim Zhang, mkl, linux-can; +Cc: dl-linux-imx, netdev
On 10/12/2019 10.00, Joakim Zhang wrote:
> Had better disable runtime PM if register flexcandev failed.
>
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Tested-by: Sean Nyekjaer <sean@geanix.com>
> ------
> ChangeLog:
> V1->V2: *no change.
> ---
> drivers/net/can/flexcan.c | 2 ++
> 1 file changed, 2 insertions(+)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index 3a754355ebe6..6c1ccf9f6c08 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -1681,6 +1681,8 @@ static int flexcan_probe(struct platform_device *pdev)
> return 0;
>
> failed_register:
> + pm_runtime_put_noidle(&pdev->dev);
> + pm_runtime_disable(&pdev->dev);
> free_candev(dev);
> return err;
> }
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 2/2] can: flexcan: disable clocks during stop mode
2019-12-10 9:00 ` [PATCH V2 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
@ 2019-12-18 14:00 ` Sean Nyekjaer
0 siblings, 0 replies; 8+ messages in thread
From: Sean Nyekjaer @ 2019-12-18 14:00 UTC (permalink / raw)
To: Joakim Zhang, mkl, linux-can; +Cc: dl-linux-imx, netdev
On 10/12/2019 10.00, Joakim Zhang wrote:
> Disable clocks during CAN in stop mode.
>
> Signed-off-by: Joakim Zhang <qiangqing.zhang@nxp.com>
Tested-by: Sean Nyekjaer <sean@geanix.com>
> ------
> ChangeLog:
> V1->V2: * moving the pm_runtime_force_suspend() call for both
> cases "device_may_wakeup()" and "!device_may_wakeup()" into the
> flexcan_noirq_suspend() handler
> ---
> drivers/net/can/flexcan.c | 32 +++++++++++++++++++-------------
> 1 file changed, 19 insertions(+), 13 deletions(-)
>
> diff --git a/drivers/net/can/flexcan.c b/drivers/net/can/flexcan.c
> index 6c1ccf9f6c08..63b2f47635cf 100644
> --- a/drivers/net/can/flexcan.c
> +++ b/drivers/net/can/flexcan.c
> @@ -1718,10 +1718,6 @@ static int __maybe_unused flexcan_suspend(struct device *device)
> if (err)
> return err;
>
> - err = pm_runtime_force_suspend(device);
> - if (err)
> - return err;
> -
> err = pinctrl_pm_select_sleep_state(device);
> if (err)
> return err;
> @@ -1751,10 +1747,6 @@ static int __maybe_unused flexcan_resume(struct device *device)
> if (err)
> return err;
>
> - err = pm_runtime_force_resume(device);
> - if (err)
> - return err;
> -
> err = flexcan_chip_start(dev);
> if (err)
> return err;
> @@ -1786,9 +1778,16 @@ static int __maybe_unused flexcan_noirq_suspend(struct device *device)
> {
> struct net_device *dev = dev_get_drvdata(device);
> struct flexcan_priv *priv = netdev_priv(dev);
> + int err;
>
> - if (netif_running(dev) && device_may_wakeup(device))
> - flexcan_enable_wakeup_irq(priv, true);
> + if (netif_running(dev)) {
> + if (device_may_wakeup(device))
> + flexcan_enable_wakeup_irq(priv, true);
> +
> + err = pm_runtime_force_suspend(device);
> + if (err)
> + return err;
> + }
>
> return 0;
> }
> @@ -1799,11 +1798,18 @@ static int __maybe_unused flexcan_noirq_resume(struct device *device)
> struct flexcan_priv *priv = netdev_priv(dev);
> int err;
>
> - if (netif_running(dev) && device_may_wakeup(device)) {
> - flexcan_enable_wakeup_irq(priv, false);
> - err = flexcan_exit_stop_mode(priv);
> + if (netif_running(dev)) {
> + err = pm_runtime_force_resume(device);
> if (err)
> return err;
> +
> + if (device_may_wakeup(device)) {
> + flexcan_enable_wakeup_irq(priv, false);
> +
> + err = flexcan_exit_stop_mode(priv);
> + if (err)
> + return err;
> + }
> }
>
> return 0;
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* Re: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
2019-12-17 6:36 ` [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
@ 2019-12-18 14:03 ` Sean Nyekjaer
2019-12-19 4:59 ` Joakim Zhang
0 siblings, 1 reply; 8+ messages in thread
From: Sean Nyekjaer @ 2019-12-18 14:03 UTC (permalink / raw)
To: Joakim Zhang, mkl, linux-can; +Cc: dl-linux-imx, netdev
On 17/12/2019 07.36, Joakim Zhang wrote:
>
> Hi Sean,
>
> Have you found time to test this patch set? Thanks :-)
>
> Best Regards,
> Joakim Zhang
>
Hi Joakim
Sorry for the delay :)
I have tested this patchset and found no issues...
Just a heads up when adding "ChangeLog:" do it under the "---" and above
the diff. That way the ChangeLog doesn't end up in the commit msg...
/Sean
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
2019-12-18 14:03 ` Sean Nyekjaer
@ 2019-12-19 4:59 ` Joakim Zhang
2020-01-03 7:37 ` Joakim Zhang
0 siblings, 1 reply; 8+ messages in thread
From: Joakim Zhang @ 2019-12-19 4:59 UTC (permalink / raw)
To: Sean Nyekjaer, mkl, linux-can; +Cc: dl-linux-imx, netdev
> -----Original Message-----
> From: Sean Nyekjaer <sean@geanix.com>
> Sent: 2019年12月18日 22:04
> To: Joakim Zhang <qiangqing.zhang@nxp.com>; mkl@pengutronix.de;
> linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: Re: [PATCH V2 1/2] can: flexcan: disable runtime PM if register
> flexcandev failed
>
>
>
> On 17/12/2019 07.36, Joakim Zhang wrote:
> >
> > Hi Sean,
> >
> > Have you found time to test this patch set? Thanks :-)
> >
> > Best Regards,
> > Joakim Zhang
> >
>
> Hi Joakim
>
> Sorry for the delay :)
>
> I have tested this patchset and found no issues...
Thanks a lot for your test, Sean :-)
> Just a heads up when adding "ChangeLog:" do it under the "---" and above the
> diff. That way the ChangeLog doesn't end up in the commit msg...
I will keep in mind, pay attention to it next time.
Best Regards,
Joakim Zhang
> /Sean
>
^ permalink raw reply [flat|nested] 8+ messages in thread
* RE: [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed
2019-12-19 4:59 ` Joakim Zhang
@ 2020-01-03 7:37 ` Joakim Zhang
0 siblings, 0 replies; 8+ messages in thread
From: Joakim Zhang @ 2020-01-03 7:37 UTC (permalink / raw)
To: Sean Nyekjaer, mkl, linux-can; +Cc: dl-linux-imx, netdev
> -----Original Message-----
> From: Joakim Zhang <qiangqing.zhang@nxp.com>
> Sent: 2019年12月19日 13:00
> To: Sean Nyekjaer <sean@geanix.com>; mkl@pengutronix.de;
> linux-can@vger.kernel.org
> Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> Subject: RE: [PATCH V2 1/2] can: flexcan: disable runtime PM if register
> flexcandev failed
>
>
> > -----Original Message-----
> > From: Sean Nyekjaer <sean@geanix.com>
> > Sent: 2019年12月18日 22:04
> > To: Joakim Zhang <qiangqing.zhang@nxp.com>; mkl@pengutronix.de;
> > linux-can@vger.kernel.org
> > Cc: dl-linux-imx <linux-imx@nxp.com>; netdev@vger.kernel.org
> > Subject: Re: [PATCH V2 1/2] can: flexcan: disable runtime PM if
> > register flexcandev failed
> >
> >
> >
> > On 17/12/2019 07.36, Joakim Zhang wrote:
> > >
> > > Hi Sean,
> > >
> > > Have you found time to test this patch set? Thanks :-)
> > >
> > > Best Regards,
> > > Joakim Zhang
> > >
> >
> > Hi Joakim
> >
> > Sorry for the delay :)
> >
> > I have tested this patchset and found no issues...
> Thanks a lot for your test, Sean :-)
>
> > Just a heads up when adding "ChangeLog:" do it under the "---" and
> > above the diff. That way the ChangeLog doesn't end up in the commit msg...
> I will keep in mind, pay attention to it next time.
>
> Best Regards,
> Joakim Zhang
> > /Sean
> >
Hi Marc,
How about this patch set? Sean has already test it.
And when you plan to send Flexcan FD related patched to mainline, since it is pending on linux-can-next/flexcan branch for a long time. Could it go into v5.6 kernel? Thanks a lot :-)
Marc, Sean, you are all CAN experts. A question confused me for a long time, is that why CAN must need a transceiver to convert digital signal to differential signal? Why CAN cannot communicate with digital signal?
Could you give me a simple explanation? Thanks.
Best Regards,
Joakim Zhang
^ permalink raw reply [flat|nested] 8+ messages in thread
end of thread, other threads:[~2020-01-03 7:37 UTC | newest]
Thread overview: 8+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2019-12-10 9:00 [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-10 9:00 ` [PATCH V2 2/2] can: flexcan: disable clocks during stop mode Joakim Zhang
2019-12-18 14:00 ` Sean Nyekjaer
2019-12-17 6:36 ` [PATCH V2 1/2] can: flexcan: disable runtime PM if register flexcandev failed Joakim Zhang
2019-12-18 14:03 ` Sean Nyekjaer
2019-12-19 4:59 ` Joakim Zhang
2020-01-03 7:37 ` Joakim Zhang
2019-12-18 14:00 ` Sean Nyekjaer
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).