Lines Matching +full:rates +full:- +full:ofdm

1 // SPDX-License-Identifier: GPL-2.0-only
24 ms = file->private_data; in minstrel_stats_read()
25 return simple_read_from_buffer(buf, len, ppos, ms->buf, ms->len); in minstrel_stats_read()
31 kfree(file->private_data); in minstrel_stats_release()
40 for (type = 0; type < ARRAY_SIZE(mi->sample); type++) in minstrel_ht_is_sample_rate()
42 if (mi->sample[type].cur_sample_rates[i] == idx) in minstrel_ht_is_sample_rate()
56 if (!mi->supported[i]) in minstrel_ht_stats_dump()
60 gflags = mg->flags; in minstrel_ht_stats_dump()
70 struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j]; in minstrel_ht_stats_dump()
74 if (!(mi->supported[i] & BIT(j))) in minstrel_ht_stats_dump()
80 p += sprintf(p, "%d ", mg->streams); in minstrel_ht_stats_dump()
84 p += sprintf(p, "%d ", mg->streams); in minstrel_ht_stats_dump()
86 p += sprintf(p, "OFDM "); in minstrel_ht_stats_dump()
94 *(p++) = (idx == mi->max_tp_rate[0]) ? 'A' : ' '; in minstrel_ht_stats_dump()
95 *(p++) = (idx == mi->max_tp_rate[1]) ? 'B' : ' '; in minstrel_ht_stats_dump()
96 *(p++) = (idx == mi->max_tp_rate[2]) ? 'C' : ' '; in minstrel_ht_stats_dump()
97 *(p++) = (idx == mi->max_tp_rate[3]) ? 'D' : ' '; in minstrel_ht_stats_dump()
98 *(p++) = (idx == mi->max_prob_rate) ? 'P' : ' '; in minstrel_ht_stats_dump()
102 p += sprintf(p, " MCS%-2u", (mg->streams - 1) * 8 + j); in minstrel_ht_stats_dump()
104 p += sprintf(p, " MCS%-1u/%1u", j, mg->streams); in minstrel_ht_stats_dump()
119 duration = mg->duration[j]; in minstrel_ht_stats_dump()
120 duration <<= mg->shift; in minstrel_ht_stats_dump()
125 tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_avg); in minstrel_ht_stats_dump()
126 eprob = MINSTREL_TRUNC(mrs->prob_avg * 1000); in minstrel_ht_stats_dump()
129 " %3u %3u %-3u " in minstrel_ht_stats_dump()
130 "%9llu %-9llu\n", in minstrel_ht_stats_dump()
134 mrs->retry_count, in minstrel_ht_stats_dump()
135 mrs->last_success, in minstrel_ht_stats_dump()
136 mrs->last_attempts, in minstrel_ht_stats_dump()
137 (unsigned long long)mrs->succ_hist, in minstrel_ht_stats_dump()
138 (unsigned long long)mrs->att_hist); in minstrel_ht_stats_dump()
147 struct minstrel_ht_sta *mi = inode->i_private; in minstrel_ht_stats_open()
154 return -ENOMEM; in minstrel_ht_stats_open()
156 file->private_data = ms; in minstrel_ht_stats_open()
157 p = ms->buf; in minstrel_ht_stats_open()
161 …st ____________rate__________ ____statistics___ _____last____ ______sum-of________\n"); in minstrel_ht_stats_open()
168 for (i++; i < ARRAY_SIZE(mi->groups); i++) in minstrel_ht_stats_open()
173 max(0, (int) mi->total_packets - (int) mi->sample_packets), in minstrel_ht_stats_open()
174 mi->sample_packets); in minstrel_ht_stats_open()
175 if (mi->avg_ampdu_len) in minstrel_ht_stats_open()
176 p += sprintf(p, "Average # of aggregated frames per A-MPDU: %d.%d\n", in minstrel_ht_stats_open()
177 MINSTREL_TRUNC(mi->avg_ampdu_len), in minstrel_ht_stats_open()
178 MINSTREL_TRUNC(mi->avg_ampdu_len * 10) % 10); in minstrel_ht_stats_open()
179 ms->len = p - ms->buf; in minstrel_ht_stats_open()
180 WARN_ON(ms->len + sizeof(*ms) > 32768); in minstrel_ht_stats_open()
201 if (!mi->supported[i]) in minstrel_ht_stats_csv_dump()
205 gflags = mg->flags; in minstrel_ht_stats_csv_dump()
215 struct minstrel_rate_stats *mrs = &mi->groups[i].rates[j]; in minstrel_ht_stats_csv_dump()
219 if (!(mi->supported[i] & BIT(j))) in minstrel_ht_stats_csv_dump()
225 p += sprintf(p, "%d,", mg->streams); in minstrel_ht_stats_csv_dump()
229 p += sprintf(p, "%d,", mg->streams); in minstrel_ht_stats_csv_dump()
231 p += sprintf(p, "OFDM,,1,"); in minstrel_ht_stats_csv_dump()
238 p += sprintf(p, "%s" ,((idx == mi->max_tp_rate[0]) ? "A" : "")); in minstrel_ht_stats_csv_dump()
239 p += sprintf(p, "%s" ,((idx == mi->max_tp_rate[1]) ? "B" : "")); in minstrel_ht_stats_csv_dump()
240 p += sprintf(p, "%s" ,((idx == mi->max_tp_rate[2]) ? "C" : "")); in minstrel_ht_stats_csv_dump()
241 p += sprintf(p, "%s" ,((idx == mi->max_tp_rate[3]) ? "D" : "")); in minstrel_ht_stats_csv_dump()
242 p += sprintf(p, "%s" ,((idx == mi->max_prob_rate) ? "P" : "")); in minstrel_ht_stats_csv_dump()
246 p += sprintf(p, ",MCS%-2u,", (mg->streams - 1) * 8 + j); in minstrel_ht_stats_csv_dump()
248 p += sprintf(p, ",MCS%-1u/%1u,", j, mg->streams); in minstrel_ht_stats_csv_dump()
262 duration = mg->duration[j]; in minstrel_ht_stats_csv_dump()
263 duration <<= mg->shift; in minstrel_ht_stats_csv_dump()
268 tp_avg = minstrel_ht_get_tp_avg(mi, i, j, mrs->prob_avg); in minstrel_ht_stats_csv_dump()
269 eprob = MINSTREL_TRUNC(mrs->prob_avg * 1000); in minstrel_ht_stats_csv_dump()
276 mrs->retry_count, in minstrel_ht_stats_csv_dump()
277 mrs->last_success, in minstrel_ht_stats_csv_dump()
278 mrs->last_attempts, in minstrel_ht_stats_csv_dump()
279 (unsigned long long)mrs->succ_hist, in minstrel_ht_stats_csv_dump()
280 (unsigned long long)mrs->att_hist); in minstrel_ht_stats_csv_dump()
282 max(0, (int) mi->total_packets - in minstrel_ht_stats_csv_dump()
283 (int) mi->sample_packets), in minstrel_ht_stats_csv_dump()
284 mi->sample_packets, in minstrel_ht_stats_csv_dump()
285 MINSTREL_TRUNC(mi->avg_ampdu_len), in minstrel_ht_stats_csv_dump()
286 MINSTREL_TRUNC(mi->avg_ampdu_len * 10) % 10); in minstrel_ht_stats_csv_dump()
295 struct minstrel_ht_sta *mi = inode->i_private; in minstrel_ht_stats_csv_open()
302 return -ENOMEM; in minstrel_ht_stats_csv_open()
304 file->private_data = ms; in minstrel_ht_stats_csv_open()
306 p = ms->buf; in minstrel_ht_stats_csv_open()
311 for (i++; i < ARRAY_SIZE(mi->groups); i++) in minstrel_ht_stats_csv_open()
314 ms->len = p - ms->buf; in minstrel_ht_stats_csv_open()
315 WARN_ON(ms->len + sizeof(*ms) > 32768); in minstrel_ht_stats_csv_open()