diff options
author | Maxime Chevallier <maxime.chevallier@bootlin.com> | 2025-03-07 20:36:04 +0300 |
---|---|---|
committer | Paolo Abeni <pabeni@redhat.com> | 2025-03-18 11:03:11 +0300 |
commit | fc81e257d19f5733c22732eef29fa15ee8bef221 (patch) | |
tree | 6f02f1972746451e5bbb2deeeca8f520c4647600 /net/lapb/lapb_subr.c | |
parent | dbcd85b05c5ba520b75dbf51d0b48b5a366b6c68 (diff) | |
download | linux-fc81e257d19f5733c22732eef29fa15ee8bef221.tar.xz |
net: phy: phy_caps: Allow looking-up link caps based on speed and duplex
As the link_caps array is efficient for <speed,duplex> lookups,
implement a function for speed/duplex lookups that matches a given
mask. This replicates to some extent the phy_lookup_settings()
behaviour, matching full link_capabilities instead of a single linkmode.
phy.c's phy_santize_settings() and phylink's
phylink_ethtool_ksettings_set() performs such lookup using the
phy_settings table, but are only interested in the actual speed/duplex
that were matched, rathet than the individual linkmode.
Similar to phy_lookup_settings(), the newly introduced phy_caps_lookup()
will run through the link_caps[] array by descending speed/duplex order.
If the link_capabilities for a given <speed/duplex> tuple intersects the
passed linkmodes, we consider that a match.
Similar to phy_lookup_settings(), we also allow passing an 'exact'
boolean, allowing non-exact match. Here, we MUST always match the
linkmodes mask, but we allow matching on lower speed settings.
Signed-off-by: Maxime Chevallier <maxime.chevallier@bootlin.com>
Link: https://patch.msgid.link/20250307173611.129125-8-maxime.chevallier@bootlin.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
Diffstat (limited to 'net/lapb/lapb_subr.c')
0 files changed, 0 insertions, 0 deletions