[PATCH net v3 0/2] net: phy: fix PHY interface mask initialization and XPCS usage
Coia Prant
coiaprant at gmail.com
Mon Nov 2 13:25:04 PST 2026
Changes since v2:
- Patch 1 (new): move DECLARE_PHY_INTERFACE_MASK_ZERO to core and fix
the array size calculation.
- Patch 2: advertise 1000BASE-X, SGMII and QSGMII instead of only SGMII.
Intersect the platform mask with the core mask using
phy_interface_and().
- Add Fixes tag for the XPCS patch.
===
This series fixes issues related to the handling of the PHY interface mask
(supported_interfaces) at the core level and in the XPCS driver.
Patch 1 fixes a hack in the txgbe driver. The local
DECLARE_PHY_INTERFACE_MASK_ZERO() macro incorrectly used
PHY_INTERFACE_MODE_MAX as the array length. Move it to
include/linux/phy.h and base it on DECLARE_PHY_INTERFACE_MASK() so the
bitmap is correctly sized while still being initialized to zero.
Patch 2 makes the XPCS supported_interfaces mask authoritative. The
generic compat table advertises modes that a specific integration may
not support. The Rockchip glue now builds a platform mask (1000BASE-X,
SGMII, QSGMII) and intersects it with the inherited core mask. In
addition, xpcs_find_compat() now checks supported_interfaces before
looking up the compat table, ensuring the core respects the narrowed
mask.
Note: checkpatch.pl reports "Macros with complex values should be
enclosed in parentheses" for the new macro in Patch 1. This is a known
false positive for declarative macros that expand to variable
declarations; wrapping it would break compilation.
---
Coia Prant (2):
net: phy: move DECLARE_PHY_INTERFACE_MASK_ZERO to core
net: pcs: xpcs: make supported_interfaces authoritative
drivers/net/ethernet/wangxun/txgbe/txgbe_type.h | 3 ---
drivers/net/pcs/pcs-xpcs-rk.c | 10 ++++++++++
drivers/net/pcs/pcs-xpcs.c | 3 +++
include/linux/phy.h | 3 +++
4 files changed, 16 insertions(+), 3 deletions(-)
--
2.47.3
More information about the linux-arm-kernel
mailing list