diff options
Diffstat (limited to 'drivers/net/e1000/e1000_param.c')
-rw-r--r-- | drivers/net/e1000/e1000_param.c | 28 |
1 files changed, 20 insertions, 8 deletions
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c index e4f88920b46b..cbfcd7f2889f 100644 --- a/drivers/net/e1000/e1000_param.c +++ b/drivers/net/e1000/e1000_param.c | |||
@@ -139,7 +139,7 @@ E1000_PARAM(XsumRX, "Disable or enable Receive Checksum offload"); | |||
139 | * Valid Range: 0-65535 | 139 | * Valid Range: 0-65535 |
140 | */ | 140 | */ |
141 | E1000_PARAM(TxIntDelay, "Transmit Interrupt Delay"); | 141 | E1000_PARAM(TxIntDelay, "Transmit Interrupt Delay"); |
142 | #define DEFAULT_TIDV 64 | 142 | #define DEFAULT_TIDV 8 |
143 | #define MAX_TXDELAY 0xFFFF | 143 | #define MAX_TXDELAY 0xFFFF |
144 | #define MIN_TXDELAY 0 | 144 | #define MIN_TXDELAY 0 |
145 | 145 | ||
@@ -148,7 +148,7 @@ E1000_PARAM(TxIntDelay, "Transmit Interrupt Delay"); | |||
148 | * Valid Range: 0-65535 | 148 | * Valid Range: 0-65535 |
149 | */ | 149 | */ |
150 | E1000_PARAM(TxAbsIntDelay, "Transmit Absolute Interrupt Delay"); | 150 | E1000_PARAM(TxAbsIntDelay, "Transmit Absolute Interrupt Delay"); |
151 | #define DEFAULT_TADV 64 | 151 | #define DEFAULT_TADV 32 |
152 | #define MAX_TXABSDELAY 0xFFFF | 152 | #define MAX_TXABSDELAY 0xFFFF |
153 | #define MIN_TXABSDELAY 0 | 153 | #define MIN_TXABSDELAY 0 |
154 | 154 | ||
@@ -167,16 +167,16 @@ E1000_PARAM(RxIntDelay, "Receive Interrupt Delay"); | |||
167 | * Valid Range: 0-65535 | 167 | * Valid Range: 0-65535 |
168 | */ | 168 | */ |
169 | E1000_PARAM(RxAbsIntDelay, "Receive Absolute Interrupt Delay"); | 169 | E1000_PARAM(RxAbsIntDelay, "Receive Absolute Interrupt Delay"); |
170 | #define DEFAULT_RADV 128 | 170 | #define DEFAULT_RADV 8 |
171 | #define MAX_RXABSDELAY 0xFFFF | 171 | #define MAX_RXABSDELAY 0xFFFF |
172 | #define MIN_RXABSDELAY 0 | 172 | #define MIN_RXABSDELAY 0 |
173 | 173 | ||
174 | /* Interrupt Throttle Rate (interrupts/sec) | 174 | /* Interrupt Throttle Rate (interrupts/sec) |
175 | * | 175 | * |
176 | * Valid Range: 100-100000 (0=off, 1=dynamic) | 176 | * Valid Range: 100-100000 (0=off, 1=dynamic, 3=dynamic conservative) |
177 | */ | 177 | */ |
178 | E1000_PARAM(InterruptThrottleRate, "Interrupt Throttling Rate"); | 178 | E1000_PARAM(InterruptThrottleRate, "Interrupt Throttling Rate"); |
179 | #define DEFAULT_ITR 8000 | 179 | #define DEFAULT_ITR 3 |
180 | #define MAX_ITR 100000 | 180 | #define MAX_ITR 100000 |
181 | #define MIN_ITR 100 | 181 | #define MIN_ITR 100 |
182 | 182 | ||
@@ -472,15 +472,27 @@ e1000_check_options(struct e1000_adapter *adapter) | |||
472 | break; | 472 | break; |
473 | case 1: | 473 | case 1: |
474 | DPRINTK(PROBE, INFO, "%s set to dynamic mode\n", | 474 | DPRINTK(PROBE, INFO, "%s set to dynamic mode\n", |
475 | opt.name); | 475 | opt.name); |
476 | adapter->itr_setting = adapter->itr; | ||
477 | adapter->itr = 20000; | ||
478 | break; | ||
479 | case 3: | ||
480 | DPRINTK(PROBE, INFO, | ||
481 | "%s set to dynamic conservative mode\n", | ||
482 | opt.name); | ||
483 | adapter->itr_setting = adapter->itr; | ||
484 | adapter->itr = 20000; | ||
476 | break; | 485 | break; |
477 | default: | 486 | default: |
478 | e1000_validate_option(&adapter->itr, &opt, | 487 | e1000_validate_option(&adapter->itr, &opt, |
479 | adapter); | 488 | adapter); |
489 | /* save the setting, because the dynamic bits change itr */ | ||
490 | adapter->itr_setting = adapter->itr; | ||
480 | break; | 491 | break; |
481 | } | 492 | } |
482 | } else { | 493 | } else { |
483 | adapter->itr = opt.def; | 494 | adapter->itr_setting = opt.def; |
495 | adapter->itr = 20000; | ||
484 | } | 496 | } |
485 | } | 497 | } |
486 | { /* Smart Power Down */ | 498 | { /* Smart Power Down */ |