Lines Matching +full:loss +full:- +full:of +full:- +full:lock
1 // SPDX-License-Identifier: GPL-2.0
2 /* Copyright(c) 1999 - 2018 Intel Corporation. */
11 * maximum number of ports that the driver can manage.
15 #define OPTION_UNSET -1
23 "Maximum size of packet that is copied to a new buffer on receive");
25 /* All parameters are treated the same, as an integer array of values.
36 /* Transmit Interrupt Delay in units of 1.024 microseconds
37 * Tx interrupt delay needs to typically be set to something non-zero
39 * Valid Range: 0-65535
46 /* Transmit Absolute Interrupt Delay in units of 1.024 microseconds
48 * Valid Range: 0-65535
55 /* Receive Interrupt Delay in units of 1.024 microseconds
60 * Valid Range: 0-65535
68 /* Receive Absolute Interrupt Delay in units of 1.024 microseconds
72 * Valid Range: 0-65535
82 * Valid Range: 100-100000 or one of: 0=off, 1=dynamic, 3=dynamic conservative
93 * legacy=0, MSI=1, MSI-X=2
95 * When MSI/MSI-X support is enabled in kernel-
96 * Default Value: 2 (MSI-X) when supported by hardware, 1 (MSI) otherwise
97 * When MSI/MSI-X support is not enabled in kernel-
105 /* Enable Smart Power Down of the PHY
113 /* Enable Kumeran Lock Loss workaround
119 E1000_PARAM(KumeranLockLoss, "Enable Kumeran lock loss workaround");
128 "Write-protect NVM [WARNING: disabling this can lead to corrupted NVM]");
166 *value = opt->def; in e1000_validate_option()
170 switch (opt->type) { in e1000_validate_option()
174 dev_info(&adapter->pdev->dev, "%s Enabled\n", in e1000_validate_option()
175 opt->name); in e1000_validate_option()
178 dev_info(&adapter->pdev->dev, "%s Disabled\n", in e1000_validate_option()
179 opt->name); in e1000_validate_option()
184 if (*value >= opt->arg.r.min && *value <= opt->arg.r.max) { in e1000_validate_option()
185 dev_info(&adapter->pdev->dev, "%s set to %i\n", in e1000_validate_option()
186 opt->name, *value); in e1000_validate_option()
194 for (i = 0; i < opt->arg.l.nr; i++) { in e1000_validate_option()
195 ent = &opt->arg.l.p[i]; in e1000_validate_option()
196 if (*value == ent->i) { in e1000_validate_option()
197 if (ent->str[0] != '\0') in e1000_validate_option()
198 dev_info(&adapter->pdev->dev, "%s\n", in e1000_validate_option()
199 ent->str); in e1000_validate_option()
209 dev_info(&adapter->pdev->dev, "Invalid %s value specified (%i) %s\n", in e1000_validate_option()
210 opt->name, *value, opt->err); in e1000_validate_option()
211 *value = opt->def; in e1000_validate_option()
212 return -1; in e1000_validate_option()
216 * e1000e_check_options - Range Checking for Command Line Parameters
226 struct e1000_hw *hw = &adapter->hw; in e1000e_check_options()
227 int bd = adapter->bd_number; in e1000e_check_options()
230 dev_notice(&adapter->pdev->dev, in e1000e_check_options()
232 dev_notice(&adapter->pdev->dev, in e1000e_check_options()
241 .err = "using default of " in e1000e_check_options()
249 adapter->tx_int_delay = TxIntDelay[bd]; in e1000e_check_options()
250 e1000_validate_option(&adapter->tx_int_delay, &opt, in e1000e_check_options()
253 adapter->tx_int_delay = opt.def; in e1000e_check_options()
261 .err = "using default of " in e1000e_check_options()
269 adapter->tx_abs_int_delay = TxAbsIntDelay[bd]; in e1000e_check_options()
270 e1000_validate_option(&adapter->tx_abs_int_delay, &opt, in e1000e_check_options()
273 adapter->tx_abs_int_delay = opt.def; in e1000e_check_options()
281 .err = "using default of " in e1000e_check_options()
288 if (adapter->flags2 & FLAG2_DMA_BURST) in e1000e_check_options()
292 adapter->rx_int_delay = RxIntDelay[bd]; in e1000e_check_options()
293 e1000_validate_option(&adapter->rx_int_delay, &opt, in e1000e_check_options()
296 adapter->rx_int_delay = opt.def; in e1000e_check_options()
304 .err = "using default of " in e1000e_check_options()
311 if (adapter->flags2 & FLAG2_DMA_BURST) in e1000e_check_options()
315 adapter->rx_abs_int_delay = RxAbsIntDelay[bd]; in e1000e_check_options()
316 e1000_validate_option(&adapter->rx_abs_int_delay, &opt, in e1000e_check_options()
319 adapter->rx_abs_int_delay = opt.def; in e1000e_check_options()
327 .err = "using default of " in e1000e_check_options()
335 adapter->itr = InterruptThrottleRate[bd]; in e1000e_check_options()
337 /* Make sure a message is printed for non-special in e1000e_check_options()
338 * values. And in case of an invalid option, display in e1000e_check_options()
342 if ((adapter->itr > 4) && in e1000e_check_options()
343 e1000_validate_option(&adapter->itr, &opt, adapter)) in e1000e_check_options()
344 adapter->itr = opt.def; in e1000e_check_options()
349 adapter->itr = opt.def; in e1000e_check_options()
351 /* Make sure a message is printed for non-special in e1000e_check_options()
354 if (adapter->itr > 4) in e1000e_check_options()
355 dev_info(&adapter->pdev->dev, in e1000e_check_options()
357 adapter->itr); in e1000e_check_options()
360 adapter->itr_setting = adapter->itr; in e1000e_check_options()
361 switch (adapter->itr) { in e1000e_check_options()
363 dev_info(&adapter->pdev->dev, "%s turned off\n", in e1000e_check_options()
367 dev_info(&adapter->pdev->dev, in e1000e_check_options()
369 adapter->itr = 20000; in e1000e_check_options()
372 dev_info(&adapter->pdev->dev, in e1000e_check_options()
373 "%s Invalid mode - setting default\n", in e1000e_check_options()
375 adapter->itr_setting = opt.def; in e1000e_check_options()
378 dev_info(&adapter->pdev->dev, in e1000e_check_options()
381 adapter->itr = 20000; in e1000e_check_options()
384 dev_info(&adapter->pdev->dev, in e1000e_check_options()
385 "%s set to simplified (2000-8000 ints) mode\n", in e1000e_check_options()
395 adapter->itr_setting &= ~3; in e1000e_check_options()
413 if (adapter->flags & FLAG_HAS_MSIX) { in e1000e_check_options()
414 opt.err = kstrdup("defaulting to 2 (MSI-X)", in e1000e_check_options()
425 dev_err(&adapter->pdev->dev, in e1000e_check_options()
435 adapter->int_mode = int_mode; in e1000e_check_options()
437 adapter->int_mode = opt.def; in e1000e_check_options()
457 if ((adapter->flags & FLAG_HAS_SMART_POWER_DOWN) && spd) in e1000e_check_options()
458 adapter->flags |= FLAG_SMART_POWER_DOWN; in e1000e_check_options()
475 adapter->flags2 |= FLAG2_CRC_STRIPPING; in e1000e_check_options()
476 adapter->flags2 |= FLAG2_DFLT_CRC_STRIPPING; in e1000e_check_options()
479 adapter->flags2 |= FLAG2_CRC_STRIPPING; in e1000e_check_options()
480 adapter->flags2 |= FLAG2_DFLT_CRC_STRIPPING; in e1000e_check_options()
483 /* Kumeran Lock Loss Workaround */ in e1000e_check_options()
487 .name = "Kumeran Lock Loss Workaround", in e1000e_check_options()
500 if (hw->mac.type == e1000_ich8lan) in e1000e_check_options()
504 /* Write-protect NVM */ in e1000e_check_options()
508 .name = "Write-protect NVM", in e1000e_check_options()
513 if (adapter->flags & FLAG_IS_ICH) { in e1000e_check_options()
520 adapter->flags |= FLAG_READ_ONLY_NVM; in e1000e_check_options()
523 adapter->flags |= FLAG_READ_ONLY_NVM; in e1000e_check_options()