From: Grygorii Strashko <grygorii.strashko@xxxxxx> Date: Thu, 1 Oct 2020 13:52:57 +0300 > This patch adds multi-port support to TI AM65x CPSW driver xmit/rx path in > preparation for adding support for multi-port devices, like Main CPSW0 on > K3 J721E SoC or future CPSW3g on K3 AM64x SoC. > Hence DMA channels are common/shared for all ext Ports and the RX/TX NAPI > and DMA processing going to be assigned to first netdev this patch: > - ensures all RX descriptors fields are initialized; > - adds synchronization for TX DMA push/pop operation (locking) as > Networking core is not enough any more; > - updates TX bql processing for every packet in > am65_cpsw_nuss_tx_compl_packets() as every completed TX skb can have > different ndev assigned (come from different netdevs). > > Signed-off-by: Grygorii Strashko <grygorii.strashko@xxxxxx> This locking is unnecessary in single-port non-shared DMA situations and therefore will impose unnecessary performance loss for basically all existing supported setups. Please do this another way. In fact, I would encourage you to find a way to avoid the new atomic operations even in multi-port configurations. Thank you.