if (tx_q->dirty_tx != tx_q->cur_tx)
return -EBUSY; /* still unfinished work */
-@@ -1294,7 +1294,7 @@ static void stmmac_display_rx_rings(stru
+@@ -1309,7 +1309,7 @@ static void stmmac_display_rx_rings(stru
/* Display RX rings */
for (queue = 0; queue < rx_cnt; queue++) {
pr_info("\tRX Queue %u rings\n", queue);
-@@ -1307,7 +1307,7 @@ static void stmmac_display_rx_rings(stru
+@@ -1322,7 +1322,7 @@ static void stmmac_display_rx_rings(stru
}
/* Display RX ring */
rx_q->dma_rx_phy, desc_size);
}
}
-@@ -1321,7 +1321,7 @@ static void stmmac_display_tx_rings(stru
+@@ -1336,7 +1336,7 @@ static void stmmac_display_tx_rings(stru
/* Display TX rings */
for (queue = 0; queue < tx_cnt; queue++) {
pr_info("\tTX Queue %d rings\n", queue);
-@@ -1336,7 +1336,7 @@ static void stmmac_display_tx_rings(stru
+@@ -1351,7 +1351,7 @@ static void stmmac_display_tx_rings(stru
desc_size = sizeof(struct dma_desc);
}
tx_q->dma_tx_phy, desc_size);
}
}
-@@ -1377,21 +1377,21 @@ static int stmmac_set_bfsize(int mtu, in
+@@ -1392,21 +1392,21 @@ static int stmmac_set_bfsize(int mtu, in
*/
static void stmmac_clear_rx_descriptors(struct stmmac_priv *priv, u32 queue)
{
}
/**
-@@ -1403,12 +1403,12 @@ static void stmmac_clear_rx_descriptors(
+@@ -1418,12 +1418,12 @@ static void stmmac_clear_rx_descriptors(
*/
static void stmmac_clear_tx_descriptors(struct stmmac_priv *priv, u32 queue)
{
struct dma_desc *p;
if (priv->extend_desc)
-@@ -1456,7 +1456,7 @@ static void stmmac_clear_descriptors(str
+@@ -1471,7 +1471,7 @@ static void stmmac_clear_descriptors(str
static int stmmac_init_rx_buffers(struct stmmac_priv *priv, struct dma_desc *p,
int i, gfp_t flags, u32 queue)
{
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->page) {
-@@ -1481,7 +1481,7 @@ static int stmmac_init_rx_buffers(struct
+@@ -1496,7 +1496,7 @@ static int stmmac_init_rx_buffers(struct
buf->addr = page_pool_get_dma_addr(buf->page) + buf->page_offset;
stmmac_set_desc_addr(priv, p, buf->addr);
stmmac_init_desc3(priv, p);
return 0;
-@@ -1495,7 +1495,7 @@ static int stmmac_init_rx_buffers(struct
+@@ -1510,7 +1510,7 @@ static int stmmac_init_rx_buffers(struct
*/
static void stmmac_free_rx_buffer(struct stmmac_priv *priv, u32 queue, int i)
{
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (buf->page)
-@@ -1515,7 +1515,7 @@ static void stmmac_free_rx_buffer(struct
+@@ -1530,7 +1530,7 @@ static void stmmac_free_rx_buffer(struct
*/
static void stmmac_free_tx_buffer(struct stmmac_priv *priv, u32 queue, int i)
{
if (tx_q->tx_skbuff_dma[i].buf &&
tx_q->tx_skbuff_dma[i].buf_type != STMMAC_TXBUF_T_XDP_TX) {
-@@ -1560,17 +1560,17 @@ static void dma_free_rx_skbufs(struct st
+@@ -1575,17 +1575,17 @@ static void dma_free_rx_skbufs(struct st
{
int i;
struct dma_desc *p;
int ret;
-@@ -1597,10 +1597,10 @@ static int stmmac_alloc_rx_buffers(struc
+@@ -1612,10 +1612,10 @@ static int stmmac_alloc_rx_buffers(struc
*/
static void dma_free_rx_xskbufs(struct stmmac_priv *priv, u32 queue)
{
struct stmmac_rx_buffer *buf = &rx_q->buf_pool[i];
if (!buf->xdp)
-@@ -1613,10 +1613,10 @@ static void dma_free_rx_xskbufs(struct s
+@@ -1628,10 +1628,10 @@ static void dma_free_rx_xskbufs(struct s
static int stmmac_alloc_rx_buffers_zc(struct stmmac_priv *priv, u32 queue)
{
struct stmmac_rx_buffer *buf;
dma_addr_t dma_addr;
struct dma_desc *p;
-@@ -1659,7 +1659,7 @@ static struct xsk_buff_pool *stmmac_get_
+@@ -1674,7 +1674,7 @@ static struct xsk_buff_pool *stmmac_get_
*/
static int __init_dma_rx_desc_rings(struct stmmac_priv *priv, u32 queue, gfp_t flags)
{
int ret;
netif_dbg(priv, probe, priv->dev,
-@@ -1705,11 +1705,11 @@ static int __init_dma_rx_desc_rings(stru
+@@ -1720,11 +1720,11 @@ static int __init_dma_rx_desc_rings(stru
if (priv->extend_desc)
stmmac_mode_init(priv, rx_q->dma_erx,
rx_q->dma_rx_phy,
}
return 0;
-@@ -1736,7 +1736,7 @@ static int init_dma_rx_desc_rings(struct
+@@ -1751,7 +1751,7 @@ static int init_dma_rx_desc_rings(struct
err_init_rx_buffers:
while (queue >= 0) {
if (rx_q->xsk_pool)
dma_free_rx_xskbufs(priv, queue);
-@@ -1765,7 +1765,7 @@ err_init_rx_buffers:
+@@ -1780,7 +1780,7 @@ err_init_rx_buffers:
*/
static int __init_dma_tx_desc_rings(struct stmmac_priv *priv, u32 queue)
{
int i;
netif_dbg(priv, probe, priv->dev,
-@@ -1777,16 +1777,16 @@ static int __init_dma_tx_desc_rings(stru
+@@ -1792,16 +1792,16 @@ static int __init_dma_tx_desc_rings(stru
if (priv->extend_desc)
stmmac_mode_init(priv, tx_q->dma_etx,
tx_q->dma_tx_phy,
struct dma_desc *p;
if (priv->extend_desc)
-@@ -1856,12 +1856,12 @@ static int init_dma_desc_rings(struct ne
+@@ -1871,12 +1871,12 @@ static int init_dma_desc_rings(struct ne
*/
static void dma_free_tx_skbufs(struct stmmac_priv *priv, u32 queue)
{
stmmac_free_tx_buffer(priv, queue, i);
if (tx_q->xsk_pool && tx_q->xsk_frames_done) {
-@@ -1891,7 +1891,7 @@ static void stmmac_free_tx_skbufs(struct
+@@ -1906,7 +1906,7 @@ static void stmmac_free_tx_skbufs(struct
*/
static void __free_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue)
{
/* Release the DMA RX socket buffers */
if (rx_q->xsk_pool)
-@@ -1904,11 +1904,11 @@ static void __free_dma_rx_desc_resources
+@@ -1919,11 +1919,11 @@ static void __free_dma_rx_desc_resources
/* Free DMA regions of consistent memory previously allocated */
if (!priv->extend_desc)
sizeof(struct dma_extended_desc),
rx_q->dma_erx, rx_q->dma_rx_phy);
-@@ -1937,7 +1937,7 @@ static void free_dma_rx_desc_resources(s
+@@ -1952,7 +1952,7 @@ static void free_dma_rx_desc_resources(s
*/
static void __free_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue)
{
size_t size;
void *addr;
-@@ -1955,7 +1955,7 @@ static void __free_dma_tx_desc_resources
+@@ -1970,7 +1970,7 @@ static void __free_dma_tx_desc_resources
addr = tx_q->dma_tx;
}
dma_free_coherent(priv->device, size, addr, tx_q->dma_tx_phy);
-@@ -1984,7 +1984,7 @@ static void free_dma_tx_desc_resources(s
+@@ -1999,7 +1999,7 @@ static void free_dma_tx_desc_resources(s
*/
static int __alloc_dma_rx_desc_resources(struct stmmac_priv *priv, u32 queue)
{
struct stmmac_channel *ch = &priv->channel[queue];
bool xdp_prog = stmmac_xdp_is_enabled(priv);
struct page_pool_params pp_params = { 0 };
-@@ -1996,8 +1996,8 @@ static int __alloc_dma_rx_desc_resources
+@@ -2011,8 +2011,8 @@ static int __alloc_dma_rx_desc_resources
rx_q->priv_data = priv;
pp_params.flags = PP_FLAG_DMA_MAP | PP_FLAG_DMA_SYNC_DEV;
pp_params.order = ilog2(num_pages);
pp_params.nid = dev_to_node(priv->device);
pp_params.dev = priv->device;
-@@ -2012,7 +2012,7 @@ static int __alloc_dma_rx_desc_resources
+@@ -2027,7 +2027,7 @@ static int __alloc_dma_rx_desc_resources
return ret;
}
sizeof(*rx_q->buf_pool),
GFP_KERNEL);
if (!rx_q->buf_pool)
-@@ -2020,7 +2020,7 @@ static int __alloc_dma_rx_desc_resources
+@@ -2035,7 +2035,7 @@ static int __alloc_dma_rx_desc_resources
if (priv->extend_desc) {
rx_q->dma_erx = dma_alloc_coherent(priv->device,
sizeof(struct dma_extended_desc),
&rx_q->dma_rx_phy,
GFP_KERNEL);
-@@ -2029,7 +2029,7 @@ static int __alloc_dma_rx_desc_resources
+@@ -2044,7 +2044,7 @@ static int __alloc_dma_rx_desc_resources
} else {
rx_q->dma_rx = dma_alloc_coherent(priv->device,
sizeof(struct dma_desc),
&rx_q->dma_rx_phy,
GFP_KERNEL);
-@@ -2086,20 +2086,20 @@ err_dma:
+@@ -2101,20 +2101,20 @@ err_dma:
*/
static int __alloc_dma_tx_desc_resources(struct stmmac_priv *priv, u32 queue)
{
sizeof(struct sk_buff *),
GFP_KERNEL);
if (!tx_q->tx_skbuff)
-@@ -2112,7 +2112,7 @@ static int __alloc_dma_tx_desc_resources
+@@ -2127,7 +2127,7 @@ static int __alloc_dma_tx_desc_resources
else
size = sizeof(struct dma_desc);
addr = dma_alloc_coherent(priv->device, size,
&tx_q->dma_tx_phy, GFP_KERNEL);
-@@ -2356,7 +2356,7 @@ static void stmmac_dma_operation_mode(st
+@@ -2371,7 +2371,7 @@ static void stmmac_dma_operation_mode(st
/* configure all channels */
for (chan = 0; chan < rx_channels_count; chan++) {
u32 buf_size;
qmode = priv->plat->rx_queues_cfg[chan].mode_to_use;
-@@ -2371,7 +2371,7 @@ static void stmmac_dma_operation_mode(st
+@@ -2386,7 +2386,7 @@ static void stmmac_dma_operation_mode(st
chan);
} else {
stmmac_set_dma_bfsize(priv, priv->ioaddr,
chan);
}
}
-@@ -2387,7 +2387,7 @@ static void stmmac_dma_operation_mode(st
+@@ -2402,7 +2402,7 @@ static void stmmac_dma_operation_mode(st
static bool stmmac_xdp_xmit_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
{
struct netdev_queue *nq = netdev_get_tx_queue(priv->dev, queue);
struct xsk_buff_pool *pool = tx_q->xsk_pool;
unsigned int entry = tx_q->cur_tx;
struct dma_desc *tx_desc = NULL;
-@@ -2462,7 +2462,7 @@ static bool stmmac_xdp_xmit_zc(struct st
+@@ -2477,7 +2477,7 @@ static bool stmmac_xdp_xmit_zc(struct st
stmmac_enable_dma_transmission(priv, priv->ioaddr);
entry = tx_q->cur_tx;
}
-@@ -2488,7 +2488,7 @@ static bool stmmac_xdp_xmit_zc(struct st
+@@ -2503,7 +2503,7 @@ static bool stmmac_xdp_xmit_zc(struct st
*/
static int stmmac_tx_clean(struct stmmac_priv *priv, int budget, u32 queue)
{
unsigned int bytes_compl = 0, pkts_compl = 0;
unsigned int entry, xmits = 0, count = 0;
-@@ -2501,7 +2501,7 @@ static int stmmac_tx_clean(struct stmmac
+@@ -2516,7 +2516,7 @@ static int stmmac_tx_clean(struct stmmac
entry = tx_q->dirty_tx;
/* Try to clean all TX complete frame in 1 shot */
struct xdp_frame *xdpf;
struct sk_buff *skb;
struct dma_desc *p;
-@@ -2601,7 +2601,7 @@ static int stmmac_tx_clean(struct stmmac
+@@ -2616,7 +2616,7 @@ static int stmmac_tx_clean(struct stmmac
stmmac_release_tx_desc(priv, p, priv->mode);
}
tx_q->dirty_tx = entry;
-@@ -2666,7 +2666,7 @@ static int stmmac_tx_clean(struct stmmac
+@@ -2681,7 +2681,7 @@ static int stmmac_tx_clean(struct stmmac
*/
static void stmmac_tx_err(struct stmmac_priv *priv, u32 chan)
{
netif_tx_stop_queue(netdev_get_tx_queue(priv->dev, chan));
-@@ -2733,8 +2733,8 @@ static int stmmac_napi_check(struct stmm
+@@ -2748,8 +2748,8 @@ static int stmmac_napi_check(struct stmm
{
int status = stmmac_dma_interrupt_status(priv, priv->ioaddr,
&priv->xstats, chan, dir);
struct stmmac_channel *ch = &priv->channel[chan];
struct napi_struct *rx_napi;
struct napi_struct *tx_napi;
-@@ -2910,7 +2910,7 @@ static int stmmac_init_dma_engine(struct
+@@ -2925,7 +2925,7 @@ static int stmmac_init_dma_engine(struct
/* DMA RX Channel Configuration */
for (chan = 0; chan < rx_channels_count; chan++) {
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan);
-@@ -2924,7 +2924,7 @@ static int stmmac_init_dma_engine(struct
+@@ -2939,7 +2939,7 @@ static int stmmac_init_dma_engine(struct
/* DMA TX Channel Configuration */
for (chan = 0; chan < tx_channels_count; chan++) {
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan);
-@@ -2939,7 +2939,7 @@ static int stmmac_init_dma_engine(struct
+@@ -2954,7 +2954,7 @@ static int stmmac_init_dma_engine(struct
static void stmmac_tx_timer_arm(struct stmmac_priv *priv, u32 queue)
{
hrtimer_start(&tx_q->txtimer,
STMMAC_COAL_TIMER(priv->tx_coal_timer[queue]),
-@@ -2989,7 +2989,7 @@ static void stmmac_init_coalesce(struct
+@@ -3004,7 +3004,7 @@ static void stmmac_init_coalesce(struct
u32 chan;
for (chan = 0; chan < tx_channel_count; chan++) {
priv->tx_coal_frames[chan] = STMMAC_TX_FRAMES;
priv->tx_coal_timer[chan] = STMMAC_COAL_TX_TIMER;
-@@ -3011,12 +3011,12 @@ static void stmmac_set_rings_length(stru
+@@ -3026,12 +3026,12 @@ static void stmmac_set_rings_length(stru
/* set TX ring length */
for (chan = 0; chan < tx_channels_count; chan++)
stmmac_set_tx_ring_len(priv, priv->ioaddr,
}
/**
-@@ -3351,7 +3351,7 @@ static int stmmac_hw_setup(struct net_de
+@@ -3366,7 +3366,7 @@ static int stmmac_hw_setup(struct net_de
/* Enable TSO */
if (priv->tso) {
for (chan = 0; chan < tx_cnt; chan++) {
/* TSO and TBS cannot co-exist */
if (tx_q->tbs & STMMAC_TBS_AVAIL)
-@@ -3373,7 +3373,7 @@ static int stmmac_hw_setup(struct net_de
+@@ -3388,7 +3388,7 @@ static int stmmac_hw_setup(struct net_de
/* TBS */
for (chan = 0; chan < tx_cnt; chan++) {
int enable = tx_q->tbs & STMMAC_TBS_AVAIL;
stmmac_enable_tbs(priv, priv->ioaddr, enable, chan);
-@@ -3417,7 +3417,7 @@ static void stmmac_free_irq(struct net_d
+@@ -3432,7 +3432,7 @@ static void stmmac_free_irq(struct net_d
for (j = irq_idx - 1; j >= 0; j--) {
if (priv->tx_irq[j] > 0) {
irq_set_affinity_hint(priv->tx_irq[j], NULL);
}
}
irq_idx = priv->plat->rx_queues_to_use;
-@@ -3426,7 +3426,7 @@ static void stmmac_free_irq(struct net_d
+@@ -3441,7 +3441,7 @@ static void stmmac_free_irq(struct net_d
for (j = irq_idx - 1; j >= 0; j--) {
if (priv->rx_irq[j] > 0) {
irq_set_affinity_hint(priv->rx_irq[j], NULL);
}
}
-@@ -3559,7 +3559,7 @@ static int stmmac_request_irq_multi_msi(
+@@ -3574,7 +3574,7 @@ static int stmmac_request_irq_multi_msi(
sprintf(int_name, "%s:%s-%d", dev->name, "rx", i);
ret = request_irq(priv->rx_irq[i],
stmmac_msi_intr_rx,
if (unlikely(ret < 0)) {
netdev_err(priv->dev,
"%s: alloc rx-%d MSI %d (error: %d)\n",
-@@ -3582,7 +3582,7 @@ static int stmmac_request_irq_multi_msi(
+@@ -3597,7 +3597,7 @@ static int stmmac_request_irq_multi_msi(
sprintf(int_name, "%s:%s-%d", dev->name, "tx", i);
ret = request_irq(priv->tx_irq[i],
stmmac_msi_intr_tx,
if (unlikely(ret < 0)) {
netdev_err(priv->dev,
"%s: alloc tx-%d MSI %d (error: %d)\n",
-@@ -3713,21 +3713,21 @@ static int stmmac_open(struct net_device
+@@ -3728,21 +3728,21 @@ static int stmmac_open(struct net_device
bfsize = 0;
if (bfsize < BUF_SIZE_16KiB)
int tbs_en = priv->plat->tx_queues_cfg[chan].tbs_en;
/* Setup per-TXQ tbs flag before TX descriptor alloc */
-@@ -3785,7 +3785,7 @@ irq_error:
+@@ -3800,7 +3800,7 @@ irq_error:
phylink_stop(priv->phylink);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
stmmac_hw_teardown(dev);
init_error:
-@@ -3827,7 +3827,7 @@ static int stmmac_release(struct net_dev
+@@ -3842,7 +3842,7 @@ static int stmmac_release(struct net_dev
stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
netif_tx_disable(dev);
-@@ -3891,7 +3891,7 @@ static bool stmmac_vlan_insert(struct st
+@@ -3906,7 +3906,7 @@ static bool stmmac_vlan_insert(struct st
return false;
stmmac_set_tx_owner(priv, p);
return true;
}
-@@ -3909,7 +3909,7 @@ static bool stmmac_vlan_insert(struct st
+@@ -3924,7 +3924,7 @@ static bool stmmac_vlan_insert(struct st
static void stmmac_tso_allocator(struct stmmac_priv *priv, dma_addr_t des,
int total_len, bool last_segment, u32 queue)
{
struct dma_desc *desc;
u32 buff_size;
int tmp_len;
-@@ -3920,7 +3920,7 @@ static void stmmac_tso_allocator(struct
+@@ -3935,7 +3935,7 @@ static void stmmac_tso_allocator(struct
dma_addr_t curr_addr;
tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx,
WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]);
if (tx_q->tbs & STMMAC_TBS_AVAIL)
-@@ -3948,7 +3948,7 @@ static void stmmac_tso_allocator(struct
+@@ -3963,7 +3963,7 @@ static void stmmac_tso_allocator(struct
static void stmmac_flush_tx_descriptors(struct stmmac_priv *priv, int queue)
{
int desc_size;
if (likely(priv->extend_desc))
-@@ -4010,7 +4010,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
+@@ -4025,7 +4025,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
dma_addr_t des;
int i;
first_tx = tx_q->cur_tx;
/* Compute header lengths */
-@@ -4050,7 +4050,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
+@@ -4065,7 +4065,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
stmmac_set_mss(priv, mss_desc, mss);
tx_q->mss = mss;
tx_q->cur_tx = STMMAC_GET_ENTRY(tx_q->cur_tx,
WARN_ON(tx_q->tx_skbuff[tx_q->cur_tx]);
}
-@@ -4162,7 +4162,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
+@@ -4177,7 +4177,7 @@ static netdev_tx_t stmmac_tso_xmit(struc
* ndo_start_xmit will fill this descriptor the next time it's
* called and stmmac_tx_clean may clean up to this descriptor.
*/
if (unlikely(stmmac_tx_avail(priv, queue) <= (MAX_SKB_FRAGS + 1))) {
netif_dbg(priv, hw, priv->dev, "%s: stop transmitted packets\n",
-@@ -4250,7 +4250,7 @@ static netdev_tx_t stmmac_xmit(struct sk
+@@ -4265,7 +4265,7 @@ static netdev_tx_t stmmac_xmit(struct sk
int entry, first_tx;
dma_addr_t des;
first_tx = tx_q->cur_tx;
if (priv->tx_path_in_lpi_mode && priv->eee_sw_timer_en)
-@@ -4313,7 +4313,7 @@ static netdev_tx_t stmmac_xmit(struct sk
+@@ -4328,7 +4328,7 @@ static netdev_tx_t stmmac_xmit(struct sk
int len = skb_frag_size(frag);
bool last_segment = (i == (nfrags - 1));
WARN_ON(tx_q->tx_skbuff[entry]);
if (likely(priv->extend_desc))
-@@ -4384,7 +4384,7 @@ static netdev_tx_t stmmac_xmit(struct sk
+@@ -4399,7 +4399,7 @@ static netdev_tx_t stmmac_xmit(struct sk
* ndo_start_xmit will fill this descriptor the next time it's
* called and stmmac_tx_clean may clean up to this descriptor.
*/
tx_q->cur_tx = entry;
if (netif_msg_pktdata(priv)) {
-@@ -4499,7 +4499,7 @@ static void stmmac_rx_vlan(struct net_de
+@@ -4514,7 +4514,7 @@ static void stmmac_rx_vlan(struct net_de
*/
static inline void stmmac_rx_refill(struct stmmac_priv *priv, u32 queue)
{
int dirty = stmmac_rx_dirty(priv, queue);
unsigned int entry = rx_q->dirty_rx;
-@@ -4549,7 +4549,7 @@ static inline void stmmac_rx_refill(stru
+@@ -4564,7 +4564,7 @@ static inline void stmmac_rx_refill(stru
dma_wmb();
stmmac_set_rx_owner(priv, p, use_rx_wd);
}
rx_q->dirty_rx = entry;
rx_q->rx_tail_addr = rx_q->dma_rx_phy +
-@@ -4577,12 +4577,12 @@ static unsigned int stmmac_rx_buf1_len(s
+@@ -4592,12 +4592,12 @@ static unsigned int stmmac_rx_buf1_len(s
/* First descriptor, not last descriptor and not split header */
if (status & rx_not_ls)
}
static unsigned int stmmac_rx_buf2_len(struct stmmac_priv *priv,
-@@ -4598,7 +4598,7 @@ static unsigned int stmmac_rx_buf2_len(s
+@@ -4613,7 +4613,7 @@ static unsigned int stmmac_rx_buf2_len(s
/* Not last descriptor */
if (status & rx_not_ls)
plen = stmmac_get_rx_frame_len(priv, p, coe);
-@@ -4609,7 +4609,7 @@ static unsigned int stmmac_rx_buf2_len(s
+@@ -4624,7 +4624,7 @@ static unsigned int stmmac_rx_buf2_len(s
static int stmmac_xdp_xmit_xdpf(struct stmmac_priv *priv, int queue,
struct xdp_frame *xdpf, bool dma_map)
{
unsigned int entry = tx_q->cur_tx;
struct dma_desc *tx_desc;
dma_addr_t dma_addr;
-@@ -4672,7 +4672,7 @@ static int stmmac_xdp_xmit_xdpf(struct s
+@@ -4687,7 +4687,7 @@ static int stmmac_xdp_xmit_xdpf(struct s
stmmac_enable_dma_transmission(priv, priv->ioaddr);
tx_q->cur_tx = entry;
return STMMAC_XDP_TX;
-@@ -4846,7 +4846,7 @@ static void stmmac_dispatch_skb_zc(struc
+@@ -4861,7 +4861,7 @@ static void stmmac_dispatch_skb_zc(struc
static bool stmmac_rx_refill_zc(struct stmmac_priv *priv, u32 queue, u32 budget)
{
unsigned int entry = rx_q->dirty_rx;
struct dma_desc *rx_desc = NULL;
bool ret = true;
-@@ -4889,7 +4889,7 @@ static bool stmmac_rx_refill_zc(struct s
+@@ -4904,7 +4904,7 @@ static bool stmmac_rx_refill_zc(struct s
dma_wmb();
stmmac_set_rx_owner(priv, rx_desc, use_rx_wd);
}
if (rx_desc) {
-@@ -4904,7 +4904,7 @@ static bool stmmac_rx_refill_zc(struct s
+@@ -4919,7 +4919,7 @@ static bool stmmac_rx_refill_zc(struct s
static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
{
unsigned int count = 0, error = 0, len = 0;
int dirty = stmmac_rx_dirty(priv, queue);
unsigned int next_entry = rx_q->cur_rx;
-@@ -4926,7 +4926,7 @@ static int stmmac_rx_zc(struct stmmac_pr
+@@ -4941,7 +4941,7 @@ static int stmmac_rx_zc(struct stmmac_pr
desc_size = sizeof(struct dma_desc);
}
rx_q->dma_rx_phy, desc_size);
}
while (count < limit) {
-@@ -4973,7 +4973,7 @@ read_again:
+@@ -4988,7 +4988,7 @@ read_again:
/* Prefetch the next RX descriptor */
rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx,
next_entry = rx_q->cur_rx;
if (priv->extend_desc)
-@@ -5094,7 +5094,7 @@ read_again:
+@@ -5109,7 +5109,7 @@ read_again:
*/
static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
{
struct stmmac_channel *ch = &priv->channel[queue];
unsigned int count = 0, error = 0, len = 0;
int status = 0, coe = priv->hw->rx_csum;
-@@ -5107,7 +5107,7 @@ static int stmmac_rx(struct stmmac_priv
+@@ -5122,7 +5122,7 @@ static int stmmac_rx(struct stmmac_priv
int buf_sz;
dma_dir = page_pool_get_dma_dir(rx_q->page_pool);
if (netif_msg_rx_status(priv)) {
void *rx_head;
-@@ -5121,7 +5121,7 @@ static int stmmac_rx(struct stmmac_priv
+@@ -5136,7 +5136,7 @@ static int stmmac_rx(struct stmmac_priv
desc_size = sizeof(struct dma_desc);
}
rx_q->dma_rx_phy, desc_size);
}
while (count < limit) {
-@@ -5165,7 +5165,7 @@ read_again:
+@@ -5180,7 +5180,7 @@ read_again:
break;
rx_q->cur_rx = STMMAC_GET_ENTRY(rx_q->cur_rx,
next_entry = rx_q->cur_rx;
if (priv->extend_desc)
-@@ -5299,7 +5299,7 @@ read_again:
+@@ -5314,7 +5314,7 @@ read_again:
buf1_len, dma_dir);
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
buf->page, buf->page_offset, buf1_len,
/* Data payload appended into SKB */
page_pool_release_page(rx_q->page_pool, buf->page);
-@@ -5311,7 +5311,7 @@ read_again:
+@@ -5326,7 +5326,7 @@ read_again:
buf2_len, dma_dir);
skb_add_rx_frag(skb, skb_shinfo(skb)->nr_frags,
buf->sec_page, 0, buf2_len,
/* Data payload appended into SKB */
page_pool_release_page(rx_q->page_pool, buf->sec_page);
-@@ -5753,11 +5753,13 @@ static irqreturn_t stmmac_safety_interru
+@@ -5768,11 +5768,13 @@ static irqreturn_t stmmac_safety_interru
static irqreturn_t stmmac_msi_intr_tx(int irq, void *data)
{
struct stmmac_tx_queue *tx_q = (struct stmmac_tx_queue *)data;
if (unlikely(!data)) {
netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
-@@ -5797,10 +5799,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
+@@ -5812,10 +5814,12 @@ static irqreturn_t stmmac_msi_intr_tx(in
static irqreturn_t stmmac_msi_intr_rx(int irq, void *data)
{
struct stmmac_rx_queue *rx_q = (struct stmmac_rx_queue *)data;
if (unlikely(!data)) {
netdev_err(priv->dev, "%s: invalid dev pointer\n", __func__);
-@@ -5831,10 +5835,10 @@ static void stmmac_poll_controller(struc
+@@ -5846,10 +5850,10 @@ static void stmmac_poll_controller(struc
if (priv->plat->multi_msi_en) {
for (i = 0; i < priv->plat->rx_queues_to_use; i++)
} else {
disable_irq(dev->irq);
stmmac_interrupt(dev->irq, dev);
-@@ -6015,34 +6019,34 @@ static int stmmac_rings_status_show(stru
+@@ -6030,34 +6034,34 @@ static int stmmac_rings_status_show(stru
return 0;
for (queue = 0; queue < rx_count; queue++) {
}
}
-@@ -6383,7 +6387,7 @@ void stmmac_disable_rx_queue(struct stmm
+@@ -6404,7 +6408,7 @@ void stmmac_disable_rx_queue(struct stmm
void stmmac_enable_rx_queue(struct stmmac_priv *priv, u32 queue)
{
struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags;
u32 buf_size;
-@@ -6420,7 +6424,7 @@ void stmmac_enable_rx_queue(struct stmma
+@@ -6441,7 +6445,7 @@ void stmmac_enable_rx_queue(struct stmma
rx_q->queue_index);
} else {
stmmac_set_dma_bfsize(priv, priv->ioaddr,
rx_q->queue_index);
}
-@@ -6446,7 +6450,7 @@ void stmmac_disable_tx_queue(struct stmm
+@@ -6467,7 +6471,7 @@ void stmmac_disable_tx_queue(struct stmm
void stmmac_enable_tx_queue(struct stmmac_priv *priv, u32 queue)
{
struct stmmac_channel *ch = &priv->channel[queue];
unsigned long flags;
int ret;
-@@ -6493,7 +6497,7 @@ void stmmac_xdp_release(struct net_devic
+@@ -6517,7 +6521,7 @@ void stmmac_xdp_release(struct net_devic
stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
/* Free the IRQ lines */
stmmac_free_irq(dev, REQ_IRQ_ERR_ALL, 0);
-@@ -6552,7 +6556,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6576,7 +6580,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA RX Channel Configuration */
for (chan = 0; chan < rx_cnt; chan++) {
stmmac_init_rx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
rx_q->dma_rx_phy, chan);
-@@ -6570,7 +6574,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6594,7 +6598,7 @@ int stmmac_xdp_open(struct net_device *d
rx_q->queue_index);
} else {
stmmac_set_dma_bfsize(priv, priv->ioaddr,
rx_q->queue_index);
}
-@@ -6579,7 +6583,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6603,7 +6607,7 @@ int stmmac_xdp_open(struct net_device *d
/* DMA TX Channel Configuration */
for (chan = 0; chan < tx_cnt; chan++) {
stmmac_init_tx_chan(priv, priv->ioaddr, priv->plat->dma_cfg,
tx_q->dma_tx_phy, chan);
-@@ -6612,7 +6616,7 @@ int stmmac_xdp_open(struct net_device *d
+@@ -6636,7 +6640,7 @@ int stmmac_xdp_open(struct net_device *d
irq_error:
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
stmmac_hw_teardown(dev);
init_error:
-@@ -6639,8 +6643,8 @@ int stmmac_xsk_wakeup(struct net_device
+@@ -6663,8 +6667,8 @@ int stmmac_xsk_wakeup(struct net_device
queue >= priv->plat->tx_queues_to_use)
return -EINVAL;
ch = &priv->channel[queue];
if (!rx_q->xsk_pool && !tx_q->xsk_pool)
-@@ -6896,8 +6900,8 @@ int stmmac_reinit_ringparam(struct net_d
+@@ -6924,8 +6928,8 @@ int stmmac_reinit_ringparam(struct net_d
if (netif_running(dev))
stmmac_release(dev);
if (netif_running(dev))
ret = stmmac_open(dev);
-@@ -7333,7 +7337,7 @@ int stmmac_suspend(struct device *dev)
+@@ -7363,7 +7367,7 @@ int stmmac_suspend(struct device *dev)
stmmac_disable_all_queues(priv);
for (chan = 0; chan < priv->plat->tx_queues_to_use; chan++)
if (priv->eee_enabled) {
priv->tx_path_in_lpi_mode = false;
-@@ -7384,7 +7388,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
+@@ -7414,7 +7418,7 @@ EXPORT_SYMBOL_GPL(stmmac_suspend);
static void stmmac_reset_rx_queue(struct stmmac_priv *priv, u32 queue)
{
rx_q->cur_rx = 0;
rx_q->dirty_rx = 0;
-@@ -7392,7 +7396,7 @@ static void stmmac_reset_rx_queue(struct
+@@ -7422,7 +7426,7 @@ static void stmmac_reset_rx_queue(struct
static void stmmac_reset_tx_queue(struct stmmac_priv *priv, u32 queue)
{
stmmac_set_rx_tail_ptr(priv, priv->ioaddr, tail, i);
stmmac_start_rx(priv, priv->ioaddr, i);
-@@ -1680,7 +1680,7 @@ cleanup:
+@@ -1684,7 +1684,7 @@ cleanup:
static int __stmmac_test_jumbo(struct stmmac_priv *priv, u16 queue)
{
struct stmmac_packet_attrs attr = { };
attr.dst = priv->dev->dev_addr;
attr.max_size = size - ETH_FCS_LEN;
-@@ -1763,7 +1763,7 @@ static int stmmac_test_tbs(struct stmmac
+@@ -1767,7 +1767,7 @@ static int stmmac_test_tbs(struct stmmac
/* Find first TBS enabled Queue, if any */
for (i = 0; i < priv->plat->tx_queues_to_use; i++)