* Called from stmmac via stmmac_dma_ops->init
  */
 static void sun8i_dwmac_dma_init(void __iomem *ioaddr,
-                                struct stmmac_dma_cfg *dma_cfg, int atds)
+                                struct stmmac_dma_cfg *dma_cfg)
 {
        writel(EMAC_RX_INT | EMAC_TX_INT, ioaddr + EMAC_INT_EN);
        writel(0x1FFFFFF, ioaddr + EMAC_INT_STA);
 
 }
 
 static void dwmac1000_dma_init(void __iomem *ioaddr,
-                              struct stmmac_dma_cfg *dma_cfg, int atds)
+                              struct stmmac_dma_cfg *dma_cfg)
 {
        u32 value = readl(ioaddr + DMA_BUS_MODE);
        int txpbl = dma_cfg->txpbl ?: dma_cfg->pbl;
        if (dma_cfg->mixed_burst)
                value |= DMA_BUS_MODE_MB;
 
-       if (atds)
+       if (dma_cfg->atds)
                value |= DMA_BUS_MODE_ATDS;
 
        if (dma_cfg->aal)
 
 #include "dwmac_dma.h"
 
 static void dwmac100_dma_init(void __iomem *ioaddr,
-                             struct stmmac_dma_cfg *dma_cfg, int atds)
+                             struct stmmac_dma_cfg *dma_cfg)
 {
        /* Enable Application Access by writing to DMA CSR0 */
        writel(DMA_BUS_MODE_DEFAULT | (dma_cfg->pbl << DMA_BUS_MODE_PBL_SHIFT),
 
 }
 
 static void dwmac4_dma_init(void __iomem *ioaddr,
-                           struct stmmac_dma_cfg *dma_cfg, int atds)
+                           struct stmmac_dma_cfg *dma_cfg)
 {
        u32 value = readl(ioaddr + DMA_SYS_BUS_MODE);
 
 
 }
 
 static void dwxgmac2_dma_init(void __iomem *ioaddr,
-                             struct stmmac_dma_cfg *dma_cfg, int atds)
+                             struct stmmac_dma_cfg *dma_cfg)
 {
        u32 value = readl(ioaddr + XGMAC_DMA_SYSBUS_MODE);
 
 
 struct stmmac_dma_ops {
        /* DMA core initialization */
        int (*reset)(void __iomem *ioaddr);
-       void (*init)(void __iomem *ioaddr, struct stmmac_dma_cfg *dma_cfg,
-                    int atds);
+       void (*init)(void __iomem *ioaddr, struct stmmac_dma_cfg *dma_cfg);
        void (*init_chan)(struct stmmac_priv *priv, void __iomem *ioaddr,
                          struct stmmac_dma_cfg *dma_cfg, u32 chan);
        void (*init_rx_chan)(struct stmmac_priv *priv, void __iomem *ioaddr,
 
        struct stmmac_rx_queue *rx_q;
        struct stmmac_tx_queue *tx_q;
        u32 chan = 0;
-       int atds = 0;
        int ret = 0;
 
        if (!priv->plat->dma_cfg || !priv->plat->dma_cfg->pbl) {
        }
 
        if (priv->extend_desc && (priv->mode == STMMAC_RING_MODE))
-               atds = 1;
+               priv->plat->dma_cfg->atds = 1;
 
        ret = stmmac_reset(priv, priv->ioaddr);
        if (ret) {
        }
 
        /* DMA Configuration */
-       stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg, atds);
+       stmmac_dma_init(priv, priv->ioaddr, priv->plat->dma_cfg);
 
        if (priv->plat->axi)
                stmmac_axi(priv, priv->ioaddr, priv->plat->axi);
 
        bool eame;
        bool multi_msi_en;
        bool dche;
+       bool atds;
 };
 
 #define AXI_BLEN       7