Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

ionic: Report additional media types from firmware

The device firmware supports reporting more media types than what was
there in the past, so map these new media types to existing ethtool
bits, which appears to be what other drivers do for media types that
match speeds but not physical spec.

And while here, make a very small cleanup in ionic_get_link_ksettings()
to remove some unnecessary code duplication.

Reviewed-by: Brett Creeley <brett.creeley@amd.com>
Signed-off-by: Eric Joyner <eric.joyner@amd.com>
Link: https://patch.msgid.link/20260306215634.64550-1-eric.joyner@amd.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>

authored by

Eric Joyner and committed by
Jakub Kicinski
1f9cab56 7bb19704

+12 -3
+6 -3
drivers/net/ethernet/pensando/ionic/ionic_ethtool.c
··· 188 188 case IONIC_XCVR_PID_QSFP_100G_CWDM4: 189 189 case IONIC_XCVR_PID_QSFP_100G_PSM4: 190 190 case IONIC_XCVR_PID_QSFP_100G_LR4: 191 - ethtool_link_ksettings_add_link_mode(ks, supported, 192 - 100000baseLR4_ER4_Full); 193 - break; 194 191 case IONIC_XCVR_PID_QSFP_100G_ER4: 192 + case IONIC_XCVR_PID_QSFP_100G_FR4: 193 + case IONIC_XCVR_PID_QSFP_100G_DR4: 195 194 ethtool_link_ksettings_add_link_mode(ks, supported, 196 195 100000baseLR4_ER4_Full); 197 196 break; ··· 211 212 break; 212 213 case IONIC_XCVR_PID_QSFP_200G_AOC: 213 214 case IONIC_XCVR_PID_QSFP_200G_SR4: 215 + case IONIC_XCVR_PID_QSFP_200G_AEC: 214 216 ethtool_link_ksettings_add_link_mode(ks, supported, 215 217 200000baseSR4_Full); 216 218 break; ··· 232 232 400000baseDR4_Full); 233 233 break; 234 234 case IONIC_XCVR_PID_QSFP_400G_SR4: 235 + case IONIC_XCVR_PID_QSFP_400G_AOC: 236 + case IONIC_XCVR_PID_QSFP_400G_AEC: 237 + case IONIC_XCVR_PID_QSFP_400G_LPO: 235 238 ethtool_link_ksettings_add_link_mode(ks, supported, 236 239 400000baseSR4_Full); 237 240 break;
+6
drivers/net/ethernet/pensando/ionic/ionic_if.h
··· 1341 1341 IONIC_XCVR_PID_QSFP_400G_DR4 = 80, 1342 1342 IONIC_XCVR_PID_QSFP_400G_SR4 = 81, 1343 1343 IONIC_XCVR_PID_QSFP_400G_VR4 = 82, 1344 + IONIC_XCVR_PID_QSFP_400G_AOC = 83, 1345 + IONIC_XCVR_PID_QSFP_400G_AEC = 84, 1346 + IONIC_XCVR_PID_QSFP_200G_AEC = 85, 1347 + IONIC_XCVR_PID_QSFP_400G_LPO = 86, 1348 + IONIC_XCVR_PID_QSFP_100G_FR4 = 87, 1349 + IONIC_XCVR_PID_QSFP_100G_DR4 = 88, 1344 1350 }; 1345 1351 1346 1352 /**