static u32 rtw_get_vht_bitrate(u8 mcs, u8 bw, u8 nss, u8 sgi) { static const u32 base[4][10] = { { 6500000, 13000000, 19500000, 26000000, 39000000, 52000000, 58500000, 65000000, 78000000, /* not in the spec, but some devices use this: */ 86500000,...
.vht_supported = true, @@ -4367,15 +4367,15 @@ const struct rtw_chip_info rtw8812a_hw_spec = { .phy_efuse_size = 512, .log_efuse_size = 512, .ptct_efuse_size = 96 + 1,///TODO or just 18? .txff_size = 32640, .txff_size = 131072, .rxff_size = 16128, .rsvd_dr...
> + struct ieee80211_sta_vht_cap vht_cap; > + struct ieee80211_sta_vht_cap ic_vht_cap; > + u32 sound_dim; > + u8 *bssid, i; > + > + if (chip->band & RTW_BAND_5G) { > + ic_vht_cap = hw->wiphy->bands[NL80211_BAND_5GHZ]->vht_cap; > + if (!(ic_vht_cap.cap...
> + struct rtw_sta_info *si, > + u64 ra_mask, bool is_vht_enable, > + u8 wireless_set) > +{ > + struct rtw_hal *hal = &rtwdev->hal; > + const struct cfg80211_bitrate_mask *mask = si->mask; > + u64 cfg_mask = GENMASK(63, 0); > + u8 rssi_level, band; > + ...
SET_RA_INFO_SGI_EN(h2c_pkt, si->sgi_enable); SET_RA_INFO_BW_MODE(h2c_pkt, si->bw_mode); SET_RA_INFO_LDPC(h2c_pkt, si->ldpc_en); SET_RA_INFO_NO_UPDATE(h2c_pkt, no_update); SET_RA_INFO_VHT_EN(h2c_pkt, si->vht_enable); ...
.vht_supported = true, .lps_deep_mode_supported = BIT(LPS_DEEP_MODE_LCLK), .sys_func_en = 0xD8, .pwr_on_seq = card_enable_flow_8821c, .pwr_off_seq = card_disable_flow_8821c, .page_table = page_table_8821c,
#define SET_RA_INFO_VHT_EN(h2c_pkt, value) \ le32p_replace_bits((__le32 *)(h2c_pkt) + 0x00, value, GENMASK(29, 28)) #define SET_RA_INFO_DIS_PT(h2c_pkt, value) \ le32p_replace_bits((__le32 *)(h2c_pkt) + 0x00, value, BIT(30)) ...
DBG_871X_SEL_NL(m,"vht_ldpc_cap=0x%x, vht_stbc_cap=0x%x, vht_beamform_cap=0x%x\n", psta->vhtpriv.ldpc_cap, psta->vhtpriv.stbc_cap, psta->vhtpriv.beamform_cap); DBG_871X_SEL_NL(m,"vht_mcs_map=0x%x, vht_highest_rate=0x%x, vht_ampdu_len=%d\n", *(u16*)psta->vhtpriv...
DBG_871X_SEL_NL(m,"vht_ldpc_cap=0x%x, vht_stbc_cap=0x%x, vht_beamform_cap=0x%x\n", psta->vhtpriv.ldpc_cap, psta->vhtpriv.stbc_cap, psta->vhtpriv.beamform_cap); DBG_871X_SEL_NL(m,"vht_mcs_map=0x%x, vht_highest_rate=0x%x, vht_ampdu_len=%d\n", *(u16*)psta->vhtpriv...
(rtwdev, R_RXVHT_MCS_LIMIT, B_RXVHT_MCS_LIMIT, 1); rtw89_phy_write32_mask(rtwdev, R_RXHE, B_RXHE_MAX_NSS, 1); rtw89_phy_write32_mask(rtwdev, R_RXHE, B_RXHETB_MAX_NSS, 1); } } static u8 rtw8852c_get_thermal(struct rtw89_dev *rtwdev, enum rtw89_rf_path rf_...