From: Roger Quadros <rogerq@kernel.org>
To: davem@davemloft.net, kuba@kernel.org
Cc: edumazet@google.com, pabeni@redhat.com, vigneshr@ti.com,
linux-omap@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org, Roger Quadros <rogerq@kernel.org>
Subject: [PATCH v2 3/4] net: ethernet: ti: am65-cpsw: Restore ALE only if any interface was up
Date: Mon, 21 Nov 2022 16:22:59 +0200 [thread overview]
Message-ID: <20221121142300.9320-4-rogerq@kernel.org> (raw)
In-Reply-To: <20221121142300.9320-1-rogerq@kernel.org>
There is no point in restoring ALE if all interfaces were down
prior to suspend as ALE will be cleared when any interface is
brought up.
So restore ALE only if any interface was up before system suspended.
Fixes: 1af3cb3702d0 ("net: ethernet: ti: am65-cpsw: Fix hardware switch mode on suspend/resume")
Signed-off-by: Roger Quadros <rogerq@kernel.org>
---
drivers/net/ethernet/ti/am65-cpsw-nuss.c | 5 ++++-
1 file changed, 4 insertions(+), 1 deletion(-)
diff --git a/drivers/net/ethernet/ti/am65-cpsw-nuss.c b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
index 2acde5b14516..dda9afe5410c 100644
--- a/drivers/net/ethernet/ti/am65-cpsw-nuss.c
+++ b/drivers/net/ethernet/ti/am65-cpsw-nuss.c
@@ -2935,6 +2935,7 @@ static int am65_cpsw_nuss_resume(struct device *dev)
struct net_device *ndev;
int i, ret;
struct am65_cpsw_host *host_p = am65_common_get_host(common);
+ bool need_ale_restore = false;
ret = am65_cpsw_nuss_init_tx_chns(common);
if (ret)
@@ -2957,6 +2958,7 @@ static int am65_cpsw_nuss_resume(struct device *dev)
continue;
if (netif_running(ndev)) {
+ need_ale_restore = true;
rtnl_lock();
ret = am65_cpsw_nuss_ndo_slave_open(ndev);
rtnl_unlock();
@@ -2971,7 +2973,8 @@ static int am65_cpsw_nuss_resume(struct device *dev)
}
writel(host_p->vid_context, host_p->port_base + AM65_CPSW_PORT_VLAN_REG_OFFSET);
- cpsw_ale_restore(common->ale, common->ale_context);
+ if (need_ale_restore)
+ cpsw_ale_restore(common->ale, common->ale_context);
return 0;
}
--
2.17.1
next prev parent reply other threads:[~2022-11-21 14:23 UTC|newest]
Thread overview: 13+ messages / expand[flat|nested] mbox.gz Atom feed top
2022-11-21 14:22 [PATCH v2 0/4] net: ethernet: ti: am65-cpsw: Fix set channel operation Roger Quadros
2022-11-21 14:22 ` [PATCH v2 1/4] " Roger Quadros
2022-11-21 17:50 ` Maciej Fijalkowski
2022-11-22 17:30 ` Roger Quadros
2022-11-22 0:58 ` Andrew Lunn
2022-11-22 17:31 ` Roger Quadros
2022-11-21 14:22 ` [PATCH v2 2/4] net: ethernet: ti: am65-cpsw-nuss: Remove redundant ALE_CLEAR Roger Quadros
2022-11-21 17:51 ` Maciej Fijalkowski
2022-11-22 1:02 ` Andrew Lunn
2022-11-22 11:46 ` Maciej Fijalkowski
2022-11-21 14:22 ` Roger Quadros [this message]
2022-11-21 14:23 ` [PATCH v2 4/4] net: ethernet: ti: cpsw_ale: optimize cpsw_ale_restore() Roger Quadros
2022-11-21 17:11 ` [PATCH v2 0/4] net: ethernet: ti: am65-cpsw: Fix set channel operation Maciej Fijalkowski
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20221121142300.9320-4-rogerq@kernel.org \
--to=rogerq@kernel.org \
--cc=davem@davemloft.net \
--cc=edumazet@google.com \
--cc=kuba@kernel.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-omap@vger.kernel.org \
--cc=netdev@vger.kernel.org \
--cc=pabeni@redhat.com \
--cc=vigneshr@ti.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
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).