|
176 | 176 |
|
177 | 177 | #define BRCMF_VHT_CAP_MCS_MAP_NSS_MAX 8
|
178 | 178 |
|
| 179 | +#define BRCMF_HE_CAP_MCS_MAP_NSS_MAX 8 |
| 180 | + |
179 | 181 | /* MAX_CHUNK_LEN is the maximum length for data passing to firmware in each
|
180 | 182 | * ioctl. It is relatively small because firmware has small maximum size input
|
181 | 183 | * playload restriction for ioctls.
|
@@ -601,13 +603,37 @@ struct brcmf_sta_info_le {
|
601 | 603 | __le32 rx_pkts_retried; /* # rx with retry bit set */
|
602 | 604 | __le32 tx_rate_fallback; /* lowest fallback TX rate */
|
603 | 605 |
|
604 |
| - /* Fields valid for ver >= 5 */ |
605 |
| - struct { |
606 |
| - __le32 count; /* # rates in this set */ |
607 |
| - u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ |
608 |
| - u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ |
609 |
| - __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ |
610 |
| - } rateset_adv; |
| 606 | + union { |
| 607 | + struct { |
| 608 | + struct { |
| 609 | + __le32 count; /* # rates in this set */ |
| 610 | + u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ |
| 611 | + u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ |
| 612 | + __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ |
| 613 | + } rateset_adv; |
| 614 | + } v5; |
| 615 | + |
| 616 | + struct { |
| 617 | + __le32 rx_dur_total; /* total user RX duration (estimated) */ |
| 618 | + __le16 chanspec; /** chanspec this sta is on */ |
| 619 | + __le16 pad_1; |
| 620 | + struct { |
| 621 | + __le16 version; /* version */ |
| 622 | + __le16 len; /* length */ |
| 623 | + __le32 count; /* # rates in this set */ |
| 624 | + u8 rates[BRCMF_MAXRATES_IN_SET]; /* rates in 500kbps units w/hi bit set if basic */ |
| 625 | + u8 mcs[BRCMF_MCSSET_LEN]; /* supported mcs index bit map */ |
| 626 | + __le16 vht_mcs[BRCMF_VHT_CAP_MCS_MAP_NSS_MAX]; /* supported mcs index bit map per nss */ |
| 627 | + __le16 he_mcs[BRCMF_HE_CAP_MCS_MAP_NSS_MAX]; /* supported he mcs index bit map per nss */ |
| 628 | + } rateset_adv; /* rateset along with mcs index bitmap */ |
| 629 | + __le16 wpauth; /* authentication type */ |
| 630 | + u8 algo; /* crypto algorithm */ |
| 631 | + u8 pad_2; |
| 632 | + __le32 tx_rspec; /* Rate of last successful tx frame */ |
| 633 | + __le32 rx_rspec; /* Rate of last successful rx frame */ |
| 634 | + __le32 wnm_cap; /* wnm capabilities */ |
| 635 | + } v7; |
| 636 | + }; |
611 | 637 | };
|
612 | 638 |
|
613 | 639 | struct brcmf_chanspec_list {
|
|
0 commit comments