Lines Matching refs:indir
1021 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,
1027 if (copy_from_user(indir, useraddr, size * sizeof(indir[0])))
1032 if (indir[i] >= rx_rings->data)
1052 u32 *indir;
1078 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER);
1079 if (!indir)
1082 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL);
1088 indir, dev_size * sizeof(indir[0])))
1092 kfree(indir);
1101 u32 *indir;
1122 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER);
1123 if (!indir)
1133 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data);
1135 ret = ethtool_copy_validate_indir(indir,
1143 ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE);
1154 kfree(indir);
1168 u32 *indir = NULL;
1202 indir_bytes = user_indir_size * sizeof(indir[0]);
1209 indir = (u32 *)rss_config;
1215 ret = dev->ethtool_ops->get_rxfh_context(dev, indir, hkey,
1219 ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc);
1245 u32 *indir = NULL, indir_bytes = 0;
1269 /* If either indir, hash key or function is valid, proceed further.
1270 * Must request at least one change: indir size, hash key or function.
1281 indir_bytes = dev_indir_size * sizeof(indir[0]);
1292 /* rxfh.indir_size == 0 means reset the indir table to default (master
1298 indir = (u32 *)rss_config;
1299 ret = ethtool_copy_validate_indir(indir,
1307 indir = (u32 *)rss_config;
1309 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data);
1326 ret = ops->set_rxfh_context(dev, indir, hkey, rxfh.hfunc,
1329 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc);