[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-Id: <20200818154613.148921-5-joyce.ooi@intel.com>
Date: Tue, 18 Aug 2020 23:46:07 +0800
From: "Ooi, Joyce" <joyce.ooi@...el.com>
To: "David S . Miller" <davem@...emloft.net>,
Jakub Kicinski <kuba@...nel.org>
Cc: netdev@...r.kernel.org, linux-kernel@...r.kernel.org,
Dalon Westergreen <dalon.westergreen@...ux.intel.com>,
Joyce Ooi <joyce.ooi@...el.com>,
Tan Ley Foon <ley.foon.tan@...el.com>,
See Chin Liang <chin.liang.see@...el.com>,
Dinh Nguyen <dinh.nguyen@...el.com>,
Dalon Westergreen <dalon.westergreen@...el.com>
Subject: [PATCH v6 04/10] net: eth: altera: add optional function to start tx dma
From: Dalon Westergreen <dalon.westergreen@...el.com>
Allow for optional start up of tx dma if the start_txdma
function is defined in altera_dmaops.
Signed-off-by: Dalon Westergreen <dalon.westergreen@...el.com>
Signed-off-by: Joyce Ooi <joyce.ooi@...el.com>
Reviewed-by: Thor Thayer <thor.thayer@...ux.intel.com>
---
v2: no change
v3: no change
v4: no change
v5: no change
v6: no change
---
drivers/net/ethernet/altera/altera_tse.h | 1 +
drivers/net/ethernet/altera/altera_tse_main.c | 5 +++++
2 files changed, 6 insertions(+)
diff --git a/drivers/net/ethernet/altera/altera_tse.h b/drivers/net/ethernet/altera/altera_tse.h
index 7d0c98fc103e..26c5541fda27 100644
--- a/drivers/net/ethernet/altera/altera_tse.h
+++ b/drivers/net/ethernet/altera/altera_tse.h
@@ -401,6 +401,7 @@ struct altera_dmaops {
int (*init_dma)(struct altera_tse_private *priv);
void (*uninit_dma)(struct altera_tse_private *priv);
void (*start_rxdma)(struct altera_tse_private *priv);
+ void (*start_txdma)(struct altera_tse_private *priv);
};
/* This structure is private to each device.
diff --git a/drivers/net/ethernet/altera/altera_tse_main.c b/drivers/net/ethernet/altera/altera_tse_main.c
index a3749ffdcac9..0a724e4d2c8c 100644
--- a/drivers/net/ethernet/altera/altera_tse_main.c
+++ b/drivers/net/ethernet/altera/altera_tse_main.c
@@ -1244,6 +1244,9 @@ static int tse_open(struct net_device *dev)
priv->dmaops->start_rxdma(priv);
+ if (priv->dmaops->start_txdma)
+ priv->dmaops->start_txdma(priv);
+
/* Start MAC Rx/Tx */
spin_lock(&priv->mac_cfg_lock);
tse_set_mac(priv, true);
@@ -1646,6 +1649,7 @@ static const struct altera_dmaops altera_dtype_sgdma = {
.init_dma = sgdma_initialize,
.uninit_dma = sgdma_uninitialize,
.start_rxdma = sgdma_start_rxdma,
+ .start_txdma = NULL,
};
static const struct altera_dmaops altera_dtype_msgdma = {
@@ -1665,6 +1669,7 @@ static const struct altera_dmaops altera_dtype_msgdma = {
.init_dma = msgdma_initialize,
.uninit_dma = msgdma_uninitialize,
.start_rxdma = msgdma_start_rxdma,
+ .start_txdma = NULL,
};
static const struct of_device_id altera_tse_ids[] = {
--
2.13.0
Powered by blists - more mailing lists