From: Russell King (Oracle) Date: Sat, 14 Mar 2026 09:42:45 +0000 (+0000) Subject: net: stmmac: add helper to get size of a receive descriptor X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=4f6280c450ba699e3b700f1cbc4ff8dbc70f3c96;p=thirdparty%2Fkernel%2Flinux.git net: stmmac: add helper to get size of a receive descriptor Add and use a helper to get the size of the hardware receive descriptor. Signed-off-by: Russell King (Oracle) Link: https://patch.msgid.link/E1w1LW9-0000000DGS9-1mzX@rmk-PC.armlinux.org.uk Signed-off-by: Jakub Kicinski --- diff --git a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c index f447893a7ad11..24b10db83a352 100644 --- a/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c +++ b/drivers/net/ethernet/stmicro/stmmac/stmmac_main.c @@ -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);