History

nl80211: add EHT MCS support

Add support for reporting and calculating EHT bitrates.

Veerendranath Jakkam committed 4 years ago

Commit cfb14111 parent 3743bec4 files · +223 −0Browse files

Showing the changes to include/uapi (1 of 4 files). Show all

Unified · Split

include/uapi/linux/nl80211.h+62−0
@@ -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 */
3401enum 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 */
3426enum 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 information3446 * 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 then3482 * @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 use3491 * @__NL80211_RATE_INFO_AFTER_LAST: internal use
3435 */3492 */
3436enum nl80211_rate_info {3493enum 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,