net: ethernet: stmmac: GMAC4.xx: Fix TX descriptor preparation
On GMAC4.xx each descriptor contains 2 buffers of 16KB (each). Initially, those 2 buffers was filled in dwmac4_rd_prepare_tx_desc but it is actually not needed. Indeed, stmmac driver supports frame up to 9000 bytes (jumbo). So only one buffer is needed. Reported-by: Dan Carpenter <dan.carpenter@oracle.com> Signed-off-by: Alexandre TORGUE <alexandre.torgue@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
Родитель
fbf405e80c
Коммит
18b46810eb
|
@ -254,14 +254,7 @@ static void dwmac4_rd_prepare_tx_desc(struct dma_desc *p, int is_fs, int len,
|
|||
{
|
||||
unsigned int tdes3 = p->des3;
|
||||
|
||||
if (unlikely(len > BUF_SIZE_16KiB)) {
|
||||
p->des2 |= (((len - BUF_SIZE_16KiB) <<
|
||||
TDES2_BUFFER2_SIZE_MASK_SHIFT)
|
||||
& TDES2_BUFFER2_SIZE_MASK)
|
||||
| (BUF_SIZE_16KiB & TDES2_BUFFER1_SIZE_MASK);
|
||||
} else {
|
||||
p->des2 |= (len & TDES2_BUFFER1_SIZE_MASK);
|
||||
}
|
||||
p->des2 |= (len & TDES2_BUFFER1_SIZE_MASK);
|
||||
|
||||
if (is_fs)
|
||||
tdes3 |= TDES3_FIRST_DESCRIPTOR;
|
||||
|
|
Загрузка…
Ссылка в новой задаче