Lines Matching refs:tuna

2353 static int ethtool_tunable_valid(const struct ethtool_tunable *tuna)  in ethtool_tunable_valid()  argument
2355 switch (tuna->id) { in ethtool_tunable_valid()
2358 if (tuna->len != sizeof(u32) || in ethtool_tunable_valid()
2359 tuna->type_id != ETHTOOL_TUNABLE_U32) in ethtool_tunable_valid()
2363 if (tuna->len != sizeof(u16) || in ethtool_tunable_valid()
2364 tuna->type_id != ETHTOOL_TUNABLE_U16) in ethtool_tunable_valid()
2377 struct ethtool_tunable tuna; in ethtool_get_tunable() local
2383 if (copy_from_user(&tuna, useraddr, sizeof(tuna))) in ethtool_get_tunable()
2385 ret = ethtool_tunable_valid(&tuna); in ethtool_get_tunable()
2388 data = kzalloc(tuna.len, GFP_USER); in ethtool_get_tunable()
2391 ret = ops->get_tunable(dev, &tuna, data); in ethtool_get_tunable()
2394 useraddr += sizeof(tuna); in ethtool_get_tunable()
2396 if (copy_to_user(useraddr, data, tuna.len)) in ethtool_get_tunable()
2408 struct ethtool_tunable tuna; in ethtool_set_tunable() local
2414 if (copy_from_user(&tuna, useraddr, sizeof(tuna))) in ethtool_set_tunable()
2416 ret = ethtool_tunable_valid(&tuna); in ethtool_set_tunable()
2419 useraddr += sizeof(tuna); in ethtool_set_tunable()
2420 data = memdup_user(useraddr, tuna.len); in ethtool_set_tunable()
2423 ret = ops->set_tunable(dev, &tuna, data); in ethtool_set_tunable()
2543 static int ethtool_phy_tunable_valid(const struct ethtool_tunable *tuna) in ethtool_phy_tunable_valid() argument
2545 switch (tuna->id) { in ethtool_phy_tunable_valid()
2548 if (tuna->len != sizeof(u8) || in ethtool_phy_tunable_valid()
2549 tuna->type_id != ETHTOOL_TUNABLE_U8) in ethtool_phy_tunable_valid()
2553 if (tuna->len != sizeof(u16) || in ethtool_phy_tunable_valid()
2554 tuna->type_id != ETHTOOL_TUNABLE_U16) in ethtool_phy_tunable_valid()
2567 struct ethtool_tunable tuna; in get_phy_tunable() local
2575 if (copy_from_user(&tuna, useraddr, sizeof(tuna))) in get_phy_tunable()
2577 ret = ethtool_phy_tunable_valid(&tuna); in get_phy_tunable()
2580 data = kzalloc(tuna.len, GFP_USER); in get_phy_tunable()
2585 ret = phydev->drv->get_tunable(phydev, &tuna, data); in get_phy_tunable()
2588 ret = dev->ethtool_ops->get_phy_tunable(dev, &tuna, data); in get_phy_tunable()
2592 useraddr += sizeof(tuna); in get_phy_tunable()
2594 if (copy_to_user(useraddr, data, tuna.len)) in get_phy_tunable()
2606 struct ethtool_tunable tuna; in set_phy_tunable() local
2614 if (copy_from_user(&tuna, useraddr, sizeof(tuna))) in set_phy_tunable()
2616 ret = ethtool_phy_tunable_valid(&tuna); in set_phy_tunable()
2619 useraddr += sizeof(tuna); in set_phy_tunable()
2620 data = memdup_user(useraddr, tuna.len); in set_phy_tunable()
2625 ret = phydev->drv->set_tunable(phydev, &tuna, data); in set_phy_tunable()
2628 ret = dev->ethtool_ops->set_phy_tunable(dev, &tuna, data); in set_phy_tunable()