mirror of
https://github.com/torvalds/linux.git
synced 2024-11-16 00:52:01 +00:00
stmmac: fix and better tune the default buffer sizes
This patch is to fix and tune the default buffer sizes. It reduces the default bufsize used by the driver from 4KiB to 1536 bytes. Patch has been tested on both ARM and SH4 platform based. Signed-off-by: Giuseppe Cavallaro <peppe.cavallaro@st.com> Signed-off-by: David S. Miller <davem@davemloft.net>
This commit is contained in:
parent
83bf79b6bb
commit
d916701c67
@ -92,8 +92,8 @@ static int tc = TC_DEFAULT;
|
||||
module_param(tc, int, S_IRUGO | S_IWUSR);
|
||||
MODULE_PARM_DESC(tc, "DMA threshold control value");
|
||||
|
||||
#define DMA_BUFFER_SIZE BUF_SIZE_4KiB
|
||||
static int buf_sz = DMA_BUFFER_SIZE;
|
||||
#define DEFAULT_BUFSIZE 1536
|
||||
static int buf_sz = DEFAULT_BUFSIZE;
|
||||
module_param(buf_sz, int, S_IRUGO | S_IWUSR);
|
||||
MODULE_PARM_DESC(buf_sz, "DMA buffer size");
|
||||
|
||||
@ -136,8 +136,8 @@ static void stmmac_verify_args(void)
|
||||
dma_rxsize = DMA_RX_SIZE;
|
||||
if (unlikely(dma_txsize < 0))
|
||||
dma_txsize = DMA_TX_SIZE;
|
||||
if (unlikely((buf_sz < DMA_BUFFER_SIZE) || (buf_sz > BUF_SIZE_16KiB)))
|
||||
buf_sz = DMA_BUFFER_SIZE;
|
||||
if (unlikely((buf_sz < DEFAULT_BUFSIZE) || (buf_sz > BUF_SIZE_16KiB)))
|
||||
buf_sz = DEFAULT_BUFSIZE;
|
||||
if (unlikely(flow_ctrl > 1))
|
||||
flow_ctrl = FLOW_AUTO;
|
||||
else if (likely(flow_ctrl < 0))
|
||||
@ -901,10 +901,10 @@ static int stmmac_set_bfsize(int mtu, int bufsize)
|
||||
ret = BUF_SIZE_8KiB;
|
||||
else if (mtu >= BUF_SIZE_2KiB)
|
||||
ret = BUF_SIZE_4KiB;
|
||||
else if (mtu >= DMA_BUFFER_SIZE)
|
||||
else if (mtu > DEFAULT_BUFSIZE)
|
||||
ret = BUF_SIZE_2KiB;
|
||||
else
|
||||
ret = DMA_BUFFER_SIZE;
|
||||
ret = DEFAULT_BUFSIZE;
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user