Commit d42df85f authored by Igor Mitsyanko's avatar Igor Mitsyanko Committed by Kalle Valo
Browse files

qtnfmac: initialize HT/VHT caps "can override" masks



Information on which HT/VHT capabilities can be overridden is reported
per-MAC by wireless device.

Signed-off-by: default avatarIgor Mitsyanko <igor.mitsyanko.os@quantenna.com>
Signed-off-by: default avatarKalle Valo <kvalo@codeaurora.org>
parent e294cbfd
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -925,6 +925,8 @@ int qtnf_wiphy_register(struct qtnf_hw_info *hw_info, struct qtnf_wmac *mac)
	wiphy->available_antennas_rx = mac->macinfo.num_rx_chain;

	wiphy->max_ap_assoc_sta = mac->macinfo.max_ap_assoc_sta;
	wiphy->ht_capa_mod_mask = &mac->macinfo.ht_cap_mod_mask;
	wiphy->vht_capa_mod_mask = &mac->macinfo.vht_cap_mod_mask;

	ether_addr_copy(wiphy->perm_addr, mac->macaddr);

+4 −3
Original line number Diff line number Diff line
@@ -1110,9 +1110,10 @@ qtnf_cmd_resp_proc_mac_info(struct qtnf_wmac *mac,
			qlink_chan_width_mask_to_nl(le16_to_cpu(
					resp_info->radar_detect_widths));

	memcpy(&mac_info->ht_cap, &resp_info->ht_cap, sizeof(mac_info->ht_cap));
	memcpy(&mac_info->vht_cap, &resp_info->vht_cap,
	       sizeof(mac_info->vht_cap));
	memcpy(&mac_info->ht_cap_mod_mask, &resp_info->ht_cap_mod_mask,
	       sizeof(mac_info->ht_cap_mod_mask));
	memcpy(&mac_info->vht_cap_mod_mask, &resp_info->vht_cap_mod_mask,
	       sizeof(mac_info->vht_cap_mod_mask));
}

static void qtnf_cmd_resp_band_fill_htcap(const u8 *info,
+2 −2
Original line number Diff line number Diff line
@@ -103,8 +103,8 @@ struct qtnf_mac_info {
	u8 sretry_limit;
	u8 coverage_class;
	u8 radar_detect_widths;
	struct ieee80211_ht_cap ht_cap;
	struct ieee80211_vht_cap vht_cap;
	struct ieee80211_ht_cap ht_cap_mod_mask;
	struct ieee80211_vht_cap vht_cap_mod_mask;
	struct ieee80211_iface_limit *limits;
	size_t n_limits;
};
+4 −4
Original line number Diff line number Diff line
@@ -636,8 +636,8 @@ struct qlink_resp {
 *	specified WMAC).
 * @num_tx_chain: Number of transmit chains used by WMAC.
 * @num_rx_chain: Number of receive chains used by WMAC.
 * @vht_cap: VHT capabilities.
 * @ht_cap: HT capabilities.
 * @vht_cap_mod_mask: mask specifying which VHT capabilities can be altered.
 * @ht_cap_mod_mask: mask specifying which HT capabilities can be altered.
 * @bands_cap: wireless bands WMAC can operate in, bitmap of &enum qlink_band.
 * @phymode_cap: PHY modes WMAC can operate in, bitmap of &enum qlink_phy_mode.
 * @max_ap_assoc_sta: Maximum number of associations supported by WMAC.
@@ -649,8 +649,8 @@ struct qlink_resp_get_mac_info {
	u8 dev_mac[ETH_ALEN];
	u8 num_tx_chain;
	u8 num_rx_chain;
	struct ieee80211_vht_cap vht_cap;
	struct ieee80211_ht_cap ht_cap;
	struct ieee80211_vht_cap vht_cap_mod_mask;
	struct ieee80211_ht_cap ht_cap_mod_mask;
	u8 bands_cap;
	u8 phymode_cap;
	__le16 max_ap_assoc_sta;