Kaynağa Gözat

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 <[email protected]>
Link: https://github.com/openwrt/openwrt/pull/21858
Signed-off-by: Hauke Mehrtens <[email protected]>
Jonas Jelonek 1 hafta önce
ebeveyn
işleme
b87db98aff

+ 4 - 2
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)) */