diff options
author | Sergey Matyukevich <sergey.matyukevich.os@quantenna.com> | 2018-01-22 13:46:29 +0100 |
---|---|---|
committer | Kalle Valo <kvalo@codeaurora.org> | 2018-01-24 17:00:40 +0100 |
commit | 537faf269d76eb6f6d325874c573e45e5b55edce (patch) | |
tree | 96bcd6e6871b87ef1ff8a5c919a9809697289d4f /drivers/net/wireless/quantenna/qtnfmac/qlink.h | |
parent | qtnfmac: report hardware/firmware information via ethtool (diff) | |
download | linux-537faf269d76eb6f6d325874c573e45e5b55edce.tar.xz linux-537faf269d76eb6f6d325874c573e45e5b55edce.zip |
qtnfmac: modify supported interface combinations
Update existing code handling configuration of supported interface
combinations. Current implementation is not complete since it does
not report multiple interface combinations which are incompatible
with each other. Instead current implementation packs all the
supported combinations into single entry.
In fact currently qsr10g wireless card supports the following
two distinct interface combinations:
1. STA/repeater: 1 STA and/or 1 AP
{
{ .max = 1, .types = NL80211_IFTYPE_AP},
{ .max = 1, .types = NL80211_IFTYPE_STA},
}
2. AP/mBSS
{
{ .max = 8, .types = NL80211_IFTYPE_AP},
}
The list of supported configuration is reported by firmware during
wireless card bring-up. Communication protocol between firmware
and host has been updated accordingly in order to accommodate passing
multiple interface combination entries.
Signed-off-by: Sergey Matyukevich <sergey.matyukevich.os@quantenna.com>
Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
Diffstat (limited to 'drivers/net/wireless/quantenna/qtnfmac/qlink.h')
-rw-r--r-- | drivers/net/wireless/quantenna/qtnfmac/qlink.h | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/drivers/net/wireless/quantenna/qtnfmac/qlink.h b/drivers/net/wireless/quantenna/qtnfmac/qlink.h index 51cadd2a43f0..9bf3ae4d1b3b 100644 --- a/drivers/net/wireless/quantenna/qtnfmac/qlink.h +++ b/drivers/net/wireless/quantenna/qtnfmac/qlink.h @@ -1092,13 +1092,20 @@ struct qlink_tlv_hdr { u8 val[0]; } __packed; +struct qlink_iface_comb_num { + __le32 iface_comb_num; +} __packed; + struct qlink_iface_limit { __le16 max_num; __le16 type; } __packed; -struct qlink_iface_comb_num { - __le16 iface_comb_num; +struct qlink_iface_limit_record { + __le16 max_interfaces; + u8 num_different_channels; + u8 n_limits; + struct qlink_iface_limit limits[0]; } __packed; #define QLINK_RSSI_OFFSET 120 |