diff options
author | Byungho An <bh74.an@samsung.com> | 2014-04-29 04:15:17 (GMT) |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2014-04-30 20:12:22 (GMT) |
commit | 325b94f7e63080f3e371e35f063a8be138c1873b (patch) | |
tree | d68462f19f782452eadc8d1ca66d351b1af0a97d /drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | |
parent | 0a0347b1e65d0757024d9db0ffdeafb41a9d14f4 (diff) | |
download | linux-325b94f7e63080f3e371e35f063a8be138c1873b.tar.xz |
net: sxgbe: Added rxqueue enable function
This patch adds rxqueue enable function according to number of rxqueue
and adds rxqueue disable function for removing.
Signed-off-by: Byungho An <bh74.an@samsung.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c')
-rw-r--r-- | drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c index 6ad7b3a..fd5c428 100644 --- a/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c +++ b/drivers/net/ethernet/samsung/sxgbe/sxgbe_main.c @@ -1076,6 +1076,9 @@ static int sxgbe_open(struct net_device *dev) /* Initialize the MAC Core */ priv->hw->mac->core_init(priv->ioaddr); + SXGBE_FOR_EACH_QUEUE(SXGBE_RX_QUEUES, queue_num) { + priv->hw->mac->enable_rxqueue(priv->ioaddr, queue_num); + } /* Request the IRQ lines */ ret = devm_request_irq(priv->device, priv->irq, sxgbe_common_interrupt, @@ -2240,9 +2243,14 @@ error_free_netdev: int sxgbe_drv_remove(struct net_device *ndev) { struct sxgbe_priv_data *priv = netdev_priv(ndev); + u8 queue_num; netdev_info(ndev, "%s: removing driver\n", __func__); + SXGBE_FOR_EACH_QUEUE(SXGBE_RX_QUEUES, queue_num) { + priv->hw->mac->disable_rxqueue(priv->ioaddr, queue_num); + } + priv->hw->dma->stop_rx(priv->ioaddr, SXGBE_RX_QUEUES); priv->hw->dma->stop_tx(priv->ioaddr, SXGBE_TX_QUEUES); |