diff options
author | Chris Larson <chris_larson@mentor.com> | 2011-01-18 11:19:52 -0700 |
---|---|---|
committer | Chris Larson <chris_larson@mentor.com> | 2011-01-18 17:28:27 -0700 |
commit | a2539e0e25b0713d9b64595f3271281109cabc7e (patch) | |
tree | 5fc9cf685876ada2ff737ae96f43c91cefce3f6c /recipes/ethtool | |
parent | c1de4ac61d37ad7426792d487ee279f5ce89066a (diff) | |
download | openembedded-a2539e0e25b0713d9b64595f3271281109cabc7e.tar.gz |
ethtool: apply patch to add 3 fifo TSEC params
- fifo-tx-thr
- fifo-tx-starve
- fifo-tx-shutoff
Patch courtesy Freescale.
Signed-off-by: Chris Larson <chris_larson@mentor.com>
Diffstat (limited to 'recipes/ethtool')
-rw-r--r-- | recipes/ethtool/ethtool.inc | 3 | ||||
-rw-r--r-- | recipes/ethtool/ethtool/fifo.patch | 100 | ||||
-rw-r--r-- | recipes/ethtool/ethtool_2.6.35.bb | 2 |
3 files changed, 103 insertions, 2 deletions
diff --git a/recipes/ethtool/ethtool.inc b/recipes/ethtool/ethtool.inc index 323ae9a029..9c1c292505 100644 --- a/recipes/ethtool/ethtool.inc +++ b/recipes/ethtool/ethtool.inc @@ -4,6 +4,7 @@ HOMEPAGE = "http://sourceforge.net/projects/gkernel/" SECTION = "console/network" LICENSE = "GPL" -SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool-${PV}.tar.gz" +SRC_URI = "${SOURCEFORGE_MIRROR}/gkernel/ethtool-${PV}.tar.gz \ + file://fifo.patch" inherit autotools diff --git a/recipes/ethtool/ethtool/fifo.patch b/recipes/ethtool/ethtool/fifo.patch new file mode 100644 index 0000000000..2e67c96781 --- /dev/null +++ b/recipes/ethtool/ethtool/fifo.patch @@ -0,0 +1,100 @@ +* Mon May 15 2006 Stuarth Hughes <stuarth@freescale.com> u +on behalf of Joseph Palazzo: + +This patch provides user access for three additional TSEC parameters. These are: + +fifo-tx-thr +fifo-tx-starve +fifo-tx-starve-shutoff + + +--- + ethtool-copy.h | 15 +++++++++++++++ + ethtool.c | 23 ++++++++++++++++++++--- + 2 files changed, 35 insertions(+), 3 deletions(-) + +--- ethtool-2.6.35.orig/ethtool-copy.h ++++ ethtool-2.6.35/ethtool-copy.h +@@ -201,6 +201,21 @@ struct ethtool_coalesce { + * measured in seconds. Must not be zero. + */ + __u32 rate_sample_interval; ++ /* The main purpose of the threshold register is to trigger the unloading of FIFO data to the PHY. It ++ * represents the numerical SRAM entry (0-511 for 2-Kbyte FIFO) to trigger the threshold function. ++ * If the number of valid entries in the FIFO is equal to or greater than the threshold register, ++ * transmission can begin. ++ */ ++ __u32 fifo_tx_thr; ++ /* The purpose of the starve register is to inform the system of extremely ++ * imminent underrun conditions. ++ */ ++ __u32 fifo_tx_starve; ++ /* The starve shutoff register contains the watermark level to be used for ++ * exiting the starve state. ++ */ ++ __u32 fifo_tx_starve_shutoff; ++ + }; + + /* for configuring RX/TX ring parameters */ +--- ethtool-2.6.35.orig/ethtool.c ++++ ethtool-2.6.35/ethtool.c +@@ -183,7 +183,10 @@ static struct option { + " [rx-frames-high N]\n" + " [tx-usecs-high N]\n" + " [tx-frames-high N]\n" +- " [sample-interval N]\n" }, ++ " [fifo-tx-thr N] \n" ++ " [fifo-tx-starve N] \n" ++ " [fifo-tx-starve-shutoff N] \n" ++ " [sample-interval N]\n" }, + { "-g", "--show-ring", MODE_GRING, "Query RX/TX ring parameters" }, + { "-G", "--set-ring", MODE_SRING, "Set RX/TX ring parameters", + " [ rx N ]\n" +@@ -330,6 +333,9 @@ static s32 coal_rx_usec_high_wanted = -1 + static s32 coal_rx_frames_high_wanted = -1; + static s32 coal_tx_usec_high_wanted = -1; + static s32 coal_tx_frames_high_wanted = -1; ++static int coal_fifo_tx_thr = -1; ++static int coal_fifo_tx_starve = -1; ++static int coal_fifo_tx_starve_shutoff = -1; + + static int speed_wanted = -1; + static int duplex_wanted = -1; +@@ -477,6 +483,9 @@ static struct cmdline_info cmdline_coale + { "rx-frames-high", CMDL_S32, &coal_rx_frames_high_wanted, &ecoal.rx_max_coalesced_frames_high }, + { "tx-usecs-high", CMDL_S32, &coal_tx_usec_high_wanted, &ecoal.tx_coalesce_usecs_high }, + { "tx-frames-high", CMDL_S32, &coal_tx_frames_high_wanted, &ecoal.tx_max_coalesced_frames_high }, ++ { "fifo-tx-thr", CMDL_S32, &coal_fifo_tx_thr, &ecoal.fifo_tx_thr }, ++ { "fifo-tx-starve", CMDL_S32, &coal_fifo_tx_starve, &ecoal.fifo_tx_starve }, ++ { "fifo-tx-starve-shutoff", CMDL_S32, &coal_fifo_tx_starve_shutoff, &ecoal.fifo_tx_starve_shutoff }, + }; + + static struct cmdline_info cmdline_ntuple[] = { +@@ -1702,6 +1711,10 @@ static int dump_coalesce(void) + "rx-frame-high: %u\n" + "tx-usecs-high: %u\n" + "tx-frame-high: %u\n" ++ "\n" ++ "fifo-tx-thr: %u\n" ++ "fifo-tx-starve: %u\n" ++ "fifo-tx-starve-shutoff: %u\n" + "\n", + ecoal.stats_block_coalesce_usecs, + ecoal.rate_sample_interval, +@@ -1726,9 +1739,13 @@ static int dump_coalesce(void) + ecoal.rx_coalesce_usecs_high, + ecoal.rx_max_coalesced_frames_high, + ecoal.tx_coalesce_usecs_high, +- ecoal.tx_max_coalesced_frames_high); ++ ecoal.tx_max_coalesced_frames_high, + +- return 0; ++ ecoal.fifo_tx_thr, ++ ecoal.fifo_tx_starve, ++ ecoal.fifo_tx_starve_shutoff ++ ); ++ return 0; + } + + static int dump_offload(int rx, int tx, int sg, int tso, int ufo, int gso, diff --git a/recipes/ethtool/ethtool_2.6.35.bb b/recipes/ethtool/ethtool_2.6.35.bb index 7120e1fe3f..afb69fd22c 100644 --- a/recipes/ethtool/ethtool_2.6.35.bb +++ b/recipes/ethtool/ethtool_2.6.35.bb @@ -1,5 +1,5 @@ require ethtool.inc -PR = "r0" +PR = "r1" SRC_URI[md5sum] = "e0f617779a58b77af061a9e5178d0b25" SRC_URI[sha256sum] = "be0a7b0fbe56fd455bcef24af7f047b02cefecfb422f4ebc3e4e924bce30e891" |