Commit d2095989 authored by Tan En De's avatar Tan En De Committed by Paolo Abeni
Browse files

net: stmmac: Batch set RX OWN flag and other flags



Minimize access to the RX descriptor by collecting all the flags in a
local variable and then updating the descriptor at once.

Signed-off-by: default avatarTan En De <ende.tan@starfivetech.com>
Link: https://patch.msgid.link/20240831011114.2065912-1-ende.tan@starfivetech.com


Signed-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 43b77244
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -186,10 +186,12 @@ static void dwmac4_set_tx_owner(struct dma_desc *p)

static void dwmac4_set_rx_owner(struct dma_desc *p, int disable_rx_ic)
{
	p->des3 |= cpu_to_le32(RDES3_OWN | RDES3_BUFFER1_VALID_ADDR);
	u32 flags = (RDES3_OWN | RDES3_BUFFER1_VALID_ADDR);

	if (!disable_rx_ic)
		p->des3 |= cpu_to_le32(RDES3_INT_ON_COMPLETION_EN);
		flags |= RDES3_INT_ON_COMPLETION_EN;

	p->des3 |= cpu_to_le32(flags);
}

static int dwmac4_get_tx_ls(struct dma_desc *p)
+4 −2
Original line number Diff line number Diff line
@@ -56,10 +56,12 @@ static void dwxgmac2_set_tx_owner(struct dma_desc *p)

static void dwxgmac2_set_rx_owner(struct dma_desc *p, int disable_rx_ic)
{
	p->des3 |= cpu_to_le32(XGMAC_RDES3_OWN);
	u32 flags = XGMAC_RDES3_OWN;

	if (!disable_rx_ic)
		p->des3 |= cpu_to_le32(XGMAC_RDES3_IOC);
		flags |= XGMAC_RDES3_IOC;

	p->des3 |= cpu_to_le32(flags);
}

static int dwxgmac2_get_tx_ls(struct dma_desc *p)