mirror of
https://github.com/Fishwaldo/Star64_linux.git
synced 2025-06-21 22:21:21 +00:00
iwlwifi: fix NVM channel attribute map.
Fix NVM channel attributes. Add indoor-only and GO Concurrent bits. Remove DFS channel bit which is overlapped with radar. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Emmanuel Grumbach <emmanuel.grumbach@intel.com>
This commit is contained in:
parent
52ab4c86a7
commit
9ee6dace73
1 changed files with 18 additions and 4 deletions
|
@ -174,7 +174,9 @@ static struct ieee80211_rate iwl_cfg80211_rates[] = {
|
||||||
* @NVM_CHANNEL_IBSS: usable as an IBSS channel
|
* @NVM_CHANNEL_IBSS: usable as an IBSS channel
|
||||||
* @NVM_CHANNEL_ACTIVE: active scanning allowed
|
* @NVM_CHANNEL_ACTIVE: active scanning allowed
|
||||||
* @NVM_CHANNEL_RADAR: radar detection required
|
* @NVM_CHANNEL_RADAR: radar detection required
|
||||||
* @NVM_CHANNEL_DFS: dynamic freq selection candidate
|
* @NVM_CHANNEL_INDOOR_ONLY: only indoor use is allowed
|
||||||
|
* @NVM_CHANNEL_GO_CONCURRENT: GO operation is allowed when connected to BSS
|
||||||
|
* on same channel on 2.4 or same UNII band on 5.2
|
||||||
* @NVM_CHANNEL_WIDE: 20 MHz channel okay (?)
|
* @NVM_CHANNEL_WIDE: 20 MHz channel okay (?)
|
||||||
* @NVM_CHANNEL_40MHZ: 40 MHz channel okay (?)
|
* @NVM_CHANNEL_40MHZ: 40 MHz channel okay (?)
|
||||||
* @NVM_CHANNEL_80MHZ: 80 MHz channel okay (?)
|
* @NVM_CHANNEL_80MHZ: 80 MHz channel okay (?)
|
||||||
|
@ -185,7 +187,8 @@ enum iwl_nvm_channel_flags {
|
||||||
NVM_CHANNEL_IBSS = BIT(1),
|
NVM_CHANNEL_IBSS = BIT(1),
|
||||||
NVM_CHANNEL_ACTIVE = BIT(3),
|
NVM_CHANNEL_ACTIVE = BIT(3),
|
||||||
NVM_CHANNEL_RADAR = BIT(4),
|
NVM_CHANNEL_RADAR = BIT(4),
|
||||||
NVM_CHANNEL_DFS = BIT(7),
|
NVM_CHANNEL_INDOOR_ONLY = BIT(5),
|
||||||
|
NVM_CHANNEL_GO_CONCURRENT = BIT(6),
|
||||||
NVM_CHANNEL_WIDE = BIT(8),
|
NVM_CHANNEL_WIDE = BIT(8),
|
||||||
NVM_CHANNEL_40MHZ = BIT(9),
|
NVM_CHANNEL_40MHZ = BIT(9),
|
||||||
NVM_CHANNEL_80MHZ = BIT(10),
|
NVM_CHANNEL_80MHZ = BIT(10),
|
||||||
|
@ -273,6 +276,16 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
|
||||||
if (ch_flags & NVM_CHANNEL_RADAR)
|
if (ch_flags & NVM_CHANNEL_RADAR)
|
||||||
channel->flags |= IEEE80211_CHAN_RADAR;
|
channel->flags |= IEEE80211_CHAN_RADAR;
|
||||||
|
|
||||||
|
if (ch_flags & NVM_CHANNEL_INDOOR_ONLY)
|
||||||
|
channel->flags |= IEEE80211_CHAN_INDOOR_ONLY;
|
||||||
|
|
||||||
|
/* Set the GO concurrent flag only in case that NO_IR is set.
|
||||||
|
* Otherwise it is meaningless
|
||||||
|
*/
|
||||||
|
if ((ch_flags & NVM_CHANNEL_GO_CONCURRENT) &&
|
||||||
|
(channel->flags & IEEE80211_CHAN_NO_IR))
|
||||||
|
channel->flags |= IEEE80211_CHAN_GO_CONCURRENT;
|
||||||
|
|
||||||
/* Initialize regulatory-based run-time data */
|
/* Initialize regulatory-based run-time data */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -282,7 +295,7 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
|
||||||
channel->max_power = DEFAULT_MAX_TX_POWER;
|
channel->max_power = DEFAULT_MAX_TX_POWER;
|
||||||
is_5ghz = channel->band == IEEE80211_BAND_5GHZ;
|
is_5ghz = channel->band == IEEE80211_BAND_5GHZ;
|
||||||
IWL_DEBUG_EEPROM(dev,
|
IWL_DEBUG_EEPROM(dev,
|
||||||
"Ch. %d [%sGHz] %s%s%s%s%s%s(0x%02x %ddBm): Ad-Hoc %ssupported\n",
|
"Ch. %d [%sGHz] %s%s%s%s%s%s%s(0x%02x %ddBm): Ad-Hoc %ssupported\n",
|
||||||
channel->hw_value,
|
channel->hw_value,
|
||||||
is_5ghz ? "5.2" : "2.4",
|
is_5ghz ? "5.2" : "2.4",
|
||||||
CHECK_AND_PRINT_I(VALID),
|
CHECK_AND_PRINT_I(VALID),
|
||||||
|
@ -290,7 +303,8 @@ static int iwl_init_channel_map(struct device *dev, const struct iwl_cfg *cfg,
|
||||||
CHECK_AND_PRINT_I(ACTIVE),
|
CHECK_AND_PRINT_I(ACTIVE),
|
||||||
CHECK_AND_PRINT_I(RADAR),
|
CHECK_AND_PRINT_I(RADAR),
|
||||||
CHECK_AND_PRINT_I(WIDE),
|
CHECK_AND_PRINT_I(WIDE),
|
||||||
CHECK_AND_PRINT_I(DFS),
|
CHECK_AND_PRINT_I(INDOOR_ONLY),
|
||||||
|
CHECK_AND_PRINT_I(GO_CONCURRENT),
|
||||||
ch_flags,
|
ch_flags,
|
||||||
channel->max_power,
|
channel->max_power,
|
||||||
((ch_flags & NVM_CHANNEL_IBSS) &&
|
((ch_flags & NVM_CHANNEL_IBSS) &&
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue