From nobody Mon Oct 31 22:12:09 2022 X-Original-To: dev-commits-src-main@mlmmj.nyi.freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2610:1c1:1:606c::19:1]) by mlmmj.nyi.freebsd.org (Postfix) with ESMTP id 4N1S7F682yz4gfQc; Mon, 31 Oct 2022 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from mxrelay.nyi.freebsd.org (mxrelay.nyi.freebsd.org [IPv6:2610:1c1:1:606c::19:3]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256 client-signature RSA-PSS (4096 bits) client-digest SHA256) (Client CN "mxrelay.nyi.freebsd.org", Issuer "R3" (verified OK)) by mx1.freebsd.org (Postfix) with ESMTPS id 4N1S7F5fbhz47l8; Mon, 31 Oct 2022 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1667254329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYO1SdSeGErBqFyg8N9YafWSekoDbTOXrDhWWl/SGG0=; b=eZU3b2DIEtcL7Me3B5pCrMnVGH4OcwL+xHjd9Ywbny6p59z30UUtQYYyRuT5hVjtL8vDG7 KMLMglU5NoVrs5oqiJI3gjEDptGkBqSQPvyOSfGsQIeo7jkStuQzd/QfPa0IOwCWvUi0T6 CxKBnsm24vgziTFM5IQ/WUBA+lB+zhlU+hC/K4ECL0AgVL6LScOEqvXeiNeNg7BmwUAMhQ ggHC4QaVBL7d6aFvIuipvwbQaEQNYPAqLXubIPi4wPSnB/+4EC4jQuL/0Mceuf0hiyuIzw yDuJlTzq3DVHDnlyQ8GgUAOIUSOEi6mJhOEbdiZNjQYWWekexthpdsgoZPKAtQ== Received: from gitrepo.freebsd.org (gitrepo.freebsd.org [IPv6:2610:1c1:1:6068::e6a:5]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (Client did not present a certificate) by mxrelay.nyi.freebsd.org (Postfix) with ESMTPS id 4N1S7F4jsHzshb; Mon, 31 Oct 2022 22:12:09 +0000 (UTC) (envelope-from git@FreeBSD.org) Received: from gitrepo.freebsd.org ([127.0.1.44]) by gitrepo.freebsd.org (8.16.1/8.16.1) with ESMTP id 29VMC9LK025935; Mon, 31 Oct 2022 22:12:09 GMT (envelope-from git@gitrepo.freebsd.org) Received: (from git@localhost) by gitrepo.freebsd.org (8.16.1/8.16.1/Submit) id 29VMC9Th025934; Mon, 31 Oct 2022 22:12:09 GMT (envelope-from git) Date: Mon, 31 Oct 2022 22:12:09 GMT Message-Id: <202210312212.29VMC9Th025934@gitrepo.freebsd.org> To: src-committers@FreeBSD.org, dev-commits-src-all@FreeBSD.org, dev-commits-src-main@FreeBSD.org From: "Bjoern A. Zeeb" Subject: git: 1d70218e9e1a - main - LinuxKPI: 802.11 update header files List-Id: Commit messages for the main branch of the src repository List-Archive: https://lists.freebsd.org/archives/dev-commits-src-main List-Help: List-Post: List-Subscribe: List-Unsubscribe: Sender: owner-dev-commits-src-main@freebsd.org X-BeenThere: dev-commits-src-main@freebsd.org MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Git-Committer: bz X-Git-Repository: src X-Git-Refname: refs/heads/main X-Git-Reftype: branch X-Git-Commit: 1d70218e9e1a27915a5d6ac434c226c8861f64f2 Auto-Submitted: auto-generated ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=freebsd.org; s=dkim; t=1667254329; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=DYO1SdSeGErBqFyg8N9YafWSekoDbTOXrDhWWl/SGG0=; b=Z2DxgPcy5DISOB1PorcovzrNjVOfvnUcp9sgSi2BSenQK071O5tdSl1NaEA+K5pzSGCrPk oDlRGD9gvgefsKQKsCkggmHNM7QoNgxXmOz+Hi8KRt8LtHzYFnADTk91Z5fp358nYwTxIW U08Sw38M/ue8ld9gFf/v4brX1DIMBUqmXsR2mRkTmliT/ZjeYXtKsQmnneoHinVd/g8uvy wnkgo/3RiunIuh1f68rb/3mvmjPpbk75oVgNidlNtjBXwenit4Qz31rfOPmH9YnoKUhs3z bJDj9A2OsSeubLRtlyhnv4kWxAWK4gPwHuOIS/FxefuZljQQDQH0GbzIK1lqwQ== ARC-Seal: i=1; s=dkim; d=freebsd.org; t=1667254329; a=rsa-sha256; cv=none; b=NpKvS428ASntLV0D3lfy5weQ12Q9Pefe3F2XMsRWlEyeaiMKtj3q1VuIy7sawXjzjXW5hl nnZicX84GgjOLl4Yh6nbj2O8YHLYloRzAdOhFdlcz/5JrHLvDTLNYPtY8G2efZjSlFDDHb kHYELFRmOFwC852iuypIo+2pF0C9upKkOOjPE7iti63fv9duW9uO9vQzYnvY6UdSd2BHlm bca35Jz5ZlOwwh55FzOVbnFjaFgiy0PvxfdYdgLRNnJ9UJdDktp2NRN7to3fAhsWMKXCZx +TB9yo4GXQgrKv7hZl+NPnL5BhWegLsKTthtHNmz40LtXhzDuvZs1g9z0UIuPQ== ARC-Authentication-Results: i=1; mx1.freebsd.org; none X-ThisMailContainsUnwantedMimeParts: N The branch main has been updated by bz: URL: https://cgit.FreeBSD.org/src/commit/?id=1d70218e9e1a27915a5d6ac434c226c8861f64f2 commit 1d70218e9e1a27915a5d6ac434c226c8861f64f2 Author: Bjoern A. Zeeb AuthorDate: 2022-10-31 22:09:25 +0000 Commit: Bjoern A. Zeeb CommitDate: 2022-10-31 22:09:25 +0000 LinuxKPI: 802.11 update header files Adjust struct members, add more (for HE dummy) defines, add more (wrapper) functions in order to acoomodate another driver. MFC after: 3 days --- sys/compat/linuxkpi/common/include/linux/ieee80211.h | 3 +++ sys/compat/linuxkpi/common/include/linux/nl80211.h | 8 ++++++++ sys/compat/linuxkpi/common/include/net/cfg80211.h | 16 ++++++++++++---- sys/compat/linuxkpi/common/include/net/mac80211.h | 14 +++++++++++++- 4 files changed, 36 insertions(+), 5 deletions(-) diff --git a/sys/compat/linuxkpi/common/include/linux/ieee80211.h b/sys/compat/linuxkpi/common/include/linux/ieee80211.h index 5a29137d0510..c797967f357a 100644 --- a/sys/compat/linuxkpi/common/include/linux/ieee80211.h +++ b/sys/compat/linuxkpi/common/include/linux/ieee80211.h @@ -282,6 +282,9 @@ struct ieee80211_ht_cap { }; #define IEEE80211_HT_MAX_AMPDU_FACTOR 13 +#define IEEE80211_HE_HT_MAX_AMPDU_FACTOR 16 +#define IEEE80211_HE_VHT_MAX_AMPDU_FACTOR 20 +#define IEEE80211_HE_6GHZ_MAX_AMPDU_FACTOR 13 enum ieee80211_ht_max_ampdu_len { IEEE80211_HT_MAX_AMPDU_64K diff --git a/sys/compat/linuxkpi/common/include/linux/nl80211.h b/sys/compat/linuxkpi/common/include/linux/nl80211.h index f8de2eedf1b7..e4c904ff5cac 100644 --- a/sys/compat/linuxkpi/common/include/linux/nl80211.h +++ b/sys/compat/linuxkpi/common/include/linux/nl80211.h @@ -334,6 +334,10 @@ enum nl80211_dfs_regions { NL80211_DFS_JP, }; +enum nl80211_dfs_state { + NL80211_DFS_USABLE, +}; + enum nl80211_sar_type { NL80211_SAR_TYPE_POWER, }; @@ -373,6 +377,10 @@ enum nl80211_probe_resp_offload_support { NL80211_PROBE_RESP_OFFLOAD_SUPPORT_P2P, }; +enum nl80211_user_reg_hint_type { + NL80211_USER_REG_HINT_USER, +}; + #define NL80211_KCK_LEN 16 #define NL80211_KCK_EXT_LEN 24 #define NL80211_KEK_LEN 16 diff --git a/sys/compat/linuxkpi/common/include/net/cfg80211.h b/sys/compat/linuxkpi/common/include/net/cfg80211.h index 7995f633256f..fe5103045983 100644 --- a/sys/compat/linuxkpi/common/include/net/cfg80211.h +++ b/sys/compat/linuxkpi/common/include/net/cfg80211.h @@ -531,7 +531,7 @@ struct station_info { int assoc_req_ies_len, connected_time; int generation, inactive_time, rx_bytes, rx_dropped_misc, rx_packets, signal, tx_bytes, tx_packets; int filled, rx_beacon, rx_beacon_signal_avg, signal_avg; - int rx_duration, tx_failed, tx_retries; + int rx_duration, tx_duration, tx_failed, tx_retries; int chains; uint8_t chain_signal[IEEE80211_MAX_CHAINS]; @@ -652,7 +652,6 @@ struct linuxkpi_ieee80211_regdomain { #define IEEE80211_HE_6GHZ_CAP_MAX_MPDU_LEN 0x08 #define IEEE80211_HE_6GHZ_CAP_MAX_AMPDU_LEN_EXP 0x10 #define IEEE80211_HE_6GHZ_CAP_SM_PS 0x20 -#define IEEE80211_HE_6GHZ_MAX_AMPDU_FACTOR 0x40 #define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_160MHZ_IN_5G 0x1 #define IEEE80211_HE_PHY_CAP0_CHANNEL_WIDTH_SET_40MHZ_80MHZ_IN_5G 0x2 @@ -756,6 +755,14 @@ struct linuxkpi_ieee80211_regdomain { #define IEEE80211_HE_PHY_CAP10_HE_MU_M1RU_MAX_LTF 0x1 +#define IEEE80211_HE_OPERATION_BSS_COLOR_DISABLED 0x1 +#define IEEE80211_HE_OPERATION_BSS_COLOR_OFFSET 0x2 + +#define IEEE80211_HE_SPR_HESIGA_SR_VAL15_ALLOWED 0x01 +#define IEEE80211_HE_SPR_NON_SRG_OBSS_PD_SR_DISALLOWED 0x02 +#define IEEE80211_HE_SPR_NON_SRG_OFFSET_PRESENT 0x04 +#define IEEE80211_HE_SPR_SRG_INFORMATION_PRESENT 0x08 + #define VENDOR_CMD_RAW_DATA (void *)(uintptr_t)(-ENOENT) struct ieee80211_he_cap_elem { @@ -791,9 +798,9 @@ struct ieee80211_he_obss_pd { uint8_t min_offset; uint8_t max_offset; uint8_t non_srg_max_offset; - uint8_t bss_color_bitmap; - uint8_t partial_bssid_bitmap; uint8_t sr_ctrl; + uint8_t bss_color_bitmap[8]; + uint8_t partial_bssid_bitmap[8]; }; struct ieee80211_sta_he_6ghz_capa { @@ -931,6 +938,7 @@ struct regulatory_request { /* XXX TODO */ uint8_t alpha2[2]; int initiator, dfs_region; + int user_reg_hint_type; }; enum wiphy_vendor_cmd_need_flags { diff --git a/sys/compat/linuxkpi/common/include/net/mac80211.h b/sys/compat/linuxkpi/common/include/net/mac80211.h index a7836df006d8..73db00836262 100644 --- a/sys/compat/linuxkpi/common/include/net/mac80211.h +++ b/sys/compat/linuxkpi/common/include/net/mac80211.h @@ -240,6 +240,10 @@ struct ieee80211_bss_conf { uint8_t membership[WLAN_MEMBERSHIP_LEN]; uint8_t position[WLAN_USER_POSITION_LEN]; } mu_group; + struct { + uint32_t params; + /* single field struct? */ + } he_oper; struct cfg80211_he_bss_color he_bss_color; struct ieee80211_he_obss_pd he_obss_pd; size_t ssid_len; @@ -276,7 +280,7 @@ struct ieee80211_bss_conf { int profile_periodicity; int twt_requester, uora_exists, uora_ocw_range; int assoc_capability, enable_beacon, hidden_ssid, ibss_joined, twt_protected; - int he_oper, twt_responder, unsol_bcast_probe_resp_interval; + int twt_responder, unsol_bcast_probe_resp_interval; int color_change_active; }; @@ -458,6 +462,7 @@ enum ieee802111_key_flag { IEEE80211_KEY_FLAG_SW_MGMT_TX = BIT(5), IEEE80211_KEY_FLAG_GENERATE_IV_MGMT = BIT(6), IEEE80211_KEY_FLAG_GENERATE_MMIE = BIT(7), + IEEE80211_KEY_FLAG_RESERVE_TAILROOM = BIT(8), }; struct ieee80211_key_conf { @@ -1462,6 +1467,13 @@ ieee80211_rx_irqsafe(struct ieee80211_hw *hw, struct sk_buff *skb) linuxkpi_ieee80211_rx(hw, skb, NULL, NULL); } +static __inline void +ieee80211_rx(struct ieee80211_hw *hw, struct sk_buff *skb) +{ + + linuxkpi_ieee80211_rx(hw, skb, NULL, NULL); +} + /* -------------------------------------------------------------------------- */ static __inline uint8_t