Netdev List
 help / color / mirror / Atom feed
* [PATCH net] net: dsa: felix: ignore pending status of TAS module when it's disabled
@ 2024-09-04 10:27 Xiaoliang Yang
  2024-09-04 10:12 ` Vladimir Oltean
  0 siblings, 1 reply; 3+ messages in thread
From: Xiaoliang Yang @ 2024-09-04 10:27 UTC (permalink / raw)
  To: netdev
  Cc: davem, kuba, pabeni, vladimir.oltean, claudiu.manoil,
	alexandre.belloni, UNGLinuxDriver, andrew, f.fainelli, michael,
	linux-kernel, xiaoliang.yang_1

The TAS module could not be configured when it's running in pending
status. We need disable the module and configure it again. However, the
pending status is not cleared after the module disabled. So we don't
need to check the pending status if TAS module is disabled.

Signed-off-by: Xiaoliang Yang <xiaoliang.yang_1@nxp.com>
---
 drivers/net/dsa/ocelot/felix_vsc9959.c | 11 +++++++----
 1 file changed, 7 insertions(+), 4 deletions(-)

diff --git a/drivers/net/dsa/ocelot/felix_vsc9959.c b/drivers/net/dsa/ocelot/felix_vsc9959.c
index ba37a566da39..ecfa73725d25 100644
--- a/drivers/net/dsa/ocelot/felix_vsc9959.c
+++ b/drivers/net/dsa/ocelot/felix_vsc9959.c
@@ -1474,10 +1474,13 @@ static int vsc9959_qos_port_tas_set(struct ocelot *ocelot, int port,
 	/* Hardware errata -  Admin config could not be overwritten if
 	 * config is pending, need reset the TAS module
 	 */
-	val = ocelot_read(ocelot, QSYS_PARAM_STATUS_REG_8);
-	if (val & QSYS_PARAM_STATUS_REG_8_CONFIG_PENDING) {
-		ret = -EBUSY;
-		goto err_reset_tc;
+	val = ocelot_read_rix(ocelot, QSYS_TAG_CONFIG, port);
+	if (val & QSYS_TAG_CONFIG_ENABLE) {
+		val = ocelot_read(ocelot, QSYS_PARAM_STATUS_REG_8);
+		if (val & QSYS_PARAM_STATUS_REG_8_CONFIG_PENDING) {
+			ret = -EBUSY;
+			goto err_reset_tc;
+		}
 	}
 
 	ocelot_rmw_rix(ocelot,
-- 
2.17.1


^ permalink raw reply related	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2024-09-06  9:14 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2024-09-04 10:27 [PATCH net] net: dsa: felix: ignore pending status of TAS module when it's disabled Xiaoliang Yang
2024-09-04 10:12 ` Vladimir Oltean
2024-09-06  9:14   ` Xiaoliang Yang

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox