Changeset 40683


Ignore:
Timestamp:
2014-05-03T20:38:24+02:00 (4 years ago)
Author:
nbd
Message:

mac80211: clean up vht capability processing

Signed-off-by: Felix Fietkau <nbd@…>

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/mac80211/files/lib/netifd/wireless/mac80211.sh

    r40682 r40683  
    185185                                tx_antenna_pattern:1 \ 
    186186                                vht_max_mpdu:11454 \ 
    187                                 vht_max_rx_stbc:4 \ 
     187                                rx_stbc:4 \ 
    188188                                vht_link_adapt:3 \ 
    189189                                vht160:2 
    190190 
    191191                        append base_cfg "ieee80211ac=1" "$N" 
    192                         vht_capab="" 
    193192                        vht_cap=0 
    194193                        for cap in $(iw phy "$phy" info | awk -F "[()]" '/VHT Capabilities/ { print $2 }'); do 
     
    196195                        done 
    197196 
    198                         # boolean 
    199                         [ "$((($vht_cap & 16) * $rxldpc))" -eq 16 ] && \ 
    200                                 vht_capab="$vht_capab[RXLDPC]" 
    201                         [ "$((($vht_cap & 32) * $short_gi_80))" -eq 32 ] && \ 
    202                                 vht_capab="$vht_capab[SHORT-GI-80]" 
    203                         [ "$((($vht_cap & 64) * $short_gi_160))" -eq 64 ] && \ 
    204                                 vht_capab="$vht_capab[SHORT-GI-160]" 
    205                         [ "$((($vht_cap & 128) * $tx_stbc_2by1))" -eq 128 ] && \ 
    206                                 vht_capab="$vht_capab[TX-STBC-2BY1]" 
    207                         [ "$((($vht_cap & 2048) * $su_beamformer))" -eq 2048 ] && \ 
    208                                 vht_capab="$vht_capab[SU-BEAMFORMER]" 
    209                         [ "$((($vht_cap & 4096) * $su_beamformee))" -eq 4096 ] && \ 
    210                                 vht_capab="$vht_capab[SU-BEAMFORMEE]" 
    211                         [ "$((($vht_cap & 524288) * $mu_beamformer))" -eq 524288 ] && \ 
    212                                 vht_capab="$vht_capab[MU-BEAMFORMER]" 
    213                         [ "$((($vht_cap & 1048576) * $mu_beamformee))" -eq 1048576 ] && \ 
    214                                 vht_capab="$vht_capab[MU-BEAMFORMEE]" 
    215                         [ "$((($vht_cap & 2097152) * $vht_txop_ps))" -eq 2097152 ] && \ 
    216                                 vht_capab="$vht_capab[VHT-TXOP-PS]" 
    217                         [ "$((($vht_cap & 4194304) * $htc_vht))" -eq 4194304 ] && \ 
    218                                 vht_capab="$vht_capab[HTC-VHT]" 
    219                         [ "$((($vht_cap & 268435456) * $rx_antenna_pattern))" -eq 268435456 ] && \ 
    220                                 vht_capab="$vht_capab[RX-ANTENNA-PATTERN]" 
    221                         [ "$((($vht_cap & 536870912) * $tx_antenna_pattern))" -eq 536870912 ] && \ 
    222                                 vht_capab="$vht_capab[TX-ANTENNA-PATTERN]" 
     197                        cap_rx_stbc=$((($vht_cap >> 8) & 7)) 
     198                        [ "$rx_stbc" -lt "$cap_rx_stbc" ] && cap_rx_stbc="$rx_stbc" 
     199                        ht_cap_mask="$(( ($vht_cap & ~(0x700)) | ($cap_rx_stbc << 8) ))" 
     200 
     201                        mac80211_add_capabilities vht_capab $vht_cap \ 
     202                                RXLDPC:0x10::$rxldpc \ 
     203                                SHORT-GI-80:0x20::$short_gi_80 \ 
     204                                SHORT-GI-160:0x40::$short_gi_160 \ 
     205                                TX-STBC-2BY1:0x80::$tx_stbc \ 
     206                                SU-BEAMFORMER:0x800::$su_beamformer \ 
     207                                SU-BEAMFORMEE:0x1000::$su_beamformee \ 
     208                                MU-BEAMFORMER:0x80000::$mu_beamformer \ 
     209                                MU-BEAMFORMEE:0x100000::$mu_beamformee \ 
     210                                VHT-TXOP-PS:0x200000::$vht_txop_ps \ 
     211                                HTC-VHT:0x400000::$htc_vht \ 
     212                                RX-ANTENNA-PATTERN:0x10000000::$rx_antenna_pattern \ 
     213                                TX-ANTENNA-PATTERN:0x20000000::$tx_antenna_pattern \ 
     214                                RX-STBC1:0x700:0x100:1 \ 
     215                                RX-STBC12:0x700:0x200:1 \ 
     216                                RX-STBC123:0x700:0x300:1 \ 
     217                                RX-STBC1234:0x700:0x400:1 \ 
    223218 
    224219                        # supported Channel widths 
     
    239234                        [ "$vht_max_mpdu_hw" != 3895 ] && \ 
    240235                                vht_capab="$vht_capab[MAX-MPDU-$vht_max_mpdu_hw]" 
    241  
    242                         # support for the reception of PPDUs using STBC 
    243                         vht_max_rx_stbc_hw=0 
    244                         [ "$(($vht_cap & 1792))" -ge 256 -a 1 -le "$vht_max_rx_stbc" ] && \ 
    245                                 vht_max_rx_stbc_hw=1 
    246                         [ "$(($vht_cap & 1792))" -ge 512 -a 2 -le "$vht_max_rx_stbc" ] && \ 
    247                                 vht_max_rx_stbc_hw=2 
    248                         [ "$(($vht_cap & 1792))" -ge 768 -a 3 -le "$vht_max_rx_stbc" ] && \ 
    249                                 vht_max_rx_stbc_hw=3 
    250                         [ "$(($vht_cap & 1792))" -ge 1024 -a 4 -le "$vht_max_rx_stbc" ] && \ 
    251                                 vht_max_rx_stbc_hw=4 
    252                         [ "$vht_max_rx_stbc_hw" = 1 ] && vht_capab="$vht_capab[RX-STBC-1]" 
    253                         [ "$vht_max_rx_stbc_hw" = 2 ] && vht_capab="$vht_capab[RX-STBC-12]" 
    254                         [ "$vht_max_rx_stbc_hw" = 3 ] && vht_capab="$vht_capab[RX-STBC-123]" 
    255                         [ "$vht_max_rx_stbc_hw" = 4 ] && vht_capab="$vht_capab[RX-STBC-1234]" 
    256236 
    257237                        # whether or not the STA supports link adaptation using VHT variant 
Note: See TracChangeset for help on using the changeset viewer.