diff options
author | Auke Kok <auke-jan.h.kok@intel.com> | 2006-06-27 12:08:26 -0400 |
---|---|---|
committer | Auke Kok <juke-jan.h.kok@intel.com> | 2006-06-27 12:08:26 -0400 |
commit | 1f9e7e3d32f7ff3fd3a936fc9ad59770b3d29774 (patch) | |
tree | d80adcc2c623935f8e2387dedb066ca8d0c46641 | |
parent | cd94dd0b648ceb64ca5e41d9ccfa99c1e30e92ef (diff) |
e1000: allow user to disable ich8 lock loss workaround
The workaround for the ich8 lock loss problem is only needed for
a very small amount of systems. This adds an option for the user
to disable the workaround.
Signed-off-by: Jesse Brandeburg <jesse.brandeburg@intel.com>
Signed-off-by: Auke Kok <auke-jan.h.kok@intel.com>
-rw-r--r-- | drivers/net/e1000/e1000_param.c | 21 |
1 files changed, 21 insertions, 0 deletions
diff --git a/drivers/net/e1000/e1000_param.c b/drivers/net/e1000/e1000_param.c index bd6c040b3cfb..0ef413172c68 100644 --- a/drivers/net/e1000/e1000_param.c +++ b/drivers/net/e1000/e1000_param.c | |||
@@ -202,6 +202,15 @@ E1000_PARAM(InterruptThrottleRate, "Interrupt Throttling Rate"); | |||
202 | 202 | ||
203 | E1000_PARAM(SmartPowerDownEnable, "Enable PHY smart power down"); | 203 | E1000_PARAM(SmartPowerDownEnable, "Enable PHY smart power down"); |
204 | 204 | ||
205 | /* Enable Kumeran Lock Loss workaround | ||
206 | * | ||
207 | * Valid Range: 0, 1 | ||
208 | * | ||
209 | * Default Value: 1 (enabled) | ||
210 | */ | ||
211 | |||
212 | E1000_PARAM(KumeranLockLoss, "Enable Kumeran lock loss workaround"); | ||
213 | |||
205 | #define AUTONEG_ADV_DEFAULT 0x2F | 214 | #define AUTONEG_ADV_DEFAULT 0x2F |
206 | #define AUTONEG_ADV_MASK 0x2F | 215 | #define AUTONEG_ADV_MASK 0x2F |
207 | #define FLOW_CONTROL_DEFAULT FLOW_CONTROL_FULL | 216 | #define FLOW_CONTROL_DEFAULT FLOW_CONTROL_FULL |
@@ -484,6 +493,18 @@ e1000_check_options(struct e1000_adapter *adapter) | |||
484 | e1000_validate_option(&spd, &opt, adapter); | 493 | e1000_validate_option(&spd, &opt, adapter); |
485 | adapter->smart_power_down = spd; | 494 | adapter->smart_power_down = spd; |
486 | } | 495 | } |
496 | { /* Kumeran Lock Loss Workaround */ | ||
497 | struct e1000_option opt = { | ||
498 | .type = enable_option, | ||
499 | .name = "Kumeran Lock Loss Workaround", | ||
500 | .err = "defaulting to Enabled", | ||
501 | .def = OPTION_ENABLED | ||
502 | }; | ||
503 | |||
504 | int kmrn_lock_loss = KumeranLockLoss[bd]; | ||
505 | e1000_validate_option(&kmrn_lock_loss, &opt, adapter); | ||
506 | adapter->hw.kmrn_lock_loss_workaround_disabled = !kmrn_lock_loss; | ||
507 | } | ||
487 | 508 | ||
488 | switch (adapter->hw.media_type) { | 509 | switch (adapter->hw.media_type) { |
489 | case e1000_media_type_fiber: | 510 | case e1000_media_type_fiber: |