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

Thor Thayer
2020-07-23T16:34:59Z

On 7/8/20 2:23 AM, Ooi, Joyce wrote:
> From: Dalon Westergreen <dalon.westergreen@intel.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@intel.com>
> Signed-off-by: Joyce Ooi <joyce.ooi@intel.com>
> ---
> 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 <thor.thayer@linux.intel.com>