Lines Matching refs:indir
584 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, in ethtool_copy_validate_indir() argument
590 if (copy_from_user(indir, useraddr, size * sizeof(indir[0]))) in ethtool_copy_validate_indir()
595 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir()
615 u32 *indir; in ethtool_get_rxfh_indir() local
641 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir()
642 if (!indir) in ethtool_get_rxfh_indir()
645 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir()
651 indir, dev_size * sizeof(indir[0]))) in ethtool_get_rxfh_indir()
655 kfree(indir); in ethtool_get_rxfh_indir()
664 u32 *indir; in ethtool_set_rxfh_indir() local
685 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_set_rxfh_indir()
686 if (!indir) in ethtool_set_rxfh_indir()
696 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh_indir()
698 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh_indir()
706 ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE); in ethtool_set_rxfh_indir()
709 kfree(indir); in ethtool_set_rxfh_indir()
723 u32 *indir = NULL; in ethtool_get_rxfh() local
755 indir_bytes = user_indir_size * sizeof(indir[0]); in ethtool_get_rxfh()
762 indir = (u32 *)rss_config; in ethtool_get_rxfh()
767 ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc); in ethtool_get_rxfh()
793 u32 *indir = NULL, indir_bytes = 0; in ethtool_set_rxfh() local
826 indir_bytes = dev_indir_size * sizeof(indir[0]); in ethtool_set_rxfh()
842 indir = (u32 *)rss_config; in ethtool_set_rxfh()
843 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh()
850 indir = (u32 *)rss_config; in ethtool_set_rxfh()
852 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh()
865 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc); in ethtool_set_rxfh()