From 60d787cd159a27ecc63bb5a1846faf63e4c45475 Mon Sep 17 00:00:00 2001 From: Ahmed ElArabawy Date: Wed, 19 Jan 2022 15:59:37 -0800 Subject: [PATCH] Wifi: Add needed definitions for 11be support This commit adds the necessary defines for 11be(WiFi-7) support Bug: 198746544 Test: Builds Successfully Change-Id: I5be07dac3f5eb196717474ac8a1f2e3b1e2556d5 --- include/hardware_legacy/link_layer_stats.h | 8 ++++---- include/hardware_legacy/rtt.h | 8 ++++++-- include/hardware_legacy/wifi_hal.h | 3 ++- 3 files changed, 12 insertions(+), 7 deletions(-) diff --git a/include/hardware_legacy/link_layer_stats.h b/include/hardware_legacy/link_layer_stats.h index 9b67f6d..bac84e1 100644 --- a/include/hardware_legacy/link_layer_stats.h +++ b/include/hardware_legacy/link_layer_stats.h @@ -61,7 +61,7 @@ typedef struct { /* channel information */ typedef struct { - wifi_channel_width width; // channel width (20, 40, 80, 80+80, 160) + wifi_channel_width width; // channel width (20, 40, 80, 80+80, 160, 320) wifi_channel center_freq; // primary 20 MHz channel wifi_channel center_freq0; // center frequency (MHz) first segment wifi_channel center_freq1; // center frequency (MHz) second segment @@ -69,11 +69,11 @@ typedef struct { /* wifi rate */ typedef struct { - u32 preamble :3; // 0: OFDM, 1:CCK, 2:HT 3:VHT 4:HE 5..7 reserved + u32 preamble :3; // 0: OFDM, 1:CCK, 2:HT 3:VHT 4:HE 5:EHT 6..7 reserved u32 nss :2; // 0:1x1, 1:2x2, 3:3x3, 4:4x4 - u32 bw :3; // 0:20MHz, 1:40Mhz, 2:80Mhz, 3:160Mhz + u32 bw :3; // 0:20MHz, 1:40Mhz, 2:80Mhz, 3:160Mhz 4:320Mhz u32 rateMcsIdx :8; // OFDM/CCK rate code would be as per ieee std in the units of 0.5mbps - // HT/VHT/HE it would be mcs index + // HT/VHT/HE/EHT it would be mcs index u32 reserved :16; // reserved u32 bitrate; // units of 100 Kbps } wifi_rate; diff --git a/include/hardware_legacy/rtt.h b/include/hardware_legacy/rtt.h index 5084bec..4ef7770 100644 --- a/include/hardware_legacy/rtt.h +++ b/include/hardware_legacy/rtt.h @@ -43,7 +43,8 @@ typedef enum { WIFI_RTT_BW_20 = 0x04, WIFI_RTT_BW_40 = 0x08, WIFI_RTT_BW_80 = 0x10, - WIFI_RTT_BW_160 = 0x20 + WIFI_RTT_BW_160 = 0x20, + WIFI_RTT_BW_320 = 0x40 } wifi_rtt_bw; /* RTT Measurement Preamble */ @@ -51,7 +52,8 @@ typedef enum { WIFI_RTT_PREAMBLE_LEGACY = 0x1, WIFI_RTT_PREAMBLE_HT = 0x2, WIFI_RTT_PREAMBLE_VHT = 0x4, - WIFI_RTT_PREAMBLE_HE = 0x8 + WIFI_RTT_PREAMBLE_HE = 0x8, + WIFI_RTT_PREAMBLE_EHT = 0x10, } wifi_rtt_preamble; /* RTT Type */ @@ -186,6 +188,7 @@ wifi_error wifi_rtt_channel_map_clear(wifi_request_id id, wifi_interface_handle #define PREAMBLE_HT 0x2 #define PREAMBLE_VHT 0x4 #define PREAMBLE_HE 0x8 +#define PREAMBLE_EHT 0x10 // BW definition for bit mask used in wifi_rtt_capabilities #define BW_5_SUPPORT 0x1 @@ -194,6 +197,7 @@ wifi_error wifi_rtt_channel_map_clear(wifi_request_id id, wifi_interface_handle #define BW_40_SUPPORT 0x8 #define BW_80_SUPPORT 0x10 #define BW_160_SUPPORT 0x20 +#define BW_320_SUPPORT 0x40 /* RTT Capabilities */ typedef struct { diff --git a/include/hardware_legacy/wifi_hal.h b/include/hardware_legacy/wifi_hal.h index b91dae3..6b8f5f6 100644 --- a/include/hardware_legacy/wifi_hal.h +++ b/include/hardware_legacy/wifi_hal.h @@ -60,6 +60,7 @@ typedef enum { WIFI_CHAN_WIDTH_80P80 = 4, WIFI_CHAN_WIDTH_5 = 5, WIFI_CHAN_WIDTH_10 = 6, + WIFI_CHAN_WIDTH_320 = 7, WIFI_CHAN_WIDTH_INVALID = -1 } wifi_channel_width; @@ -154,7 +155,7 @@ typedef struct { typedef struct { /* Channel frequency in MHz */ wifi_channel freq; - /* Channel operating width (20, 40, 80, 160 etc.) */ + /* Channel operating width (20, 40, 80, 160, 320 etc.) */ wifi_channel_width width; /* BIT MASK of BIT(WIFI_INTERFACE_*) represented by |wifi_interface_mode| * Bitmask does not represent concurrency.