aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/iwlwifi/iwl-agn-calib.c
diff options
context:
space:
mode:
authorWey-Yi Guy <wey-yi.w.guy@intel.com>2011-07-23 13:24:50 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-08-08 16:04:07 -0400
commitae7f9a740b4ac5a64306abc47a440b794c5b827a (patch)
tree417960419c67cb1badfe1df96b0efec90a8a5619 /drivers/net/wireless/iwlwifi/iwl-agn-calib.c
parente7515ba154b63c87d987fb2a30bcbe8814c3f317 (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.c69
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;