[openwrt/openwrt] realtek: pcs: rtl931x: config CMU before media

LEDE Commits lede-commits at lists.infradead.org
Sat Feb 7 15:36:06 PST 2026


hauke pushed a commit to openwrt/openwrt.git, branch main:
https://git.openwrt.org/b87db98aff62ca8bc9726f6b78d6bc3d864abe4b

commit b87db98aff62ca8bc9726f6b78d6bc3d864abe4b
Author: Jonas Jelonek <jelonek.jonas at gmail.com>
AuthorDate: Mon Feb 2 22:48:04 2026 +0000

    realtek: pcs: rtl931x: config CMU before media
    
    Currently, the CMU is configured after media specific settings have been
    set. This seems to work however does not make that much sense. The
    proper clock should be configured before the TX/RX channels are
    configured. Thus, move the call to the CMU configuration above the media
    handling.
    
    While at it, handle the return code of the CMU config properly.
    
    Signed-off-by: Jonas Jelonek <jelonek.jonas at gmail.com>
    Link: https://github.com/openwrt/openwrt/pull/21858
    Signed-off-by: Hauke Mehrtens <hauke at hauke-m.de>
---
 target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c | 6 ++++--
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c b/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c
index d1997b7a09..58e64a5713 100644
--- a/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c
+++ b/target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c
@@ -3620,6 +3620,10 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds,
 	if (ret < 0)
 		return ret;
 
+	ret = rtpcs_931x_sds_config_cmu(sds, hw_mode);
+	if (ret < 0)
+		return ret;
+
 	switch (hw_mode) {
 	case RTPCS_SDS_MODE_OFF:
 		ret = rtpcs_931x_sds_set_port_media(sds, RTPCS_PORT_MEDIA_NONE);
@@ -3638,8 +3642,6 @@ static int rtpcs_931x_setup_serdes(struct rtpcs_serdes *sds,
 		break;
 	}
 
-	rtpcs_931x_sds_config_cmu(sds, hw_mode);
-
 	if (sds_id >= 2) {
 		if (ctrl->chip_version == RTPCS_CHIP_V2)
 			/* consider 9311 etc. RTL9313_CHIP_ID == HWP_CHIP_ID(unit)) */




More information about the lede-commits mailing list