Lines Matching refs:rxnfc
688 struct ethtool_rxnfc *rxnfc, u32 *rule_locs) in dpaa2_eth_get_rxnfc() argument
694 switch (rxnfc->cmd) { in dpaa2_eth_get_rxnfc()
700 rxnfc->data = priv->rx_hash_fields; in dpaa2_eth_get_rxnfc()
703 rxnfc->data = dpaa2_eth_queue_count(priv); in dpaa2_eth_get_rxnfc()
706 rxnfc->rule_cnt = 0; in dpaa2_eth_get_rxnfc()
707 rxnfc->rule_cnt = dpaa2_eth_num_cls_rules(priv); in dpaa2_eth_get_rxnfc()
708 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc()
711 if (rxnfc->fs.location >= max_rules) in dpaa2_eth_get_rxnfc()
713 rxnfc->fs.location = array_index_nospec(rxnfc->fs.location, in dpaa2_eth_get_rxnfc()
715 if (!priv->cls_rules[rxnfc->fs.location].in_use) in dpaa2_eth_get_rxnfc()
717 rxnfc->fs = priv->cls_rules[rxnfc->fs.location].fs; in dpaa2_eth_get_rxnfc()
723 if (j == rxnfc->rule_cnt) in dpaa2_eth_get_rxnfc()
727 rxnfc->rule_cnt = j; in dpaa2_eth_get_rxnfc()
728 rxnfc->data = max_rules; in dpaa2_eth_get_rxnfc()
738 struct ethtool_rxnfc *rxnfc) in dpaa2_eth_set_rxnfc() argument
742 switch (rxnfc->cmd) { in dpaa2_eth_set_rxnfc()
744 if ((rxnfc->data & DPAA2_RXH_SUPPORTED) != rxnfc->data) in dpaa2_eth_set_rxnfc()
746 err = dpaa2_eth_set_hash(net_dev, rxnfc->data); in dpaa2_eth_set_rxnfc()
749 err = dpaa2_eth_update_cls_rule(net_dev, &rxnfc->fs, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()
752 err = dpaa2_eth_update_cls_rule(net_dev, NULL, rxnfc->fs.location); in dpaa2_eth_set_rxnfc()