Lines Matching refs:indir
573 static int ethtool_copy_validate_indir(u32 *indir, void __user *useraddr, in ethtool_copy_validate_indir() argument
579 if (copy_from_user(indir, useraddr, size * sizeof(indir[0]))) in ethtool_copy_validate_indir()
584 if (indir[i] >= rx_rings->data) in ethtool_copy_validate_indir()
604 u32 *indir; in ethtool_get_rxfh_indir() local
630 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_get_rxfh_indir()
631 if (!indir) in ethtool_get_rxfh_indir()
634 ret = dev->ethtool_ops->get_rxfh(dev, indir, NULL, NULL); in ethtool_get_rxfh_indir()
640 indir, dev_size * sizeof(indir[0]))) in ethtool_get_rxfh_indir()
644 kfree(indir); in ethtool_get_rxfh_indir()
653 u32 *indir; in ethtool_set_rxfh_indir() local
674 indir = kcalloc(dev_size, sizeof(indir[0]), GFP_USER); in ethtool_set_rxfh_indir()
675 if (!indir) in ethtool_set_rxfh_indir()
685 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh_indir()
687 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh_indir()
695 ret = ops->set_rxfh(dev, indir, NULL, ETH_RSS_HASH_NO_CHANGE); in ethtool_set_rxfh_indir()
698 kfree(indir); in ethtool_set_rxfh_indir()
712 u32 *indir = NULL; in ethtool_get_rxfh() local
744 indir_bytes = user_indir_size * sizeof(indir[0]); in ethtool_get_rxfh()
751 indir = (u32 *)rss_config; in ethtool_get_rxfh()
756 ret = dev->ethtool_ops->get_rxfh(dev, indir, hkey, &dev_hfunc); in ethtool_get_rxfh()
782 u32 *indir = NULL, indir_bytes = 0; in ethtool_set_rxfh() local
815 indir_bytes = dev_indir_size * sizeof(indir[0]); in ethtool_set_rxfh()
831 indir = (u32 *)rss_config; in ethtool_set_rxfh()
832 ret = ethtool_copy_validate_indir(indir, in ethtool_set_rxfh()
839 indir = (u32 *)rss_config; in ethtool_set_rxfh()
841 indir[i] = ethtool_rxfh_indir_default(i, rx_rings.data); in ethtool_set_rxfh()
854 ret = ops->set_rxfh(dev, indir, hkey, rxfh.hfunc); in ethtool_set_rxfh()