• Marc Kleine-Budde's avatar
    can: mcp251xfd: ring: increase number of RX-FIFOs to 3 and increase max TX-FIFO depth to 16 · aa66ae9b
    Marc Kleine-Budde authored
    This patch increases the number of RX-FIFOs to 3 and the max TX-FIFO
    depth to 16. This leads to the following default ring configuration.
    
    CAN-2.0 mode:
    
    | FIFO setup: TEF:         0x400:  8*12 bytes =   96 bytes
    | FIFO setup: RX-0: FIFO 1/0x460: 32*20 bytes =  640 bytes
    | FIFO setup: RX-1: FIFO 2/0x6e0: 32*20 bytes =  640 bytes
    | FIFO setup: RX-2: FIFO 3/0x960: 16*20 bytes =  320 bytes
    | FIFO setup: TX:   FIFO 4/0xaa0:  8*16 bytes =  128 bytes
    | FIFO setup: free:                              224 bytes
    
    CAN-FD mode:
    
    | FIFO setup: TEF:         0x400:  4*12 bytes =   48 bytes
    | FIFO setup: RX-0: FIFO 1/0x430: 16*76 bytes = 1216 bytes
    | FIFO setup: RX-1: FIFO 2/0x8f0:  4*76 bytes =  304 bytes
    | FIFO setup: TX:   FIFO 3/0xa20:  4*72 bytes =  288 bytes
    | FIFO setup: free:                              192 bytes
    
    With the previously added ethtool ring configuration support the RAM
    on the chip can now be runtime configured between RX and TX buffers.
    
    Link: https://lore.kernel.org/20220313083640.501791-13-mkl@pengutronix.deSigned-off-by: default avatarMarc Kleine-Budde <mkl@pengutronix.de>
    aa66ae9b
mcp251xfd.h 28.5 KB