mirror of
https://git.openwrt.org/openwrt/openwrt.git
synced 2024-11-24 14:06:15 +00:00
fe9d2ccbc3
Move accepted patches to backport folder, re-add previously removed patch which caused havoc on MT7621 and add the (still pending) fix. Fixes: d40691a5fb ("generic: 6.1, 6.6: mt7530: import pending patches") Signed-off-by: Daniel Golle <daniel@makrotopia.org>
72 lines
2.7 KiB
Diff
72 lines
2.7 KiB
Diff
From 2dff9759602b069f97ccc939e15a47ca051b2983 Mon Sep 17 00:00:00 2001
|
||
From: =?UTF-8?q?Ar=C4=B1n=C3=A7=20=C3=9CNAL?= <arinc.unal@arinc9.com>
|
||
Date: Mon, 22 Apr 2024 10:15:18 +0300
|
||
Subject: [PATCH 11/15] net: dsa: mt7530: refactor MT7530_PMEEECR_P()
|
||
MIME-Version: 1.0
|
||
Content-Type: text/plain; charset=UTF-8
|
||
Content-Transfer-Encoding: 8bit
|
||
|
||
The MT7530_PMEEECR_P() register is on MT7530, MT7531, and the switch on the
|
||
MT7988 SoC. Rename the definition for them to MT753X_PMEEECR_P(). Use the
|
||
FIELD_PREP and FIELD_GET macros. Rename GET_LPI_THRESH() and
|
||
SET_LPI_THRESH() to LPI_THRESH_GET() and LPI_THRESH_SET().
|
||
|
||
Signed-off-by: Arınç ÜNAL <arinc.unal@arinc9.com>
|
||
---
|
||
drivers/net/dsa/mt7530.c | 8 ++++----
|
||
drivers/net/dsa/mt7530.h | 13 +++++++------
|
||
2 files changed, 11 insertions(+), 10 deletions(-)
|
||
|
||
--- a/drivers/net/dsa/mt7530.c
|
||
+++ b/drivers/net/dsa/mt7530.c
|
||
@@ -3051,10 +3051,10 @@ static int mt753x_get_mac_eee(struct dsa
|
||
struct ethtool_eee *e)
|
||
{
|
||
struct mt7530_priv *priv = ds->priv;
|
||
- u32 eeecr = mt7530_read(priv, MT7530_PMEEECR_P(port));
|
||
+ u32 eeecr = mt7530_read(priv, MT753X_PMEEECR_P(port));
|
||
|
||
e->tx_lpi_enabled = !(eeecr & LPI_MODE_EN);
|
||
- e->tx_lpi_timer = GET_LPI_THRESH(eeecr);
|
||
+ e->tx_lpi_timer = LPI_THRESH_GET(eeecr);
|
||
|
||
return 0;
|
||
}
|
||
@@ -3068,11 +3068,11 @@ static int mt753x_set_mac_eee(struct dsa
|
||
if (e->tx_lpi_timer > 0xFFF)
|
||
return -EINVAL;
|
||
|
||
- set = SET_LPI_THRESH(e->tx_lpi_timer);
|
||
+ set = LPI_THRESH_SET(e->tx_lpi_timer);
|
||
if (!e->tx_lpi_enabled)
|
||
/* Force LPI Mode without a delay */
|
||
set |= LPI_MODE_EN;
|
||
- mt7530_rmw(priv, MT7530_PMEEECR_P(port), mask, set);
|
||
+ mt7530_rmw(priv, MT753X_PMEEECR_P(port), mask, set);
|
||
|
||
return 0;
|
||
}
|
||
--- a/drivers/net/dsa/mt7530.h
|
||
+++ b/drivers/net/dsa/mt7530.h
|
||
@@ -364,13 +364,14 @@ enum mt7530_vlan_port_acc_frm {
|
||
PMCR_FORCE_SPEED_100 | \
|
||
PMCR_FORCE_FDX | PMCR_FORCE_LNK)
|
||
|
||
-#define MT7530_PMEEECR_P(x) (0x3004 + (x) * 0x100)
|
||
-#define WAKEUP_TIME_1000(x) (((x) & 0xFF) << 24)
|
||
-#define WAKEUP_TIME_100(x) (((x) & 0xFF) << 16)
|
||
+#define MT753X_PMEEECR_P(x) (0x3004 + (x) * 0x100)
|
||
+#define WAKEUP_TIME_1000_MASK GENMASK(31, 24)
|
||
+#define WAKEUP_TIME_1000(x) FIELD_PREP(WAKEUP_TIME_1000_MASK, x)
|
||
+#define WAKEUP_TIME_100_MASK GENMASK(23, 16)
|
||
+#define WAKEUP_TIME_100(x) FIELD_PREP(WAKEUP_TIME_100_MASK, x)
|
||
#define LPI_THRESH_MASK GENMASK(15, 4)
|
||
-#define LPI_THRESH_SHT 4
|
||
-#define SET_LPI_THRESH(x) (((x) << LPI_THRESH_SHT) & LPI_THRESH_MASK)
|
||
-#define GET_LPI_THRESH(x) (((x) & LPI_THRESH_MASK) >> LPI_THRESH_SHT)
|
||
+#define LPI_THRESH_GET(x) FIELD_GET(LPI_THRESH_MASK, x)
|
||
+#define LPI_THRESH_SET(x) FIELD_PREP(LPI_THRESH_MASK, x)
|
||
#define LPI_MODE_EN BIT(0)
|
||
|
||
#define MT7530_PMSR_P(x) (0x3008 + (x) * 0x100)
|