Commit eae94cf8 authored by Luca Coelho's avatar Luca Coelho
Browse files

iwlwifi: mvm: add support for 6GHz



Add support to the 6GHz band (aka. Ultra High Band or UHB).  This
allows us to scan and connect to channels in that band, including all
the relevant features, such as preferred scan channels, colocated
channels etc.

Co-developed-by: default avatarHaim Dreyfuss <haim.dreyfuss@intel.com>
Signed-off-by: default avatarHaim Dreyfuss <haim.dreyfuss@intel.com>
Co-developed-by: default avatarIlan Peer <ilan.peer@intel.com>
Signed-off-by: default avatarIlan Peer <ilan.peer@intel.com>
Co-developed-by: default avatarTova Mussai <tova.mussai@intel.com>
Signed-off-by: default avatarTova Mussai <tova.mussai@intel.com>
Co-developed-by: default avatarAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Signed-off-by: default avatarAndrei Otcheretianski <andrei.otcheretianski@intel.com>
Co-developed-by: default avatarTali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Signed-off-by: default avatarTali Levi Rovinsky <Tali.Levi-rovinsky@intel.com>
Co-developed-by: default avatarAvraham Stern <avraham.stern@intel.com>
Signed-off-by: default avatarAvraham Stern <avraham.stern@intel.com>
Co-developed-by: default avatarAyala Beker <ayala.beker@intel.com>
Signed-off-by: default avatarAyala Beker <ayala.beker@intel.com>
Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
Link: https://lore.kernel.org/r/iwlwifi.20201210000657.0fdbfc3d7352.Idb648536faf21716e2ab2c6d6890d3e49f719cd3@changeid


Signed-off-by: default avatarLuca Coelho <luciano.coelho@intel.com>
parent d43ab298
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -155,7 +155,8 @@ static const struct iwl_base_params iwl_ax210_base_params = {
static const struct iwl_ht_params iwl_22000_ht_params = {
	.stbc = true,
	.ldpc = true,
	.ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ),
	.ht40_bands = BIT(NL80211_BAND_2GHZ) | BIT(NL80211_BAND_5GHZ) |
		      BIT(NL80211_BAND_6GHZ),
};

#define IWL_DEVICE_22000_COMMON						\
+1 −0
Original line number Diff line number Diff line
@@ -66,6 +66,7 @@
/* Supported bands */
#define PHY_BAND_5  (0)
#define PHY_BAND_24 (1)
#define PHY_BAND_6 (2)

/* Supported channel width, vary if there is VHT support */
#define PHY_VHT_CHANNEL_MODE20	(0x0)
+5 −0
Original line number Diff line number Diff line
@@ -530,6 +530,11 @@ enum iwl_channel_flags {
	IWL_CHANNEL_FLAG_PRE_SCAN_PASSIVE2ACTIVE	= BIT(3),
};

enum iwl_uhb_chan_cfg_flags {
	IWL_UHB_CHAN_CFG_FLAG_UNSOLICITED_PROBE_RES = BIT(24),
	IWL_UHB_CHAN_CFG_FLAG_PSC_CHAN_NO_LISTEN    = BIT(25),
	IWL_UHB_CHAN_CFG_FLAG_FORCE_PASSIVE         = BIT(26),
};
/**
 * struct iwl_scan_dwell
 * @active:		default dwell time for active scan
+5 −0
Original line number Diff line number Diff line
@@ -486,6 +486,11 @@ enum iwl_ucode_tlv_capa {
	/* set 3 */
	IWL_UCODE_TLV_CAPA_MLME_OFFLOAD			= (__force iwl_ucode_tlv_capa_t)96,

	/*
	 * @IWL_UCODE_TLV_CAPA_PSC_CHAN_SUPPORT: supports PSC channels
	 */
	IWL_UCODE_TLV_CAPA_PSC_CHAN_SUPPORT		= (__force iwl_ucode_tlv_capa_t)98,

	NUM_IWL_UCODE_TLV_CAPA
#ifdef __CHECKER__
		/* sparse says it cannot increment the previous enum member */
+5 −0
Original line number Diff line number Diff line
@@ -100,6 +100,11 @@ struct iwl_nvm_data {
	bool vht160_supported;
	struct ieee80211_supported_band bands[NUM_NL80211_BANDS];

	/*
	 * iftype data for low (2.4 GHz) and high (5 and 6 GHz) bands,
	 * we can use the same for 5 and 6 GHz bands because they have
	 * the same data
	 */
	struct {
		struct ieee80211_sband_iftype_data low[2];
		struct ieee80211_sband_iftype_data high[2];
Loading