]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
net: stmmac: add helper to get size of a receive descriptor
authorRussell King (Oracle) <rmk+kernel@armlinux.org.uk>
Sat, 14 Mar 2026 09:42:45 +0000 (09:42 +0000)
committerJakub Kicinski <kuba@kernel.org>
Wed, 18 Mar 2026 03:32:08 +0000 (20:32 -0700)
Add and use a helper to get the size of the hardware receive
descriptor.

Signed-off-by: Russell King (Oracle) <rmk+kernel@armlinux.org.uk>
Link: https://patch.msgid.link/E1w1LW9-0000000DGS9-1mzX@rmk-PC.armlinux.org.uk
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/ethernet/stmicro/stmmac/stmmac_main.c

index f447893a7ad11170df8169cb162676dd600d994b..24b10db83a35255f01d11afc0950639a6195755c 100644 (file)
@@ -362,6 +362,14 @@ static inline u32 stmmac_tx_avail(struct stmmac_priv *priv, u32 queue)
                          priv->dma_conf.dma_tx_size);
 }
 
+static size_t stmmac_get_rx_desc_size(struct stmmac_priv *priv)
+{
+       if (priv->extend_desc)
+               return sizeof(struct dma_extended_desc);
+       else
+               return sizeof(struct dma_desc);
+}
+
 static struct dma_desc *stmmac_get_rx_desc(struct stmmac_priv *priv,
                                           struct stmmac_rx_queue *rx_q,
                                           unsigned int index)
@@ -1432,10 +1440,7 @@ static void stmmac_display_rx_rings(struct stmmac_priv *priv,
                pr_info("\tRX Queue %u rings\n", queue);
 
                head_rx = stmmac_get_rx_desc(priv, rx_q, 0);
-               if (priv->extend_desc)
-                       desc_size = sizeof(struct dma_extended_desc);
-               else
-                       desc_size = sizeof(struct dma_desc);
+               desc_size = stmmac_get_rx_desc_size(priv);
 
                /* Display RX ring */
                stmmac_display_ring(priv, head_rx, dma_conf->dma_rx_size, true,
@@ -5436,11 +5441,7 @@ static int stmmac_rx_zc(struct stmmac_priv *priv, int limit, u32 queue)
                void *rx_head = stmmac_get_rx_desc(priv, rx_q, 0);
 
                netdev_dbg(priv->dev, "%s: descriptor ring:\n", __func__);
-               if (priv->extend_desc) {
-                       desc_size = sizeof(struct dma_extended_desc);
-               } else {
-                       desc_size = sizeof(struct dma_desc);
-               }
+               desc_size = stmmac_get_rx_desc_size(priv);
 
                stmmac_display_ring(priv, rx_head, priv->dma_conf.dma_rx_size, true,
                                    rx_q->dma_rx_phy, desc_size);
@@ -5628,10 +5629,7 @@ static int stmmac_rx(struct stmmac_priv *priv, int limit, u32 queue)
                void *rx_head = stmmac_get_rx_desc(priv, rx_q, 0);
 
                netdev_dbg(priv->dev, "%s: descriptor ring:\n", __func__);
-               if (priv->extend_desc)
-                       desc_size = sizeof(struct dma_extended_desc);
-               else
-                       desc_size = sizeof(struct dma_desc);
+               desc_size = stmmac_get_rx_desc_size(priv);
 
                stmmac_display_ring(priv, rx_head, priv->dma_conf.dma_rx_size, true,
                                    rx_q->dma_rx_phy, desc_size);