Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit b261793d authored by Daniel C Halperin's avatar Daniel C Halperin Committed by John W. Linville
Browse files

iwlwifi: use station HT capabilities and BSS operating mode for Green-field



Green-field mode should be configured in the HT station table.  This patch uses
both the per-station GF support flag as well as the current BSS HT operation
mode (non-GF stations present flag).

Added the "ht_greenfield_support" field to struct iwl_cfg to replace the
device-specific check in rs_use_green().  That check has been moved to
iwlcore_init_ht_hw_capab().

Signed-off-by: default avatarDaniel C Halperin <daniel.c.halperin@intel.com>
Signed-off-by: default avatarReinette Chatre <reinette.chatre@intel.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 28e6f489
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
@@ -158,5 +158,6 @@ struct iwl_cfg iwl1000_bgn_cfg = {
	.need_pll_cfg = true,
	.max_ll_items = OTP_MAX_LL_ITEMS_1000,
	.shadow_ram_support = false,
	.ht_greenfield_support = true,
};
+4 −2
Original line number Diff line number Diff line
@@ -2889,7 +2889,8 @@ static struct iwl_cfg iwl3945_bg_cfg = {
	.eeprom_ver = EEPROM_3945_EEPROM_VERSION,
	.ops = &iwl3945_ops,
	.mod_params = &iwl3945_mod_params,
	.use_isr_legacy = true
	.use_isr_legacy = true,
	.ht_greenfield_support = false,
};

static struct iwl_cfg iwl3945_abg_cfg = {
@@ -2902,7 +2903,8 @@ static struct iwl_cfg iwl3945_abg_cfg = {
	.eeprom_ver = EEPROM_3945_EEPROM_VERSION,
	.ops = &iwl3945_ops,
	.mod_params = &iwl3945_mod_params,
	.use_isr_legacy = true
	.use_isr_legacy = true,
	.ht_greenfield_support = false,
};

struct pci_device_id iwl3945_hw_card_ids[] = {
+2 −1
Original line number Diff line number Diff line
@@ -2344,7 +2344,8 @@ struct iwl_cfg iwl4965_agn_cfg = {
	.eeprom_calib_ver = EEPROM_4965_TX_POWER_VERSION,
	.ops = &iwl4965_ops,
	.mod_params = &iwl4965_mod_params,
	.use_isr_legacy = true
	.use_isr_legacy = true,
	.ht_greenfield_support = false,
};

/* Module firmware */
+6 −0
Original line number Diff line number Diff line
@@ -1652,6 +1652,7 @@ struct iwl_cfg iwl5300_agn_cfg = {
	.valid_tx_ant = ANT_ABC,
	.valid_rx_ant = ANT_ABC,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl5100_bg_cfg = {
@@ -1668,6 +1669,7 @@ struct iwl_cfg iwl5100_bg_cfg = {
	.valid_tx_ant = ANT_B,
	.valid_rx_ant = ANT_AB,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl5100_abg_cfg = {
@@ -1684,6 +1686,7 @@ struct iwl_cfg iwl5100_abg_cfg = {
	.valid_tx_ant = ANT_B,
	.valid_rx_ant = ANT_AB,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl5100_agn_cfg = {
@@ -1700,6 +1703,7 @@ struct iwl_cfg iwl5100_agn_cfg = {
	.valid_tx_ant = ANT_B,
	.valid_rx_ant = ANT_AB,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl5350_agn_cfg = {
@@ -1716,6 +1720,7 @@ struct iwl_cfg iwl5350_agn_cfg = {
	.valid_tx_ant = ANT_ABC,
	.valid_rx_ant = ANT_ABC,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl5150_agn_cfg = {
@@ -1732,6 +1737,7 @@ struct iwl_cfg iwl5150_agn_cfg = {
	.valid_tx_ant = ANT_A,
	.valid_rx_ant = ANT_AB,
	.need_pll_cfg = true,
	.ht_greenfield_support = true,
};

MODULE_FIRMWARE(IWL5000_MODULE_FIRMWARE(IWL5000_UCODE_API_MAX));
+5 −0
Original line number Diff line number Diff line
@@ -171,6 +171,7 @@ struct iwl_cfg iwl6000h_2agn_cfg = {
	.pa_type = IWL_PA_HYBRID,
	.max_ll_items = OTP_MAX_LL_ITEMS_6x00,
	.shadow_ram_support = true,
	.ht_greenfield_support = true,
};

/*
@@ -193,6 +194,7 @@ struct iwl_cfg iwl6000i_2agn_cfg = {
	.pa_type = IWL_PA_INTERNAL,
	.max_ll_items = OTP_MAX_LL_ITEMS_6x00,
	.shadow_ram_support = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl6050_2agn_cfg = {
@@ -212,6 +214,7 @@ struct iwl_cfg iwl6050_2agn_cfg = {
	.pa_type = IWL_PA_SYSTEM,
	.max_ll_items = OTP_MAX_LL_ITEMS_6x00,
	.shadow_ram_support = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl6000_3agn_cfg = {
@@ -231,6 +234,7 @@ struct iwl_cfg iwl6000_3agn_cfg = {
	.pa_type = IWL_PA_SYSTEM,
	.max_ll_items = OTP_MAX_LL_ITEMS_6x00,
	.shadow_ram_support = true,
	.ht_greenfield_support = true,
};

struct iwl_cfg iwl6050_3agn_cfg = {
@@ -250,6 +254,7 @@ struct iwl_cfg iwl6050_3agn_cfg = {
	.pa_type = IWL_PA_SYSTEM,
	.max_ll_items = OTP_MAX_LL_ITEMS_6x00,
	.shadow_ram_support = true,
	.ht_greenfield_support = true,
};

MODULE_FIRMWARE(IWL6000_MODULE_FIRMWARE(IWL6000_UCODE_API_MAX));
Loading