From: Wen Gong <wgong@codeaurora.org> To: johannes@sipsolutions.net, ath11k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, wgong@codeaurora.org Subject: [PATCH v2 7/8] mac80211: add parse transmit power envelope element Date: Fri, 20 Aug 2021 08:20:40 -0400 [thread overview] Message-ID: <20210820122041.12157-8-wgong@codeaurora.org> (raw) In-Reply-To: <20210820122041.12157-1-wgong@codeaurora.org> The transmit power envelope elements in beacon is used to calculate the power limit by lower driver, and sometimes it has more than one elements in a beacon frame. This is to add parse the transmit power envelope elements, then it will be saved and transfer to lower driver to calculate the power limit. Signed-off-by: Wen Gong <wgong@codeaurora.org> --- net/mac80211/ieee80211_i.h | 3 +++ net/mac80211/util.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 648696b49f89..bb62de5e3758 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -1494,6 +1494,7 @@ struct ieee802_11_elems { const struct ieee80211_he_spr *he_spr; const struct ieee80211_mu_edca_param_set *mu_edca_param_set; const struct ieee80211_he_6ghz_capa *he_6ghz_capa; + const struct ieee80211_tx_pwr_env *tx_pwr_env[IEEE80211_TPE_MAX_IE_COUNT]; const u8 *uora_element; const u8 *mesh_id; const u8 *peering; @@ -1544,6 +1545,8 @@ struct ieee802_11_elems { u8 perr_len; u8 country_elem_len; u8 bssid_index_len; + u8 tx_pwr_env_len[IEEE80211_TPE_MAX_IE_COUNT]; + u8 tx_pwr_env_num; /* whether a parse error occurred while retrieving these elements */ bool parse_error; diff --git a/net/mac80211/util.c b/net/mac80211/util.c index cb1c35d8ef48..12c70cc30461 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1336,6 +1336,15 @@ _ieee802_11_parse_elems_crc(const u8 *start, size_t len, bool action, elems->rsnx = pos; elems->rsnx_len = elen; break; + case WLAN_EID_TX_POWER_ENVELOPE: + if (elems->tx_pwr_env_num >= ARRAY_SIZE(elems->tx_pwr_env) || + elen < 1) + break; + + elems->tx_pwr_env[elems->tx_pwr_env_num] = (void *)pos; + elems->tx_pwr_env_len[elems->tx_pwr_env_num] = elen; + elems->tx_pwr_env_num++; + break; case WLAN_EID_EXTENSION: ieee80211_parse_extension_element(calc_crc ? &crc : NULL, -- 2.31.1
WARNING: multiple messages have this Message-ID (diff)
From: Wen Gong <wgong@codeaurora.org> To: johannes@sipsolutions.net, ath11k@lists.infradead.org Cc: linux-wireless@vger.kernel.org, wgong@codeaurora.org Subject: [PATCH v2 7/8] mac80211: add parse transmit power envelope element Date: Fri, 20 Aug 2021 08:20:40 -0400 [thread overview] Message-ID: <20210820122041.12157-8-wgong@codeaurora.org> (raw) In-Reply-To: <20210820122041.12157-1-wgong@codeaurora.org> The transmit power envelope elements in beacon is used to calculate the power limit by lower driver, and sometimes it has more than one elements in a beacon frame. This is to add parse the transmit power envelope elements, then it will be saved and transfer to lower driver to calculate the power limit. Signed-off-by: Wen Gong <wgong@codeaurora.org> --- net/mac80211/ieee80211_i.h | 3 +++ net/mac80211/util.c | 9 +++++++++ 2 files changed, 12 insertions(+) diff --git a/net/mac80211/ieee80211_i.h b/net/mac80211/ieee80211_i.h index 648696b49f89..bb62de5e3758 100644 --- a/net/mac80211/ieee80211_i.h +++ b/net/mac80211/ieee80211_i.h @@ -1494,6 +1494,7 @@ struct ieee802_11_elems { const struct ieee80211_he_spr *he_spr; const struct ieee80211_mu_edca_param_set *mu_edca_param_set; const struct ieee80211_he_6ghz_capa *he_6ghz_capa; + const struct ieee80211_tx_pwr_env *tx_pwr_env[IEEE80211_TPE_MAX_IE_COUNT]; const u8 *uora_element; const u8 *mesh_id; const u8 *peering; @@ -1544,6 +1545,8 @@ struct ieee802_11_elems { u8 perr_len; u8 country_elem_len; u8 bssid_index_len; + u8 tx_pwr_env_len[IEEE80211_TPE_MAX_IE_COUNT]; + u8 tx_pwr_env_num; /* whether a parse error occurred while retrieving these elements */ bool parse_error; diff --git a/net/mac80211/util.c b/net/mac80211/util.c index cb1c35d8ef48..12c70cc30461 100644 --- a/net/mac80211/util.c +++ b/net/mac80211/util.c @@ -1336,6 +1336,15 @@ _ieee802_11_parse_elems_crc(const u8 *start, size_t len, bool action, elems->rsnx = pos; elems->rsnx_len = elen; break; + case WLAN_EID_TX_POWER_ENVELOPE: + if (elems->tx_pwr_env_num >= ARRAY_SIZE(elems->tx_pwr_env) || + elen < 1) + break; + + elems->tx_pwr_env[elems->tx_pwr_env_num] = (void *)pos; + elems->tx_pwr_env_len[elems->tx_pwr_env_num] = elen; + elems->tx_pwr_env_num++; + break; case WLAN_EID_EXTENSION: ieee80211_parse_extension_element(calc_crc ? &crc : NULL, -- 2.31.1 -- ath11k mailing list ath11k@lists.infradead.org http://lists.infradead.org/mailman/listinfo/ath11k
next prev parent reply other threads:[~2021-08-20 12:21 UTC|newest] Thread overview: 86+ messages / expand[flat|nested] mbox.gz Atom feed top 2021-08-20 12:20 [PATCH v2 0/8] cfg80211/mac80211: Add support for 6GHZ STA for various modes : LPI, SP and VLP Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-20 12:20 ` [PATCH v2 1/8] cfg80211: add power type definition for 6 GHz Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:20 ` Johannes Berg 2021-08-26 8:20 ` Johannes Berg 2021-08-26 8:22 ` Johannes Berg 2021-08-26 8:22 ` Johannes Berg 2021-08-26 11:02 ` Wen Gong 2021-08-26 11:02 ` Wen Gong 2021-08-26 11:11 ` Johannes Berg 2021-08-26 11:11 ` Johannes Berg 2021-08-26 10:57 ` Wen Gong 2021-08-26 10:57 ` Wen Gong 2021-08-26 10:59 ` Johannes Berg 2021-08-26 10:59 ` Johannes Berg 2021-08-26 11:01 ` Wen Gong 2021-08-26 11:01 ` Wen Gong 2021-08-20 12:20 ` [PATCH v2 2/8] mac80211: add definition of regulatory info in 6 GHz operation information Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:20 ` Johannes Berg 2021-08-26 8:20 ` Johannes Berg 2021-08-20 12:20 ` [PATCH v2 3/8] mac80211: add parse " Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:21 ` Johannes Berg 2021-08-26 8:21 ` Johannes Berg 2021-08-20 12:20 ` [PATCH v2 4/8] cfg80211: add definition for 6 GHz power spectral density(psd) Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-20 12:20 ` [PATCH v2 5/8] cfg80211: save power spectral density(psd) of regulatory rule Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:25 ` Johannes Berg 2021-08-26 8:25 ` Johannes Berg 2021-08-26 10:43 ` Wen Gong 2021-08-26 10:43 ` Wen Gong 2021-08-26 10:56 ` Johannes Berg 2021-08-26 10:56 ` Johannes Berg 2021-08-26 10:58 ` Wen Gong 2021-08-26 10:58 ` Wen Gong 2021-08-20 12:20 ` [PATCH v2 6/8] mac80211: add definition for transmit power envelope element Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:30 ` Johannes Berg 2021-08-26 8:30 ` Johannes Berg 2021-08-20 12:20 ` Wen Gong [this message] 2021-08-20 12:20 ` [PATCH v2 7/8] mac80211: add parse " Wen Gong 2021-08-26 8:20 ` Johannes Berg 2021-08-26 8:20 ` Johannes Berg 2021-08-20 12:20 ` [PATCH v2 8/8] mac80211: save transmit power envelope element and power constraint Wen Gong 2021-08-20 12:20 ` Wen Gong 2021-08-26 8:29 ` Johannes Berg 2021-08-26 8:29 ` Johannes Berg 2021-08-26 10:50 ` Wen Gong 2021-08-26 10:50 ` Wen Gong 2021-08-26 10:57 ` Johannes Berg 2021-08-26 10:57 ` Johannes Berg 2021-08-26 11:00 ` Wen Gong 2021-08-26 11:00 ` Wen Gong 2021-08-26 11:10 ` Johannes Berg 2021-08-26 11:10 ` Johannes Berg 2021-08-27 2:01 ` Wen Gong 2021-08-27 2:01 ` Wen Gong 2023-07-19 3:29 ` Wen Gong 2023-07-19 3:29 ` Wen Gong 2021-08-27 2:11 ` Wen Gong 2021-08-27 2:11 ` Wen Gong 2021-08-27 6:46 ` Johannes Berg 2021-08-27 6:46 ` Johannes Berg 2021-08-27 6:53 ` Wen Gong 2021-08-27 6:53 ` Wen Gong 2021-08-27 6:55 ` Johannes Berg 2021-08-27 6:55 ` Johannes Berg 2021-08-27 7:12 ` Wen Gong 2021-08-27 7:12 ` Wen Gong 2021-08-27 7:38 ` Johannes Berg 2021-08-27 7:38 ` Johannes Berg 2021-08-27 8:18 ` Wen Gong 2021-08-27 8:18 ` Wen Gong 2021-08-27 8:20 ` Johannes Berg 2021-08-27 8:20 ` Johannes Berg 2021-08-27 8:28 ` Wen Gong 2021-08-27 8:28 ` Wen Gong 2021-08-27 8:30 ` Johannes Berg 2021-08-27 8:30 ` Johannes Berg 2021-08-27 8:47 ` Wen Gong 2021-08-27 8:47 ` Wen Gong 2021-08-25 2:18 ` [PATCH v2 0/8] cfg80211/mac80211: Add support for 6GHZ STA for various modes : LPI, SP and VLP Wen Gong 2021-08-25 2:18 ` Wen Gong
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=20210820122041.12157-8-wgong@codeaurora.org \ --to=wgong@codeaurora.org \ --cc=ath11k@lists.infradead.org \ --cc=johannes@sipsolutions.net \ --cc=linux-wireless@vger.kernel.org \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.