Lines Matching refs:indir

975 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr,  in ethtool_copy_validate_indir()  argument
981 if (copy_from_user(indir, useraddr, size * sizeof(indir[0]))) in ethtool_copy_validate_indir()
986 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir()
1005 u32 *indir; in ethtool_get_max_rxfh_channel() local
1015 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_max_rxfh_channel()
1016 if (!indir) in ethtool_get_max_rxfh_channel()
1019 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_max_rxfh_channel()
1024 current_max = max(current_max, indir[dev_size]); in ethtool_get_max_rxfh_channel()
1029 kfree(indir); in ethtool_get_max_rxfh_channel()
1037 u32 *indir; in ethtool_get_rxfh_indir() local
1063 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir()
1064 if (!indir) in ethtool_get_rxfh_indir()
1067 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir()
1073 indir, dev_size * sizeof(indir[0]))) in ethtool_get_rxfh_indir()
1077 kfree(indir); in ethtool_get_rxfh_indir()
1086 u32 *indir; in ethtool_set_rxfh_indir() local
1107 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_set_rxfh_indir()
1108 if (!indir) in ethtool_set_rxfh_indir()
1118 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh_indir()
1120 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh_indir()
1128 ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE); in ethtool_set_rxfh_indir()
1139 kfree(indir); in ethtool_set_rxfh_indir()
1153 u32 *indir = NULL; in ethtool_get_rxfh() local
1187 indir_bytes = user_indir_size * sizeof(indir[0]); in ethtool_get_rxfh()
1194 indir = (u32 *)rss_config; in ethtool_get_rxfh()
1200 ret = dev->ethtool_ops->get_rxfh_context(dev, indir, hkey, in ethtool_get_rxfh()
1204 ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc); in ethtool_get_rxfh()
1230 u32 *indir = NULL, indir_bytes = 0; in ethtool_set_rxfh() local
1266 indir_bytes = dev_indir_size * sizeof(indir[0]); in ethtool_set_rxfh()
1283 indir = (u32 *)rss_config; in ethtool_set_rxfh()
1284 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh()
1292 indir = (u32 *)rss_config; in ethtool_set_rxfh()
1294 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh()
1311 ret = ops->set_rxfh_context(dev, indir, hkey, rxfh.hfunc, in ethtool_set_rxfh()
1314 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc); in ethtool_set_rxfh()