diff options
author | Wey-Yi Guy <wey-yi.w.guy@intel.com> | 2011-07-23 13:24:50 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-08-08 16:04:07 -0400 |
commit | ae7f9a740b4ac5a64306abc47a440b794c5b827a (patch) | |
tree | 417960419c67cb1badfe1df96b0efec90a8a5619 /drivers/net/wireless/iwlwifi/iwl-agn-calib.c | |
parent | e7515ba154b63c87d987fb2a30bcbe8814c3f317 (diff) |
iwlagn: support v2 of enhanced sensitivity table
Add support for v2 of enhanced sensitivity table for 2000 series products
Signed-off-by: Wey-Yi Guy <wey-yi.w.guy@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/iwlwifi/iwl-agn-calib.c')
-rw-r--r-- | drivers/net/wireless/iwlwifi/iwl-agn-calib.c | 69 |
1 files changed, 47 insertions, 22 deletions
diff --git a/drivers/net/wireless/iwlwifi/iwl-agn-calib.c b/drivers/net/wireless/iwlwifi/iwl-agn-calib.c index 72d6297602b8..1789e3af8101 100644 --- a/drivers/net/wireless/iwlwifi/iwl-agn-calib.c +++ b/drivers/net/wireless/iwlwifi/iwl-agn-calib.c | |||
@@ -505,28 +505,53 @@ static int iwl_enhance_sensitivity_write(struct iwl_priv *priv) | |||
505 | 505 | ||
506 | iwl_prepare_legacy_sensitivity_tbl(priv, data, &cmd.enhance_table[0]); | 506 | iwl_prepare_legacy_sensitivity_tbl(priv, data, &cmd.enhance_table[0]); |
507 | 507 | ||
508 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_OFDM_INDEX] = | 508 | if (priv->cfg->base_params->hd_v2) { |
509 | HD_INA_NON_SQUARE_DET_OFDM_DATA; | 509 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_OFDM_INDEX] = |
510 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_CCK_INDEX] = | 510 | HD_INA_NON_SQUARE_DET_OFDM_DATA_V2; |
511 | HD_INA_NON_SQUARE_DET_CCK_DATA; | 511 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_CCK_INDEX] = |
512 | cmd.enhance_table[HD_CORR_11_INSTEAD_OF_CORR_9_EN_INDEX] = | 512 | HD_INA_NON_SQUARE_DET_CCK_DATA_V2; |
513 | HD_CORR_11_INSTEAD_OF_CORR_9_EN_DATA; | 513 | cmd.enhance_table[HD_CORR_11_INSTEAD_OF_CORR_9_EN_INDEX] = |
514 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_INDEX] = | 514 | HD_CORR_11_INSTEAD_OF_CORR_9_EN_DATA_V2; |
515 | HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_DATA; | 515 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_INDEX] = |
516 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = | 516 | HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_DATA_V2; |
517 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_DATA; | 517 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = |
518 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_INDEX] = | 518 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_DATA_V2; |
519 | HD_OFDM_NON_SQUARE_DET_SLOPE_DATA; | 519 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_INDEX] = |
520 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_INDEX] = | 520 | HD_OFDM_NON_SQUARE_DET_SLOPE_DATA_V2; |
521 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_DATA; | 521 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_INDEX] = |
522 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_MRC_INDEX] = | 522 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_DATA_V2; |
523 | HD_CCK_NON_SQUARE_DET_SLOPE_MRC_DATA; | 523 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_MRC_INDEX] = |
524 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = | 524 | HD_CCK_NON_SQUARE_DET_SLOPE_MRC_DATA_V2; |
525 | HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_DATA; | 525 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = |
526 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_INDEX] = | 526 | HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_DATA_V2; |
527 | HD_CCK_NON_SQUARE_DET_SLOPE_DATA; | 527 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_INDEX] = |
528 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_INDEX] = | 528 | HD_CCK_NON_SQUARE_DET_SLOPE_DATA_V2; |
529 | HD_CCK_NON_SQUARE_DET_INTERCEPT_DATA; | 529 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_INDEX] = |
530 | HD_CCK_NON_SQUARE_DET_INTERCEPT_DATA_V2; | ||
531 | } else { | ||
532 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_OFDM_INDEX] = | ||
533 | HD_INA_NON_SQUARE_DET_OFDM_DATA_V1; | ||
534 | cmd.enhance_table[HD_INA_NON_SQUARE_DET_CCK_INDEX] = | ||
535 | HD_INA_NON_SQUARE_DET_CCK_DATA_V1; | ||
536 | cmd.enhance_table[HD_CORR_11_INSTEAD_OF_CORR_9_EN_INDEX] = | ||
537 | HD_CORR_11_INSTEAD_OF_CORR_9_EN_DATA_V1; | ||
538 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_INDEX] = | ||
539 | HD_OFDM_NON_SQUARE_DET_SLOPE_MRC_DATA_V1; | ||
540 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = | ||
541 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_MRC_DATA_V1; | ||
542 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_SLOPE_INDEX] = | ||
543 | HD_OFDM_NON_SQUARE_DET_SLOPE_DATA_V1; | ||
544 | cmd.enhance_table[HD_OFDM_NON_SQUARE_DET_INTERCEPT_INDEX] = | ||
545 | HD_OFDM_NON_SQUARE_DET_INTERCEPT_DATA_V1; | ||
546 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_MRC_INDEX] = | ||
547 | HD_CCK_NON_SQUARE_DET_SLOPE_MRC_DATA_V1; | ||
548 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_INDEX] = | ||
549 | HD_CCK_NON_SQUARE_DET_INTERCEPT_MRC_DATA_V1; | ||
550 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_SLOPE_INDEX] = | ||
551 | HD_CCK_NON_SQUARE_DET_SLOPE_DATA_V1; | ||
552 | cmd.enhance_table[HD_CCK_NON_SQUARE_DET_INTERCEPT_INDEX] = | ||
553 | HD_CCK_NON_SQUARE_DET_INTERCEPT_DATA_V1; | ||
554 | } | ||
530 | 555 | ||
531 | /* Update uCode's "work" table, and copy it to DSP */ | 556 | /* Update uCode's "work" table, and copy it to DSP */ |
532 | cmd.control = SENSITIVITY_CMD_CONTROL_WORK_TABLE; | 557 | cmd.control = SENSITIVITY_CMD_CONTROL_WORK_TABLE; |