Преглед изворни кода

Merge "qcacld-3.0: Add support to handle Ext Max Tx power in TPE IE" into wlan-cld3.driver.lnx.2.0.14

CNSS_WLAN Service пре 1 година
родитељ
комит
67b85abf00

+ 26 - 0
core/mac/src/cfg/cfgUtil/dot11f.frms

@@ -2586,6 +2586,32 @@ IE transmit_power_env (EID_TRANSMIT_POWER_ENVELOPE)
         max_tx_pwr_category:          2;
     }
     tx_power[1..8];
+    OPTIONAL UNION ext_max_tx_power (DISCRIMINATOR max_tx_pwr_interpret)
+    {
+       ext_max_tx_power_local_eirp (max_tx_pwr_interpret IS 0) {
+               max_tx_power_for_320, 1;
+       }
+       ext_max_tx_power_local_psd (max_tx_pwr_interpret IS 1) {
+               //ext_transmit_psd_info, 1;
+               {
+                       ext_count: 4;
+                       reserved: 4;
+               }
+               max_tx_psd_power[8];
+       }
+       ext_max_tx_power_reg_eirp (max_tx_pwr_interpret IS 2) {
+               max_tx_power_for_320, 1;
+       }
+       ext_max_tx_power_reg_psd (max_tx_pwr_interpret IS 3) {
+               //ext_transmit_psd_info, 1;
+               {
+                       ext_count: 4;
+                       reserved: 4;
+               }
+               max_tx_psd_power[8];
+       }
+
+    };
 }
 
 IE bw_ind_element (EID_EXTN_ID_ELEMENT) OUI (0x87)

+ 20 - 2
core/mac/src/include/dot11f.h

@@ -4947,6 +4947,24 @@ typedef struct sDot11fIEtransmit_power_env {
 	uint8_t  max_tx_pwr_category:2;
 	uint8_t             num_tx_power;
 	uint8_t             tx_power[8];
+	union {
+		struct {
+			uint8_t max_tx_power_for_320;
+		} ext_max_tx_power_local_eirp; /* max_tx_pwr_interpret = 0 */
+		struct {
+			uint8_t  ext_count:4;
+			uint8_t   reserved:4;
+			uint8_t max_tx_psd_power[8];
+		} ext_max_tx_power_local_psd; /* max_tx_pwr_interpret = 1 */
+		struct {
+			uint8_t max_tx_power_for_320;
+		} ext_max_tx_power_reg_eirp; /* max_tx_pwr_interpret = 2 */
+		struct {
+			uint8_t  ext_count:4;
+			uint8_t   reserved:4;
+			uint8_t max_tx_psd_power[8];
+		} ext_max_tx_power_reg_psd; /* max_tx_pwr_interpret = 3 */
+	} ext_max_tx_power;
 } tDot11fIEtransmit_power_env;
 
 #define DOT11F_EID_TRANSMIT_POWER_ENV (195)
@@ -4954,7 +4972,7 @@ typedef struct sDot11fIEtransmit_power_env {
 /* N.B. These #defines do *not* include the EID & length */
 #define DOT11F_IE_TRANSMIT_POWER_ENV_MIN_LEN (2)
 
-#define DOT11F_IE_TRANSMIT_POWER_ENV_MAX_LEN (9)
+#define DOT11F_IE_TRANSMIT_POWER_ENV_MAX_LEN (18)
 
 #ifdef __cplusplus
 extern "C" {
@@ -5198,7 +5216,7 @@ typedef struct sDot11fIEChannelSwitchWrapper {
 /* N.B. These #defines do *not* include the EID & length */
 #define DOT11F_IE_CHANNELSWITCHWRAPPER_MIN_LEN (0)
 
-#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN (24)
+#define DOT11F_IE_CHANNELSWITCHWRAPPER_MAX_LEN (33)
 
 #ifdef __cplusplus
 extern "C" {

Разлика између датотеке није приказан због своје велике величине
+ 316 - 246
core/mac/src/sys/legacy/src/utils/src/dot11f.c


Неке датотеке нису приказане због велике количине промена