Add support for reporting and calculating EHT bitrates.
Showing the changes to include/uapi (1 of 4 files). Show all
Unified · Split
| @@ -3392,6 +3392,56 @@ enum nl80211_he_ru_alloc { · 3391 unmodified lines | |||
| 3392 | NL80211_RATE_INFO_HE_RU_ALLOC_2x996, | 3392 | NL80211_RATE_INFO_HE_RU_ALLOC_2x996, |
| 3393 | }; | 3393 | }; |
| 3394 | 3394 | ||
| 3395 | /** | ||
| 3396 | * enum nl80211_eht_gi - EHT guard interval | ||
| 3397 | * @NL80211_RATE_INFO_EHT_GI_0_8: 0.8 usec | ||
| 3398 | * @NL80211_RATE_INFO_EHT_GI_1_6: 1.6 usec | ||
| 3399 | * @NL80211_RATE_INFO_EHT_GI_3_2: 3.2 usec | ||
| 3400 | */ | ||
| 3401 | enum nl80211_eht_gi { | ||
| 3402 | NL80211_RATE_INFO_EHT_GI_0_8, | ||
| 3403 | NL80211_RATE_INFO_EHT_GI_1_6, | ||
| 3404 | NL80211_RATE_INFO_EHT_GI_3_2, | ||
| 3405 | }; | ||
| 3406 | |||
| 3407 | /** | ||
| 3408 | * enum nl80211_eht_ru_alloc - EHT RU allocation values | ||
| 3409 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_26: 26-tone RU allocation | ||
| 3410 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_52: 52-tone RU allocation | ||
| 3411 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_52P26: 52+26-tone RU allocation | ||
| 3412 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_106: 106-tone RU allocation | ||
| 3413 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_106P26: 106+26 tone RU allocation | ||
| 3414 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_242: 242-tone RU allocation | ||
| 3415 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_484: 484-tone RU allocation | ||
| 3416 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_484P242: 484+242 tone RU allocation | ||
| 3417 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_996: 996-tone RU allocation | ||
| 3418 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484: 996+484 tone RU allocation | ||
| 3419 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242: 996+484+242 tone RU allocation | ||
| 3420 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996: 2x996-tone RU allocation | ||
| 3421 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484: 2x996+484 tone RU allocation | ||
| 3422 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996: 3x996-tone RU allocation | ||
| 3423 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484: 3x996+484 tone RU allocation | ||
| 3424 | * @NL80211_RATE_INFO_EHT_RU_ALLOC_4x996: 4x996-tone RU allocation | ||
| 3425 | */ | ||
| 3426 | enum nl80211_eht_ru_alloc { | ||
| 3427 | NL80211_RATE_INFO_EHT_RU_ALLOC_26, | ||
| 3428 | NL80211_RATE_INFO_EHT_RU_ALLOC_52, | ||
| 3429 | NL80211_RATE_INFO_EHT_RU_ALLOC_52P26, | ||
| 3430 | NL80211_RATE_INFO_EHT_RU_ALLOC_106, | ||
| 3431 | NL80211_RATE_INFO_EHT_RU_ALLOC_106P26, | ||
| 3432 | NL80211_RATE_INFO_EHT_RU_ALLOC_242, | ||
| 3433 | NL80211_RATE_INFO_EHT_RU_ALLOC_484, | ||
| 3434 | NL80211_RATE_INFO_EHT_RU_ALLOC_484P242, | ||
| 3435 | NL80211_RATE_INFO_EHT_RU_ALLOC_996, | ||
| 3436 | NL80211_RATE_INFO_EHT_RU_ALLOC_996P484, | ||
| 3437 | NL80211_RATE_INFO_EHT_RU_ALLOC_996P484P242, | ||
| 3438 | NL80211_RATE_INFO_EHT_RU_ALLOC_2x996, | ||
| 3439 | NL80211_RATE_INFO_EHT_RU_ALLOC_2x996P484, | ||
| 3440 | NL80211_RATE_INFO_EHT_RU_ALLOC_3x996, | ||
| 3441 | NL80211_RATE_INFO_EHT_RU_ALLOC_3x996P484, | ||
| 3442 | NL80211_RATE_INFO_EHT_RU_ALLOC_4x996, | ||
| 3443 | }; | ||
| 3444 | |||
| 3395 | /** | 3445 | /** |
| 3396 | * enum nl80211_rate_info - bitrate information | 3446 | * enum nl80211_rate_info - bitrate information |
| 3397 | * | 3447 | * |
| @@ -3431,6 +3481,13 @@ enum nl80211_he_ru_alloc { · 33 unmodified lines | |||
| 3431 | * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1) | 3481 | * @NL80211_RATE_INFO_HE_DCM: HE DCM value (u8, 0/1) |
| 3432 | * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then | 3482 | * @NL80211_RATE_INFO_RU_ALLOC: HE RU allocation, if not present then |
| 3433 | * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) | 3483 | * non-OFDMA was used (u8, see &enum nl80211_he_ru_alloc) |
| 3484 | * @NL80211_RATE_INFO_320_MHZ_WIDTH: 320 MHz bitrate | ||
| 3485 | * @NL80211_RATE_INFO_EHT_MCS: EHT MCS index (u8, 0-15) | ||
| 3486 | * @NL80211_RATE_INFO_EHT_NSS: EHT NSS value (u8, 1-8) | ||
| 3487 | * @NL80211_RATE_INFO_EHT_GI: EHT guard interval identifier | ||
| 3488 | * (u8, see &enum nl80211_eht_gi) | ||
| 3489 | * @NL80211_RATE_INFO_EHT_RU_ALLOC: EHT RU allocation, if not present then | ||
| 3490 | * non-OFDMA was used (u8, see &enum nl80211_eht_ru_alloc) | ||
| 3434 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use | 3491 | * @__NL80211_RATE_INFO_AFTER_LAST: internal use |
| 3435 | */ | 3492 | */ |
| 3436 | enum nl80211_rate_info { | 3493 | enum nl80211_rate_info { |
| @@ -3452,6 +3509,11 @@ enum nl80211_rate_info { · 15 unmodified lines | |||
| 3452 | NL80211_RATE_INFO_HE_GI, | 3509 | NL80211_RATE_INFO_HE_GI, |
| 3453 | NL80211_RATE_INFO_HE_DCM, | 3510 | NL80211_RATE_INFO_HE_DCM, |
| 3454 | NL80211_RATE_INFO_HE_RU_ALLOC, | 3511 | NL80211_RATE_INFO_HE_RU_ALLOC, |
| 3512 | NL80211_RATE_INFO_320_MHZ_WIDTH, | ||
| 3513 | NL80211_RATE_INFO_EHT_MCS, | ||
| 3514 | NL80211_RATE_INFO_EHT_NSS, | ||
| 3515 | NL80211_RATE_INFO_EHT_GI, | ||
| 3516 | NL80211_RATE_INFO_EHT_RU_ALLOC, | ||
| 3455 | 3517 | ||
| 3456 | /* keep last */ | 3518 | /* keep last */ |
| 3457 | __NL80211_RATE_INFO_AFTER_LAST, | 3519 | __NL80211_RATE_INFO_AFTER_LAST, |