]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
net: xilinx: axienet: Correct BD length masks to match AXIDMA IP spec
authorSuraj Gupta <suraj.gupta2@amd.com>
Fri, 27 Mar 2026 07:32:37 +0000 (13:02 +0530)
committerPaolo Abeni <pabeni@redhat.com>
Tue, 31 Mar 2026 10:09:12 +0000 (12:09 +0200)
The XAXIDMA_BD_CTRL_LENGTH_MASK and XAXIDMA_BD_STS_ACTUAL_LEN_MASK
macros were defined as 0x007FFFFF (23 bits), but the AXI DMA IP
product guide (PG021) specifies the buffer length field as bits 25:0
(26 bits). Update both masks to match the IP documentation.

In practice this had no functional impact, since Ethernet frames are
far smaller than 2^23 bytes and the extra bits were always zero, but
the masks should still reflect the hardware specification.

Fixes: 8a3b7a252dca ("drivers/net/ethernet/xilinx: added Xilinx AXI Ethernet driver")
Signed-off-by: Suraj Gupta <suraj.gupta2@amd.com>
Reviewed-by: Sean Anderson <sean.anderson@linux.dev>
Link: https://patch.msgid.link/20260327073238.134948-2-suraj.gupta2@amd.com
Signed-off-by: Paolo Abeni <pabeni@redhat.com>
drivers/net/ethernet/xilinx/xilinx_axienet.h

index 5ff742103beb99d41dc1499c1b5349b384da8ce1..fcd3aaef27fc32662508927aa534bd933631aee8 100644 (file)
 #define XAXIDMA_BD_HAS_DRE_MASK                0xF00 /* Whether has DRE mask */
 #define XAXIDMA_BD_WORDLEN_MASK                0xFF /* Whether has DRE mask */
 
-#define XAXIDMA_BD_CTRL_LENGTH_MASK    0x007FFFFF /* Requested len */
+#define XAXIDMA_BD_CTRL_LENGTH_MASK    GENMASK(25, 0) /* Requested len */
 #define XAXIDMA_BD_CTRL_TXSOF_MASK     0x08000000 /* First tx packet */
 #define XAXIDMA_BD_CTRL_TXEOF_MASK     0x04000000 /* Last tx packet */
 #define XAXIDMA_BD_CTRL_ALL_MASK       0x0C000000 /* All control bits */
 #define XAXIDMA_BD_CTRL_TXEOF_MASK     0x04000000 /* Last tx packet */
 #define XAXIDMA_BD_CTRL_ALL_MASK       0x0C000000 /* All control bits */
 
-#define XAXIDMA_BD_STS_ACTUAL_LEN_MASK 0x007FFFFF /* Actual len */
+#define XAXIDMA_BD_STS_ACTUAL_LEN_MASK GENMASK(25, 0) /* Actual len */
 #define XAXIDMA_BD_STS_COMPLETE_MASK   0x80000000 /* Completed */
 #define XAXIDMA_BD_STS_DEC_ERR_MASK    0x40000000 /* Decode error */
 #define XAXIDMA_BD_STS_SLV_ERR_MASK    0x20000000 /* Slave error */