Thread (32 messages) flat view 32 messages, 6 authors, 2020-07-23

Re: [PATCH v4 04/10] net: eth: altera: add optional function to start tx dma

From: Thor Thayer <hidden>
Date: 2020-07-23 16:34:59
Also in: lkml

On 7/8/20 2:23 AM, Ooi, Joyce wrote:
quoted hunk ↗ jump to hunk
From: Dalon Westergreen <redacted>

Allow for optional start up of tx dma if the start_txdma
function is defined in altera_dmaops.

Signed-off-by: Dalon Westergreen <redacted>
Signed-off-by: Joyce Ooi <redacted>
---
v2: no change
v3: no change
v4: 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[] = {
Reviewed-by: Thor Thayer <redacted>
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help