+ buf_sz = dma_conf->dma_buf_sz;
+ memcpy(&priv->dma_conf, dma_conf, sizeof(*dma_conf));
- stmmac_reset_queues_param(priv);
-
-@@ -3780,14 +3882,28 @@ irq_error:
+ if (priv->plat->serdes_powerup) {
+ ret = priv->plat->serdes_powerup(dev, priv->plat->bsp_priv);
+@@ -3789,14 +3891,28 @@ irq_error:
stmmac_hw_teardown(dev);
init_error:
static void stmmac_fpe_stop_wq(struct stmmac_priv *priv)
{
set_bit(__FPE_REMOVING, &priv->fpe_task_state);
-@@ -3834,7 +3950,7 @@ static int stmmac_release(struct net_dev
+@@ -3843,7 +3959,7 @@ static int stmmac_release(struct net_dev
stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */
/* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6369,7 +6485,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6382,7 +6498,7 @@ void stmmac_disable_rx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_rx_dma(priv, queue);
}
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6380,21 +6496,21 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6393,21 +6509,21 @@ void stmmac_enable_rx_queue(struct stmma
u32 buf_size;
int ret;
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, rx_q->queue_index);
-@@ -6432,7 +6548,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6445,7 +6561,7 @@ void stmmac_disable_tx_queue(struct stmm
spin_unlock_irqrestore(&ch->lock, flags);
stmmac_stop_tx_dma(priv, queue);
}
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
-@@ -6442,21 +6558,21 @@ void stmmac_enable_tx_queue(struct stmma
+@@ -6455,21 +6571,21 @@ void stmmac_enable_tx_queue(struct stmma
unsigned long flags;
int ret;
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, tx_q->queue_index);
-@@ -6493,7 +6609,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6506,7 +6622,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_stop_all_dma(priv);
/* Release and free the Rx/Tx resources */
/* Disable the MAC Rx/Tx */
stmmac_mac_set(priv, priv->ioaddr, false);
-@@ -6518,14 +6634,14 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6531,14 +6647,14 @@ int stmmac_xdp_open(struct net_device *d
u32 chan;
int ret;
if (ret < 0) {
netdev_err(dev, "%s: DMA descriptors initialization failed\n",
__func__);
-@@ -6607,7 +6723,7 @@ irq_error:
+@@ -6620,7 +6736,7 @@ irq_error:
stmmac_hw_teardown(dev);
init_error:
dma_desc_error:
return ret;
}
-@@ -7476,7 +7592,7 @@ int stmmac_resume(struct device *dev)
+@@ -7479,7 +7595,7 @@ int stmmac_resume(struct device *dev)
stmmac_reset_queues_param(priv);
stmmac_free_tx_skbufs(priv);