Lines Matching refs:rxnfc
634 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in dpaa2_eth_get_rxnfc() argument
640 switch (rxnfc->cmd) { in dpaa2_eth_get_rxnfc()
646 rxnfc->data = priv->rx_hash_fields; in dpaa2_eth_get_rxnfc()
649 rxnfc->data = dpaa2_eth_queue_count(priv); in dpaa2_eth_get_rxnfc()
652 rxnfc->rule_cnt = 0; in dpaa2_eth_get_rxnfc()
653 rxnfc->rule_cnt = num_rules(priv); in dpaa2_eth_get_rxnfc()
654 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc()
657 if (rxnfc->fs.location >= max_rules) in dpaa2_eth_get_rxnfc()
659 rxnfc->fs.location = array_index_nospec(rxnfc->fs.location, in dpaa2_eth_get_rxnfc()
661 if (!priv->cls_rules[rxnfc->fs.location].in_use) in dpaa2_eth_get_rxnfc()
663 rxnfc->fs = priv->cls_rules[rxnfc->fs.location].fs; in dpaa2_eth_get_rxnfc()
669 if (j == rxnfc->rule_cnt) in dpaa2_eth_get_rxnfc()
673 rxnfc->rule_cnt = j; in dpaa2_eth_get_rxnfc()
674 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc()
684 struct ethtool_rxnfc *rxnfc) in dpaa2_eth_set_rxnfc() argument
688 switch (rxnfc->cmd) { in dpaa2_eth_set_rxnfc()
690 if ((rxnfc->data & DPAA2_RXH_SUPPORTED) != rxnfc->data) in dpaa2_eth_set_rxnfc()
692 err = dpaa2_eth_set_hash(net_dev, rxnfc->data); in dpaa2_eth_set_rxnfc()
695 err = update_cls_rule(net_dev, &rxnfc->fs, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()
698 err = update_cls_rule(net_dev, NULL, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()