Lines Matching refs:link_ksettings
383 const struct ethtool_link_ksettings *link_ksettings) in convert_link_ksettings_to_legacy_settings() argument
396 link_ksettings->link_modes.supported); in convert_link_ksettings_to_legacy_settings()
399 link_ksettings->link_modes.advertising); in convert_link_ksettings_to_legacy_settings()
402 link_ksettings->link_modes.lp_advertising); in convert_link_ksettings_to_legacy_settings()
403 ethtool_cmd_speed_set(legacy_settings, link_ksettings->base.speed); in convert_link_ksettings_to_legacy_settings()
405 = link_ksettings->base.duplex; in convert_link_ksettings_to_legacy_settings()
407 = link_ksettings->base.port; in convert_link_ksettings_to_legacy_settings()
409 = link_ksettings->base.phy_address; in convert_link_ksettings_to_legacy_settings()
411 = link_ksettings->base.autoneg; in convert_link_ksettings_to_legacy_settings()
413 = link_ksettings->base.mdio_support; in convert_link_ksettings_to_legacy_settings()
415 = link_ksettings->base.eth_tp_mdix; in convert_link_ksettings_to_legacy_settings()
417 = link_ksettings->base.eth_tp_mdix_ctrl; in convert_link_ksettings_to_legacy_settings()
419 = link_ksettings->base.transceiver; in convert_link_ksettings_to_legacy_settings()
439 struct ethtool_link_ksettings *link_ksettings) in __ethtool_get_link_ksettings() argument
449 memset(link_ksettings, 0, sizeof(*link_ksettings)); in __ethtool_get_link_ksettings()
450 return dev->ethtool_ops->get_link_ksettings(dev, link_ksettings); in __ethtool_get_link_ksettings()
529 struct ethtool_link_ksettings link_ksettings; in ethtool_get_link_ksettings() local
536 if (copy_from_user(&link_ksettings.base, useraddr, in ethtool_get_link_ksettings()
537 sizeof(link_ksettings.base))) in ethtool_get_link_ksettings()
541 != link_ksettings.base.link_mode_masks_nwords) { in ethtool_get_link_ksettings()
543 memset(&link_ksettings, 0, sizeof(link_ksettings)); in ethtool_get_link_ksettings()
544 link_ksettings.base.cmd = ETHTOOL_GLINKSETTINGS; in ethtool_get_link_ksettings()
548 link_ksettings.base.link_mode_masks_nwords in ethtool_get_link_ksettings()
554 if (copy_to_user(useraddr, &link_ksettings.base, in ethtool_get_link_ksettings()
555 sizeof(link_ksettings.base))) in ethtool_get_link_ksettings()
565 memset(&link_ksettings, 0, sizeof(link_ksettings)); in ethtool_get_link_ksettings()
566 err = dev->ethtool_ops->get_link_ksettings(dev, &link_ksettings); in ethtool_get_link_ksettings()
571 link_ksettings.base.cmd = ETHTOOL_GLINKSETTINGS; in ethtool_get_link_ksettings()
572 link_ksettings.base.link_mode_masks_nwords in ethtool_get_link_ksettings()
574 link_ksettings.base.master_slave_cfg = MASTER_SLAVE_CFG_UNSUPPORTED; in ethtool_get_link_ksettings()
575 link_ksettings.base.master_slave_state = MASTER_SLAVE_STATE_UNSUPPORTED; in ethtool_get_link_ksettings()
576 link_ksettings.base.rate_matching = RATE_MATCH_NONE; in ethtool_get_link_ksettings()
578 return store_link_ksettings_for_user(useraddr, &link_ksettings); in ethtool_get_link_ksettings()
585 struct ethtool_link_ksettings link_ksettings = {}; in ethtool_set_link_ksettings() local
594 if (copy_from_user(&link_ksettings.base, useraddr, in ethtool_set_link_ksettings()
595 sizeof(link_ksettings.base))) in ethtool_set_link_ksettings()
599 != link_ksettings.base.link_mode_masks_nwords) in ethtool_set_link_ksettings()
605 err = load_link_ksettings_from_user(&link_ksettings, useraddr); in ethtool_set_link_ksettings()
611 != link_ksettings.base.link_mode_masks_nwords) in ethtool_set_link_ksettings()
614 if (link_ksettings.base.master_slave_cfg || in ethtool_set_link_ksettings()
615 link_ksettings.base.master_slave_state) in ethtool_set_link_ksettings()
618 err = dev->ethtool_ops->set_link_ksettings(dev, &link_ksettings); in ethtool_set_link_ksettings()
658 struct ethtool_link_ksettings link_ksettings; in ethtool_get_settings() local
669 memset(&link_ksettings, 0, sizeof(link_ksettings)); in ethtool_get_settings()
670 err = dev->ethtool_ops->get_link_ksettings(dev, &link_ksettings); in ethtool_get_settings()
673 convert_link_ksettings_to_legacy_settings(&cmd, &link_ksettings); in ethtool_get_settings()
694 struct ethtool_link_ksettings link_ksettings; in ethtool_set_settings() local
705 if (!convert_legacy_settings_to_link_ksettings(&link_ksettings, &cmd)) in ethtool_set_settings()
707 link_ksettings.base.link_mode_masks_nwords = in ethtool_set_settings()
709 ret = dev->ethtool_ops->set_link_ksettings(dev, &link_ksettings); in ethtool_set_settings()