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 /drivers/net | |
| 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>
Diffstat (limited to 'drivers/net')
| -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: |
