realtek: pcs: select OFF mode with no links on SerDes

Because the PCS driver keeps track of the number of registered links for
each SerDes now, we now know when there is no link on a SerDes. In this
case, determine to turn off the SerDes in the mode mapper.

Though the phylink subsystem shouldn't attempt to config something
different when no link/port references a Serdes, be on the safe side.

Signed-off-by: Jonas Jelonek <jelonek.jonas@gmail.com>
Link: https://github.com/openwrt/openwrt/pull/21365
Signed-off-by: Hauke Mehrtens <hauke@hauke-m.de>
This commit is contained in:
Jonas Jelonek 2026-01-02 18:50:10 +00:00 committed by Hauke Mehrtens
parent 7cd3407fde
commit b63f68e409

View File

@ -287,6 +287,12 @@ static int rtpcs_sds_determine_hw_mode(struct rtpcs_serdes *sds,
{
u8 n_links = sds->num_of_links;
/* turn off SerDes when there are no links */
if (!n_links) {
*hw_mode = RTPCS_SDS_MODE_OFF;
return 0;
}
switch (if_mode) {
case PHY_INTERFACE_MODE_NA:
*hw_mode = RTPCS_SDS_MODE_OFF;