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

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.comSigned-off-by: default avatarPaolo Abeni <pabeni@redhat.com>
parent 43b77244
...@@ -186,10 +186,12 @@ static void dwmac4_set_tx_owner(struct dma_desc *p) ...@@ -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) 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) 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) static int dwmac4_get_tx_ls(struct dma_desc *p)
......
...@@ -56,10 +56,12 @@ static void dwxgmac2_set_tx_owner(struct dma_desc *p) ...@@ -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) 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) 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) static int dwxgmac2_get_tx_ls(struct dma_desc *p)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment