From 1c8890167288c8775d4ba4ea1bf3964131df2265 Mon Sep 17 00:00:00 2001 From: Pyun YongHyeon Date: Tue, 12 Jun 2007 02:35:01 +0000 Subject: [PATCH] Increase a maximum segment size of DMA to 4096. Previously it used MCLBYTES for the segment size but it used too many Tx descriptors in TSO case. While I'm here adjust maximum size of the sum of all segment lengths in a given DMA mapping to 65535, the maximum size, in bytes, of a IP packet. --- sys/dev/nfe/if_nfe.c | 4 ++-- sys/dev/nfe/if_nfereg.h | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/sys/dev/nfe/if_nfe.c b/sys/dev/nfe/if_nfe.c index 9765a36673e..c620c42fcd5 100644 --- a/sys/dev/nfe/if_nfe.c +++ b/sys/dev/nfe/if_nfe.c @@ -1555,9 +1555,9 @@ nfe_alloc_tx_ring(struct nfe_softc *sc, struct nfe_tx_ring *ring) BUS_SPACE_MAXADDR, BUS_SPACE_MAXADDR, NULL, NULL, - MCLBYTES * NFE_MAX_SCATTER, + NFE_TSO_MAXSIZE, NFE_MAX_SCATTER, - MCLBYTES, + NFE_TSO_MAXSGSIZE, 0, NULL, NULL, &ring->tx_data_tag); diff --git a/sys/dev/nfe/if_nfereg.h b/sys/dev/nfe/if_nfereg.h index ad82d2e5379..716428e2e53 100644 --- a/sys/dev/nfe/if_nfereg.h +++ b/sys/dev/nfe/if_nfereg.h @@ -50,6 +50,8 @@ #define NFE_JMEM ((NFE_JLEN * NFE_JSLOTS) + NFE_RESID) #define NFE_MAX_SCATTER 32 +#define NFE_TSO_MAXSGSIZE 4096 +#define NFE_TSO_MAXSIZE 65535 #define NFE_IRQ_STATUS 0x000 #define NFE_IRQ_MASK 0x004