Commit e3ec13be authored by Ioana Ciornei's avatar Ioana Ciornei Committed by David S. Miller

dpaa2-eth: move the mqprio setup into a separate function

Move the setup done for MQPRIO into a separate function so that
with the addition of another offload we do not crowd
dpaa2_eth_setup_tc(). After this restructuring it's easier to see what
is supported in terms of Qdisc offloading.
Signed-off-by: default avatarIoana Ciornei <ioana.ciornei@nxp.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent c1d069e3
...@@ -2213,17 +2213,13 @@ static int update_xps(struct dpaa2_eth_priv *priv) ...@@ -2213,17 +2213,13 @@ static int update_xps(struct dpaa2_eth_priv *priv)
return err; return err;
} }
static int dpaa2_eth_setup_tc(struct net_device *net_dev, static int dpaa2_eth_setup_mqprio(struct net_device *net_dev,
enum tc_setup_type type, void *type_data) struct tc_mqprio_qopt *mqprio)
{ {
struct dpaa2_eth_priv *priv = netdev_priv(net_dev); struct dpaa2_eth_priv *priv = netdev_priv(net_dev);
struct tc_mqprio_qopt *mqprio = type_data;
u8 num_tc, num_queues; u8 num_tc, num_queues;
int i; int i;
if (type != TC_SETUP_QDISC_MQPRIO)
return -EOPNOTSUPP;
mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS; mqprio->hw = TC_MQPRIO_HW_OFFLOAD_TCS;
num_queues = dpaa2_eth_queue_count(priv); num_queues = dpaa2_eth_queue_count(priv);
num_tc = mqprio->num_tc; num_tc = mqprio->num_tc;
...@@ -2255,6 +2251,17 @@ static int dpaa2_eth_setup_tc(struct net_device *net_dev, ...@@ -2255,6 +2251,17 @@ static int dpaa2_eth_setup_tc(struct net_device *net_dev,
return 0; return 0;
} }
static int dpaa2_eth_setup_tc(struct net_device *net_dev,
enum tc_setup_type type, void *type_data)
{
switch (type) {
case TC_SETUP_QDISC_MQPRIO:
return dpaa2_eth_setup_mqprio(net_dev, type_data);
default:
return -EOPNOTSUPP;
}
}
static const struct net_device_ops dpaa2_eth_ops = { static const struct net_device_ops dpaa2_eth_ops = {
.ndo_open = dpaa2_eth_open, .ndo_open = dpaa2_eth_open,
.ndo_start_xmit = dpaa2_eth_tx, .ndo_start_xmit = dpaa2_eth_tx,
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment