diff options
author | Joao Pinto | 2017-03-10 19:24:54 +0100 |
---|---|---|
committer | David S. Miller | 2017-03-13 07:41:03 +0100 |
commit | 4f6046f5872c7db6a152b923cee21c37a04d56b8 (patch) | |
tree | e4f6d9fe0c35c84afdd316485a89b6eef209134e /drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | |
parent | net: stmmac: configure tx queue weight (diff) | |
download | kernel-qcow2-linux-4f6046f5872c7db6a152b923cee21c37a04d56b8.tar.gz kernel-qcow2-linux-4f6046f5872c7db6a152b923cee21c37a04d56b8.tar.xz kernel-qcow2-linux-4f6046f5872c7db6a152b923cee21c37a04d56b8.zip |
net: stmmac: mtl rx queue enabled as dcb or avb
This patch introduces the enabling of RX queues as DCB or as AVB based
on configuration.
Signed-off-by: Joao Pinto <jpinto@synopsys.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/stmicro/stmmac/stmmac_main.c')
-rw-r--r-- | drivers/net/ethernet/stmicro/stmmac/stmmac_main.c | 19 |
1 files changed, 7 insertions, 12 deletions
diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index 7b05cd3fce1c..43036dabb9f9 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -1256,19 +1256,14 @@ static void free_dma_desc_resources(struct stmmac_priv *priv) */ static void stmmac_mac_enable_rx_queues(struct stmmac_priv *priv) { - int rx_count = priv->dma_cap.number_rx_queues; - int queue = 0; - - /* If GMAC does not have multiple queues, then this is not necessary*/ - if (rx_count == 1) - return; + u32 rx_queues_count = priv->plat->rx_queues_to_use; + int queue; + u8 mode; - /** - * If the core is synthesized with multiple rx queues / multiple - * dma channels, then rx queues will be disabled by default. - * For now only rx queue 0 is enabled. - */ - priv->hw->mac->rx_queue_enable(priv->hw, queue); + for (queue = 0; queue < rx_queues_count; queue++) { + mode = priv->plat->rx_queues_cfg[queue].mode_to_use; + priv->hw->mac->rx_queue_enable(priv->hw, mode, queue); + } } /** |