diff options
| author | Théo Lebrun <theo.lebrun@bootlin.com> | 2025-10-14 17:25:07 +0200 |
|---|---|---|
| committer | Jakub Kicinski <kuba@kernel.org> | 2025-10-16 16:59:25 -0700 |
| commit | 94a164598d833aaee98a81b2910ac7bfea09e60f (patch) | |
| tree | af7c1b175dbb8375965cd6a41e615b7e82f63c02 /drivers/net/ethernet/cadence/macb_main.c | |
| parent | d7a4a20abe25bb5a15358c8d20a0ab12b7a52f79 (diff) | |
net: macb: simplify macb_dma_desc_get_size()
macb_dma_desc_get_size() does a switch on bp->hw_dma_cap and covers all
four cases: 0, 64B, PTP, 64B+PTP. It also covers the #ifndef
MACB_EXT_DESC separately, making it four codepaths.
Instead, notice the descriptor size grows with enabled features and use
plain if-statements on 64B and PTP flags.
Signed-off-by: Théo Lebrun <theo.lebrun@bootlin.com>
Link: https://patch.msgid.link/20251014-macb-cleanup-v1-6-31cd266e22cd@bootlin.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
Diffstat (limited to 'drivers/net/ethernet/cadence/macb_main.c')
| -rw-r--r-- | drivers/net/ethernet/cadence/macb_main.c | 27 |
1 files changed, 7 insertions, 20 deletions
diff --git a/drivers/net/ethernet/cadence/macb_main.c b/drivers/net/ethernet/cadence/macb_main.c index 33e99aab1dcb..7f74e280a335 100644 --- a/drivers/net/ethernet/cadence/macb_main.c +++ b/drivers/net/ethernet/cadence/macb_main.c @@ -121,29 +121,16 @@ struct sifive_fu540_macb_mgmt { */ static unsigned int macb_dma_desc_get_size(struct macb *bp) { + unsigned int desc_size = sizeof(struct macb_dma_desc); + #ifdef MACB_EXT_DESC - unsigned int desc_size; + if (bp->hw_dma_cap & HW_DMA_CAP_64B) + desc_size += sizeof(struct macb_dma_desc_64); + if (bp->hw_dma_cap & HW_DMA_CAP_PTP) + desc_size += sizeof(struct macb_dma_desc_ptp); +#endif - switch (bp->hw_dma_cap) { - case HW_DMA_CAP_64B: - desc_size = sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_64); - break; - case HW_DMA_CAP_PTP: - desc_size = sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_ptp); - break; - case HW_DMA_CAP_64B_PTP: - desc_size = sizeof(struct macb_dma_desc) - + sizeof(struct macb_dma_desc_64) - + sizeof(struct macb_dma_desc_ptp); - break; - default: - desc_size = sizeof(struct macb_dma_desc); - } return desc_size; -#endif - return sizeof(struct macb_dma_desc); } static unsigned int macb_adj_dma_desc_idx(struct macb *bp, unsigned int desc_idx) |