Просмотр исходного кода

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 неделя назад
Родитель
Сommit
b87db98aff
1 измененных файлов с 4 добавлено и 2 удалено
  1. 4 2
      target/linux/realtek/files-6.12/drivers/net/pcs/pcs-rtl-otto.c

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