int rs_pretty_print_rate(char *buf, int bufsz, const u32 rate)
{ char *type;
u8 mcs = 0, nss = 0;
u8 ant = (rate & RATE_MCS_ANT_AB_MSK) >> RATE_MCS_ANT_POS;
u32 bw = (rate & RATE_MCS_CHAN_WIDTH_MSK) >>
RATE_MCS_CHAN_WIDTH_POS;
u32 format = rate & RATE_MCS_MOD_TYPE_MSK; int index = 0; bool sgi;
switch (format) { case RATE_MCS_MOD_TYPE_LEGACY_OFDM:
index = IWL_FIRST_OFDM_RATE;
fallthrough; case RATE_MCS_MOD_TYPE_CCK:
index += rate & RATE_LEGACY_RATE_MSK;
return scnprintf(buf, bufsz, "Legacy | ANT: %s Rate: %s Mbps",
iwl_rs_pretty_ant(ant),
iwl_rate_mcs(index)->mbps); case RATE_MCS_MOD_TYPE_VHT:
type = "VHT"; break; case RATE_MCS_MOD_TYPE_HT:
type = "HT"; break; case RATE_MCS_MOD_TYPE_HE:
type = "HE"; break; case RATE_MCS_MOD_TYPE_EHT:
type = "EHT"; break; default:
type = "Unknown"; /* shouldn't happen */
}
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.