From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dalon Westergreen Subject: [PATCH net-next 4/8] net: eth: altera: tse: add optional function to start tx dma Date: Wed, 14 Nov 2018 16:50:43 -0800 Message-ID: <20181115005047.28464-5-dwesterg@gmail.com> References: <20181115005047.28464-1-dwesterg@gmail.com> Mime-Version: 1.0 Content-Transfer-Encoding: 8bit Cc: Dalon Westergreen To: netdev@vger.kernel.org, dinguyen@kernel.org, thor.thayer@linux.intel.com Return-path: Received: from mail-pf1-f196.google.com ([209.85.210.196]:33902 "EHLO mail-pf1-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727141AbeKOK4i (ORCPT ); Thu, 15 Nov 2018 05:56:38 -0500 Received: by mail-pf1-f196.google.com with SMTP id h3so2232193pfg.1 for ; Wed, 14 Nov 2018 16:51:02 -0800 (PST) In-Reply-To: <20181115005047.28464-1-dwesterg@gmail.com> Sender: netdev-owner@vger.kernel.org List-ID: From: Dalon Westergreen Allow for optional start up of tx dma if the start_txdma function is defined in altera_dmaops. Signed-off-by: Dalon Westergreen --- 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 d5b97e02e6d6..7f246040135d 100644 --- a/drivers/net/ethernet/altera/altera_tse.h +++ b/drivers/net/ethernet/altera/altera_tse.h @@ -412,6 +412,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 0c0e8f9bba9b..f6b6a14b1ce9 100644 --- a/drivers/net/ethernet/altera/altera_tse_main.c +++ b/drivers/net/ethernet/altera/altera_tse_main.c @@ -1256,6 +1256,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); @@ -1658,6 +1661,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 = { @@ -1677,6 +1681,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.19.1