Lines Matching refs:indir
914 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, in ethtool_copy_validate_indir() argument
920 if (copy_from_user(indir, useraddr, size * sizeof(indir[0]))) in ethtool_copy_validate_indir()
925 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir()
945 u32 *indir; in ethtool_get_rxfh_indir() local
971 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir()
972 if (!indir) in ethtool_get_rxfh_indir()
975 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir()
981 indir, dev_size * sizeof(indir[0]))) in ethtool_get_rxfh_indir()
985 kfree(indir); in ethtool_get_rxfh_indir()
994 u32 *indir; in ethtool_set_rxfh_indir() local
1015 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_set_rxfh_indir()
1016 if (!indir) in ethtool_set_rxfh_indir()
1026 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh_indir()
1028 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh_indir()
1036 ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE); in ethtool_set_rxfh_indir()
1047 kfree(indir); in ethtool_set_rxfh_indir()
1061 u32 *indir = NULL; in ethtool_get_rxfh() local
1095 indir_bytes = user_indir_size * sizeof(indir[0]); in ethtool_get_rxfh()
1102 indir = (u32 *)rss_config; in ethtool_get_rxfh()
1108 ret = dev->ethtool_ops->get_rxfh_context(dev, indir, hkey, in ethtool_get_rxfh()
1112 ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc); in ethtool_get_rxfh()
1138 u32 *indir = NULL, indir_bytes = 0; in ethtool_set_rxfh() local
1174 indir_bytes = dev_indir_size * sizeof(indir[0]); in ethtool_set_rxfh()
1191 indir = (u32 *)rss_config; in ethtool_set_rxfh()
1192 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh()
1200 indir = (u32 *)rss_config; in ethtool_set_rxfh()
1202 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh()
1219 ret = ops->set_rxfh_context(dev, indir, hkey, rxfh.hfunc, in ethtool_set_rxfh()
1222 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc); in ethtool_set_rxfh()