realtek: dsa: Drop unused traffic_get helpers
authorSven Eckelmann <[email protected]>
Thu, 9 Oct 2025 13:01:06 +0000 (15:01 +0200)
committerRobert Marko <[email protected]>
Sun, 12 Oct 2025 10:49:49 +0000 (12:49 +0200)
The realtek driver is now in full control of the port matrix. It doesn't
need to rely on the current state of the HW to adjust it. The new port
matrix is calculated automatically using rtldsa_update_port_member() and
then written to the registers/tables.

Signed-off-by: Sven Eckelmann <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/20360
Signed-off-by: Robert Marko <[email protected]>
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.c
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl838x.h
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl839x.c
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl930x.c
target/linux/realtek/files-6.12/drivers/net/dsa/rtl83xx/rtl931x.c

index a76558c6d5921aa9eddb5eb494e33a3cca7e3286..4cecf181bb2a61d9bf25d686d7fc456e1cc06b7c 100644 (file)
@@ -587,11 +587,6 @@ static void rtl838x_stp_set(struct rtl838x_switch_priv *priv, u16 msti, u32 port
        priv->r->exec_tbl0_cmd(cmd);
 }
 
-static u64 rtl838x_traffic_get(int source)
-{
-       return rtl838x_get_port_reg(rtl838x_port_iso_ctrl(source));
-}
-
 static void rtl838x_traffic_set(int source, u64 dest_matrix)
 {
        rtl838x_set_port_reg(dest_matrix, rtl838x_port_iso_ctrl(source));
@@ -1681,7 +1676,6 @@ const struct rtl838x_reg rtl838x_reg = {
        .port_iso_ctrl = rtl838x_port_iso_ctrl,
        .traffic_enable = rtl838x_traffic_enable,
        .traffic_disable = rtl838x_traffic_disable,
-       .traffic_get = rtl838x_traffic_get,
        .traffic_set = rtl838x_traffic_set,
        .l2_ctrl_0 = RTL838X_L2_CTRL_0,
        .l2_ctrl_1 = RTL838X_L2_CTRL_1,
index 42b1911d9e3ae962a108e04f059aabac6b9ab1b3..028e87820f2ed7ae88ff35879455fd112861eff9 100644 (file)
@@ -1040,7 +1040,6 @@ struct rtl838x_reg {
        void (*traffic_enable)(int source, int dest);
        void (*traffic_disable)(int source, int dest);
        void (*traffic_set)(int source, u64 dest_matrix);
-       u64 (*traffic_get)(int source);
        int l2_ctrl_0;
        int l2_ctrl_1;
        int smi_poll_ctrl;
index 2745f4f339b27a7fbd422490da437313cada1858..c98a8c90d4b428d39960ef7e0ba1ac2f9ff653b0 100644 (file)
@@ -537,11 +537,6 @@ static void rtl839x_vlan_profile_setup(int profile)
        rtl839x_write_mcast_pmask(UNKNOWN_MC_PMASK, 0x001fffffffffffff);
 }
 
-static u64 rtl839x_traffic_get(int source)
-{
-       return rtl839x_get_port_reg_be(rtl839x_port_iso_ctrl(source));
-}
-
 static void rtl839x_traffic_set(int source, u64 dest_matrix)
 {
        rtl839x_set_port_reg_be(dest_matrix, rtl839x_port_iso_ctrl(source));
@@ -1654,7 +1649,6 @@ const struct rtl838x_reg rtl839x_reg = {
        .stat_port_std_mib = RTL839X_STAT_PORT_STD_MIB,
        .traffic_enable = rtl839x_traffic_enable,
        .traffic_disable = rtl839x_traffic_disable,
-       .traffic_get = rtl839x_traffic_get,
        .traffic_set = rtl839x_traffic_set,
        .port_iso_ctrl = rtl839x_port_iso_ctrl,
        .l2_ctrl_0 = RTL839X_L2_CTRL_0,
index d47319c013d929e8b802c593becd19ebcfed4b38..ead7dc4008d99db5e81e693e75297dc7c46c2c39 100644 (file)
@@ -755,19 +755,6 @@ void rtldsa_930x_set_receive_management_action(int port, rma_ctrl_t type,
        }
 }
 
-static u64 rtl930x_traffic_get(int source)
-{
-       u32 v;
-       struct table_reg *r = rtl_table_get(RTL9300_TBL_0, 6);
-
-       rtl_table_read(r, source);
-       v = sw_r32(rtl_table_data(r, 0));
-       rtl_table_release(r);
-       v = v >> 3;
-
-       return v;
-}
-
 /* Enable traffic between a source port and a destination port matrix */
 static void rtl930x_traffic_set(int source, u64 dest_matrix)
 {
@@ -2470,7 +2457,6 @@ const struct rtl838x_reg rtl930x_reg = {
        .stat_port_prv_mib = RTL930X_STAT_PORT_PRVTE_CNTR,
        .traffic_enable = rtl930x_traffic_enable,
        .traffic_disable = rtl930x_traffic_disable,
-       .traffic_get = rtl930x_traffic_get,
        .traffic_set = rtl930x_traffic_set,
        .l2_ctrl_0 = RTL930X_L2_CTRL,
        .l2_ctrl_1 = RTL930X_L2_AGE_CTRL,
index 78e015e4c8ee7876c797bc3a4dc1e1ec35128b0c..38f7d2b2dfe0b2b55bda18fff92ee6af95514141 100644 (file)
@@ -403,21 +403,6 @@ void rtldsa_931x_set_receive_management_action(int port, rma_ctrl_t type, action
        }
 }
 
-static u64 rtl931x_traffic_get(int source)
-{
-       u64 v;
-       struct table_reg *r = rtl_table_get(RTL9310_TBL_2, 1);
-
-       rtl_table_read(r, source);
-       v = sw_r32(rtl_table_data(r, 0));
-       v <<= 32;
-       v |= sw_r32(rtl_table_data(r, 1));
-       v >>= 7;
-       rtl_table_release(r);
-
-       return v;
-}
-
 /* Enable traffic between a source port and a destination port matrix */
 static void rtl931x_traffic_set(int source, u64 dest_matrix)
 {
@@ -1615,7 +1600,6 @@ const struct rtl838x_reg rtl931x_reg = {
        .stat_port_std_mib = 0,  /* Not defined */
        .traffic_enable = rtl931x_traffic_enable,
        .traffic_disable = rtl931x_traffic_disable,
-       .traffic_get = rtl931x_traffic_get,
        .traffic_set = rtl931x_traffic_set,
        .l2_ctrl_0 = RTL931X_L2_CTRL,
        .l2_ctrl_1 = RTL931X_L2_AGE_CTRL,