1 /* 2 * Copyright (c) 2014-2018 The Linux Foundation. All rights reserved. 3 * 4 * Previously licensed under the ISC license by Qualcomm Atheros, Inc. 5 * 6 * 7 * Permission to use, copy, modify, and/or distribute this software for 8 * any purpose with or without fee is hereby granted, provided that the 9 * above copyright notice and this permission notice appear in all 10 * copies. 11 * 12 * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL 13 * WARRANTIES WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED 14 * WARRANTIES OF MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE 15 * AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL 16 * DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR 17 * PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 18 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR 19 * PERFORMANCE OF THIS SOFTWARE. 20 */ 21 22 /* 23 * This file was originally distributed by Qualcomm Atheros, Inc. 24 * under proprietary terms before Copyright ownership was assigned 25 * to the Linux Foundation. 26 */ 27 28 #if !defined(__HOST_DIAG_CORE_EVENT_H) 29 #define __HOST_DIAG_CORE_EVENT_H 30 31 /**========================================================================= 32 33 \file host_diag_core_event.h 34 35 \brief WLAN UTIL host DIAG Events 36 37 Definitions for DIAG Events 38 39 ========================================================================*/ 40 41 /* $Header$ */ 42 43 /*-------------------------------------------------------------------------- 44 Include Files 45 ------------------------------------------------------------------------*/ 46 #include "qdf_types.h" 47 #include "i_host_diag_core_event.h" 48 49 /*-------------------------------------------------------------------------- 50 Preprocessor definitions and constants 51 ------------------------------------------------------------------------*/ 52 #ifdef __cplusplus 53 extern "C" { 54 #endif /* __cplusplus */ 55 56 #define WAKE_LOCK_NAME_LEN 80 57 58 /*------------------------------------------------------------------------- 59 Event ID: EVENT_WLAN_SECURITY 60 ------------------------------------------------------------------------*/ 61 typedef struct { 62 uint8_t eventId; 63 uint8_t authMode; 64 uint8_t encryptionModeUnicast; 65 uint8_t encryptionModeMulticast; 66 uint8_t pmkIDMatch; 67 uint8_t bssid[6]; 68 uint8_t keyId; 69 uint8_t status; 70 } host_event_wlan_security_payload_type; 71 72 /*------------------------------------------------------------------------- 73 Event ID: EVENT_WLAN_STATUS_V2 74 ------------------------------------------------------------------------*/ 75 typedef struct { 76 uint8_t eventId; 77 uint8_t ssid[32]; 78 uint8_t bssType; 79 uint8_t rssi; 80 uint8_t channel; 81 uint8_t qosCapability; 82 uint8_t authType; 83 uint8_t encryptionType; 84 uint8_t reason; 85 uint8_t reasonDisconnect; 86 } host_event_wlan_status_payload_type; 87 88 /*------------------------------------------------------------------------- 89 Event ID: EVENT_WLAN_HANDOFF 90 ------------------------------------------------------------------------*/ 91 typedef struct { 92 uint8_t eventId; 93 uint8_t currentApBssid[6]; 94 uint8_t currentApRssi; 95 uint8_t candidateApBssid[6]; 96 uint8_t candidateApRssi; 97 } host_event_wlan_handoff_payload_type; 98 99 /*------------------------------------------------------------------------- 100 Event ID: EVENT_WLAN_VCC 101 ------------------------------------------------------------------------*/ 102 typedef struct { 103 uint8_t eventId; 104 uint8_t rssi; 105 uint8_t txPer; 106 uint8_t rxPer; 107 int linkQuality; 108 } host_event_wlan_vcc_payload_type; 109 110 /*------------------------------------------------------------------------- 111 Event ID: EVENT_WLAN_QOS 112 ------------------------------------------------------------------------*/ 113 typedef struct { 114 uint8_t eventId; 115 uint8_t reasonCode; 116 } host_event_wlan_qos_payload_type; 117 118 /*------------------------------------------------------------------------- 119 Event ID: EVENT_WLAN_PE 120 ------------------------------------------------------------------------*/ 121 typedef struct { 122 char bssid[6]; 123 uint16_t event_type; 124 uint16_t sme_state; 125 uint16_t mlm_state; 126 uint16_t status; 127 uint16_t reason_code; 128 } host_event_wlan_pe_payload_type; 129 130 /*------------------------------------------------------------------------- 131 Event ID: EVENT_WLAN_ADD_BLOCK_ACK_SUCCESS 132 ------------------------------------------------------------------------*/ 133 typedef struct { 134 char ucBaPeerMac[6]; 135 uint8_t ucBaTid; 136 uint8_t ucBaBufferSize; 137 uint16_t usBaSSN; 138 uint8_t fInitiator; 139 } host_event_wlan_add_block_ack_success_payload_type; 140 141 /*------------------------------------------------------------------------- 142 Event ID: EVENT_WLAN_ADD_BLOCK_ACK_FAILED 143 ------------------------------------------------------------------------*/ 144 typedef struct { 145 char ucBaPeerMac[6]; 146 uint8_t ucBaTid; 147 uint8_t ucReasonCode; 148 uint8_t fInitiator; 149 } host_event_wlan_add_block_ack_failed_payload_type; 150 151 /*------------------------------------------------------------------------- 152 Event ID: EVENT_WLAN_DELETE_BLOCK_ACK_SUCCESS 153 ------------------------------------------------------------------------*/ 154 typedef struct { 155 char ucBaPeerMac[6]; 156 uint8_t ucBaTid; 157 uint8_t ucDeleteReasonCode; 158 } host_event_wlan_add_block_ack_deleted_payload_type; 159 160 /*------------------------------------------------------------------------- 161 Event ID: EVENT_WLAN_DELETE_BLOCK_ACK_FAILED 162 ------------------------------------------------------------------------*/ 163 typedef struct { 164 char ucBaPeerMac[6]; 165 uint8_t ucBaTid; 166 uint8_t ucDeleteReasonCode; 167 uint8_t ucFailReasonCode; 168 } host_event_wlan_add_block_ack_delete_failed_payload_type; 169 170 /*------------------------------------------------------------------------- 171 Event ID: EVENT_WLAN_BSS_PROTECTION 172 ------------------------------------------------------------------------*/ 173 typedef struct { 174 uint8_t event_type; 175 uint8_t prot_type; 176 } host_event_wlan_bss_prot_payload_type; 177 178 /*------------------------------------------------------------------------- 179 Event ID: EVENT_WLAN_BRINGUP_STATUS 180 ------------------------------------------------------------------------*/ 181 typedef struct { 182 uint16_t wlanStatus; 183 char driverVersion[10]; 184 } host_event_wlan_bringup_status_payload_type; 185 186 /*------------------------------------------------------------------------- 187 Event ID: EVENT_WLAN_POWERSAVE_WOW 188 ------------------------------------------------------------------------*/ 189 typedef struct { 190 uint8_t event_subtype; 191 uint8_t wow_type; 192 uint8_t wow_magic_pattern[6]; 193 uint8_t wow_del_ptrn_id; 194 uint8_t wow_wakeup_cause; 195 uint8_t wow_wakeup_cause_pbm_ptrn_id; 196 } host_event_wlan_powersave_wow_payload_type; 197 198 /*------------------------------------------------------------------------- 199 Event ID: EVENT_WLAN_POWERSAVE_WOW_STATS 200 ------------------------------------------------------------------------*/ 201 /** 202 * host_event_wlan_powersave_wow_stats - Structure holding wow stats information 203 * @wow_ucast_wake_up_count: wow unicast packet wakeup count 204 * @wow_bcast_wake_up_count: wow broadcast packet wakeup count 205 * @wow_ipv4_mcast_wake_up_count: wow ipv4 multicast packet wakeup count 206 * @wow_ipv6_mcast_wake_up_count: wow ipv6 multicast packet wakeup count 207 * @wow_ipv6_mcast_ra_stats: wow ipv6 multicast router advertisement 208 * packet wakeup count 209 * @wow_ipv6_mcast_ns_stats: wow ipv6 multicast Neighbor Solicitation 210 * packet wakeup count 211 * @wow_ipv6_mcast_na_stats: wow ipv6 multicast address space 212 * packet wakeup count 213 * @wow_pno_match_wake_up_count: wow preferred network offload match 214 * packet wakeup count 215 * @wow_pno_complete_wake_up_count: wow preferred network offload complete 216 * packet wakeup count 217 * @wow_gscan_wake_up_count: wow external scan packet wakeup count 218 * @wow_low_rssi_wake_up_count: wow low rssi packet wakeup count 219 * @wow_rssi_breach_wake_up_count: wow rssi breach packet wakeup count 220 * @wow_icmpv4_count: wow icmpv4 packet count 221 * @wow_icmpv6_count: wow icmpv6 packet count 222 * @wow_oem_response_wake_up_count: wow oem response packet wakeup count 223 * 224 * This structure contains the wow stats information related to diag event 225 */ 226 struct host_event_wlan_powersave_wow_stats { 227 uint32_t wow_ucast_wake_up_count; 228 uint32_t wow_bcast_wake_up_count; 229 uint32_t wow_ipv4_mcast_wake_up_count; 230 uint32_t wow_ipv6_mcast_wake_up_count; 231 uint32_t wow_ipv6_mcast_ra_stats; 232 uint32_t wow_ipv6_mcast_ns_stats; 233 uint32_t wow_ipv6_mcast_na_stats; 234 uint32_t wow_pno_match_wake_up_count; 235 uint32_t wow_pno_complete_wake_up_count; 236 uint32_t wow_gscan_wake_up_count; 237 uint32_t wow_low_rssi_wake_up_count; 238 uint32_t wow_rssi_breach_wake_up_count; 239 uint32_t wow_icmpv4_count; 240 uint32_t wow_icmpv6_count; 241 uint32_t wow_oem_response_wake_up_count; 242 uint32_t Reserved_1; 243 uint32_t Reserved_2; 244 uint32_t Reserved_3; 245 uint32_t Reserved_4; 246 }; 247 248 /*------------------------------------------------------------------------- 249 Event ID: EVENT_WLAN_BTC 250 ------------------------------------------------------------------------*/ 251 typedef struct { 252 uint8_t eventId; 253 uint8_t btAddr[6]; 254 uint16_t connHandle; 255 uint8_t connStatus; 256 uint8_t linkType; 257 uint8_t scoInterval; 258 uint8_t scoWindow; 259 uint8_t retransWindow; 260 uint8_t mode; 261 } host_event_wlan_btc_type; 262 263 /*------------------------------------------------------------------------- 264 Event ID: EVENT_WLAN_EAPOL 265 ------------------------------------------------------------------------*/ 266 /** 267 * struct host_event_wlan_eapol - Structure holding the eapol information 268 * @event_sub_type: 0-Transmitted, 1-Received 269 * @eapol_packet_type: 0 - EAP Start, 1 - EAPOL Start, 2 - EAPOL Logoff 270 3 - EAPOL Key, 4 - EAPOL Encapsulated Alert 271 * @eapol_key_info: This field from the driver is in big endian format. 272 * So, the masks .0x8013. can be used to extract the 273 * message type. After masking, the values corresponding 274 * to messages 1/2/3/4 are given below: 275 * Msg. 1 0x8000 276 * Msg. 2 0x0001 277 * Msg. 3 0x8013 278 * Msg. 4 0x0003 279 * @eapol_rate: Rate at which the frame is received 280 * @dest_addr: Destination address 281 * @src_addr: Source address 282 * 283 * This structure contains the EAPOL information related to logging 284 */ 285 struct host_event_wlan_eapol { 286 uint8_t event_sub_type; 287 uint8_t eapol_packet_type; 288 uint16_t eapol_key_info; 289 uint16_t eapol_rate; 290 uint8_t dest_addr[6]; 291 uint8_t src_addr[6]; 292 }; 293 294 /*------------------------------------------------------------------------- 295 Event ID: EVENT_WLAN_LOW_RESOURCE_FAILURE 296 ------------------------------------------------------------------------*/ 297 /** 298 * struct host_event_wlan_low_resource_failure - Structure holding the 299 * low resource failure information 300 * @event_sub_type: Gives further information about reason for 301 * low resource condition 302 * 303 * This structure will hold the low resource failure information 304 */ 305 struct host_event_wlan_low_resource_failure { 306 uint8_t event_sub_type; 307 }; 308 309 /** 310 * enum resource_failure_type - Reason for low resource failure condition 311 * @WIFI_EVENT_MEMORY_FAILURE: Memory failure 312 * 313 * This enum has the reason codes why the low resource situation is observed 314 */ 315 enum resource_failure_type { 316 WIFI_EVENT_MEMORY_FAILURE, 317 }; 318 319 /*------------------------------------------------------------------------- 320 Event ID: EVENT_WLAN_WAKE_LOCK 321 ------------------------------------------------------------------------*/ 322 /** 323 * struct host_event_wlan_wake_lock - Structure holding the wakelock information 324 * @status: Whether the wakelock is taken/released 325 * @reason: Reason for taking this wakelock 326 * @timeout: Timeout value in case of timed wakelocks 327 * @name_len: Length of the name of the wakelock that will follow 328 * @name: Name of the wakelock 329 * 330 * This structure will hold the wakelock information 331 */ 332 struct host_event_wlan_wake_lock { 333 uint32_t status; 334 uint32_t reason; 335 uint32_t timeout; 336 uint32_t name_len; 337 char name[WAKE_LOCK_NAME_LEN]; 338 }; 339 340 /*------------------------------------------------------------------------- 341 Event ID: EVENT_WLAN_LOG_COMPLETE 342 ------------------------------------------------------------------------*/ 343 /** 344 * struct host_event_wlan_log_complete - Holds log completion details 345 * @is_fatal: Indicates if the event is fatal or not 346 * @indicator: Source of the bug report - Framework/Host/Firmware 347 * @reason_code: Reason for triggering bug report 348 * @reserved: Reserved field 349 * 350 * This structure holds the log completion related information 351 */ 352 struct host_event_wlan_log_complete { 353 uint32_t is_fatal; 354 uint32_t indicator; 355 uint32_t reason_code; 356 uint32_t reserved; 357 }; 358 359 /*------------------------------------------------------------------------- 360 Event ID: EVENT_WLAN_STA_KICKOUT 361 ------------------------------------------------------------------------*/ 362 /** 363 * struct host_event_wlan_kickout - Holds diag event details 364 * @reasoncode: Indicates the reasoncode of event 365 * @peer_macaddr: Indicates the peer macaddr 366 * @vdev_id: Indicate unique id for identifying the VDEV 367 * 368 * This structure holds the diag event related information 369 */ 370 371 struct host_event_wlan_kickout { 372 uint32_t reasoncode; 373 uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; 374 uint8_t vdev_id; 375 }; 376 377 /*------------------------------------------------------------------------- 378 Event ID: EVENT_WLAN_SOFTAP_DATASTALL/EVENT_WLAN_STA_DATASTALL 379 ------------------------------------------------------------------------*/ 380 /** 381 * struct host_event_wlan_softap_datastall - Holds diag event details 382 * @reason: Indicates the reason of event 383 * 384 *This structure holds the host diag event related information 385 */ 386 387 struct host_event_wlan_datastall { 388 uint32_t reason; 389 }; 390 391 /*------------------------------------------------------------------------- 392 Event ID: EVENT_WLAN_SSR_REINIT_SUBSYSTEM 393 ------------------------------------------------------------------------*/ 394 /** 395 * struct host_event_wlan_ssr_reinit - Holds diag event details 396 * @status: Indicates the status of event 397 * 398 *This structure holds the host diag event related information 399 */ 400 401 struct host_event_wlan_ssr_reinit { 402 uint32_t status; 403 }; 404 405 /*------------------------------------------------------------------------- 406 Event ID: EVENT_WLAN_SSR_SHUTDOWN_SUBSYSTEM 407 ------------------------------------------------------------------------*/ 408 /** 409 * struct host_event_wlan_ssr_shutdown - Holds diag event details 410 * @status: Indicates the status of event 411 * 412 *This structure holds the host diag event related information 413 */ 414 415 struct host_event_wlan_ssr_shutdown { 416 uint32_t status; 417 }; 418 419 420 /*------------------------------------------------------------------------- 421 Function declarations and documenation 422 ------------------------------------------------------------------------*/ 423 /** 424 * enum host_sta_kickout_events - Enum containing sta kickout subtype 425 * @HOST_STA_KICKOUT_REASON_BMISS: Indicate sta got disconnected reason 426 * beacon miss 427 * @HOST_STA_KICKOUT_REASON_XRETRY: Indicate sta got disconnected reason xretry 428 * @HOST_STA_KICKOUT_REASON_UNSPECIFIED: Indicate sta disconnection 429 * reason unspecified 430 * @HOST_STA_KICKOUT_REASON_KEEP_ALIVE: Indicate sta is disconnected 431 * because of keep alive 432 * @HOST_STA_KICKOUT_REASON_BTM: BTM request from AP with disassoc imminent 433 * reason 434 * 435 * This enum contains the event subtype 436 */ 437 enum host_sta_kickout_events { 438 HOST_STA_KICKOUT_REASON_BMISS, 439 HOST_STA_KICKOUT_REASON_XRETRY, 440 HOST_STA_KICKOUT_REASON_UNSPECIFIED, 441 HOST_STA_KICKOUT_REASON_KEEP_ALIVE, 442 HOST_STA_KICKOUT_REASON_BTM, 443 }; 444 445 /*------------------------------------------------------------------------- 446 Function declarations and documenation 447 ------------------------------------------------------------------------*/ 448 /** 449 * enum host_datastall_events - Enum containing datastall subtype 450 * @DATA_STALL_NONE: Indicate no data stall 451 * @FW_VDEV_PAUSE: Indicate FW vdev Pause 452 * @HWSCHED_CMD_FILTER:Indicate HW sched command filter 453 * @HWSCHED_CMD_FLUSH: Indicate HW sched command flush 454 * @FW_RX_REFILL_FAILED:Indicate FW rx refill failed 455 * @FW_RX_FCS_LEN_ERROR:Indicate FW fcs len error 456 * @FW_WDOG_ERRORS:Indicate watchdog error 457 * @FW_BB_WDOG_ERROR:Indicate BB watchdog error 458 * @STA_TX_TIMEOUT: Indicate sta tx timeout 459 * @SOFTAP_TX_TIMEOUT:Indicate softap tx timeout 460 * @NUD_FAILURE: Indicare NUD Failure 461 * 462 * This enum contains the event subtype 463 */ 464 enum host_datastall_events { 465 DATA_STALL_NONE, 466 FW_VDEV_PAUSE, 467 HWSCHED_CMD_FILTER, 468 HWSCHED_CMD_FLUSH, 469 FW_RX_REFILL_FAILED, 470 FW_RX_FCS_LEN_ERROR, 471 FW_WDOG_ERRORS, 472 FW_BB_WDOG_ERROR, 473 STA_TX_TIMEOUT, 474 SOFTAP_TX_TIMEOUT, 475 NUD_FAILURE, 476 }; 477 478 /*------------------------------------------------------------------------- 479 Function declarations and documenation 480 ------------------------------------------------------------------------*/ 481 /** 482 * enum host_ssr_events - Enum containing ssr subtype 483 * @SSR_SUB_SYSTEM_REINIT: Indicate ssr reinit state 484 * @SSR_SUB_SYSTEM_SHUTDOWN: Indicate ssr shutdown state 485 * 486 * This enum contains the event subtype 487 */ 488 enum host_ssr_events { 489 SSR_SUB_SYSTEM_REINIT, 490 SSR_SUB_SYSTEM_SHUTDOWN, 491 }; 492 493 /** 494 * struct host_event_tdls_teardown - tdls teardown diag event 495 * @reason: reason for tear down 496 * @peer_mac: peer mac 497 * 498 * This structure contains tdls teardown diag event info 499 */ 500 struct host_event_tdls_teardown { 501 uint32_t reason; 502 uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; 503 }; 504 505 /** 506 * struct host_event_tdls_enable_link - tdls enable link event 507 * @peer_mac: peer mac 508 * @is_off_chan_supported: if off channel supported 509 * @is_off_chan_configured: if off channel configured 510 * @is_off_chan_established: if off channel established 511 * 512 * This structure contain tdls enable link diag event info 513 */ 514 struct host_event_tdls_enable_link { 515 uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; 516 uint8_t is_off_chan_supported; 517 uint8_t is_off_chan_configured; 518 uint8_t is_off_chan_established; 519 }; 520 521 /** 522 * struct host_event_suspend - suspend/resume state 523 * @state: suspend/resume state 524 * 525 * This structure contains suspend resume diag event info 526 */ 527 struct host_event_suspend { 528 uint8_t state; 529 }; 530 531 /** 532 * struct host_event_offload_req - offload state 533 * @offload_type: offload type 534 * @state: enabled or disabled state 535 * 536 * This structure contains offload diag event info 537 */ 538 struct host_event_offload_req { 539 uint8_t offload_type; 540 uint8_t state; 541 }; 542 543 /** 544 * struct host_event_tdls_scan_rejected - scan 545 * rejected due to tdls 546 * @status: rejected status 547 * 548 * This structure contains scan rejected due to 549 * tdls event info 550 */ 551 struct host_event_tdls_scan_rejected { 552 uint8_t status; 553 }; 554 555 /** 556 * struct host_event_tdls_tx_rx_mgmt - for TX RX management frame 557 * @event_id: event ID 558 * @tx_rx: tx or rx 559 * @type: type of frame 560 * @action_sub_type: action frame type 561 * @peer_mac: peer mac 562 * 563 * This structure contains tdls TX RX management frame info 564 */ 565 struct host_event_tdls_tx_rx_mgmt { 566 uint8_t event_id; 567 uint8_t tx_rx; 568 uint8_t type; 569 uint8_t action_sub_type; 570 uint8_t peer_mac[QDF_MAC_ADDR_SIZE]; 571 }; 572 573 /*------------------------------------------------------------------------- 574 Function declarations and documenation 575 ------------------------------------------------------------------------*/ 576 /** 577 * enum wifi_connectivity_events - Enum containing EAPOL sub type 578 * @WIFI_EVENT_DRIVER_EAPOL_FRAME_TRANSMIT_REQUESTED: EAPOL transmitted 579 * @WIFI_EVENT_DRIVER_EAPOL_FRAME_RECEIVED: EAPOL received 580 * 581 * This enum contains the EAPOL subtype 582 */ 583 enum wifi_connectivity_events { 584 WIFI_EVENT_DRIVER_EAPOL_FRAME_TRANSMIT_REQUESTED, 585 WIFI_EVENT_DRIVER_EAPOL_FRAME_RECEIVED, 586 }; 587 588 /** 589 * enum wake_lock_reason - Reason for taking/releasing wakelock 590 * @WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT: Driver initialization 591 * @WIFI_POWER_EVENT_WAKELOCK_DRIVER_REINIT: Driver re-initialization 592 * @WIFI_POWER_EVENT_WAKELOCK_DRIVER_EXIT: Driver shutdown 593 * @WIFI_POWER_EVENT_WAKELOCK_SCAN: Scan request/response handling 594 * @WIFI_POWER_EVENT_WAKELOCK_EXT_SCAN: Extended scan request/response handling 595 * @WIFI_POWER_EVENT_WAKELOCK_RESUME_WLAN: Driver resume 596 * @WIFI_POWER_EVENT_WAKELOCK_ROC: Remain on channel request/response handling 597 * @WIFI_POWER_EVENT_WAKELOCK_AUTO_SUSPEND: Auto suspend related handling 598 * @WIFI_POWER_EVENT_WAKELOCK_IPA: IPA related handling 599 * @WIFI_POWER_EVENT_WAKELOCK_ADD_STA: Addition of STA 600 * @WIFI_POWER_EVENT_WAKELOCK_HOLD_RX: Wakelocks taken for receive 601 * @WIFI_POWER_EVENT_WAKELOCK_SAP: SoftAP related wakelocks 602 * @WIFI_POWER_EVENT_WAKELOCK_WOW: WoW feature related 603 * @WIFI_POWER_EVENT_WAKELOCK_PNO: PNO feature related 604 * @WIFI_POWER_EVENT_WAKELOCK_DEL_STA: Deletion of a station 605 * @WIFI_POWER_EVENT_WAKELOCK_DFS: DFS related wakelocks 606 * @WIFI_POWER_EVENT_WAKELOCK_WMI_CMD_RSP: Firmware response 607 * @WIFI_POWER_EVENT_WAKELOCK_MISC: Miscellaneous wakelocks 608 * @WIFI_POWER_EVENT_WAKELOCK_DHCP: DHCP negotiation under way 609 * @WIFI_POWER_EVENT_WAKELOCK_CONNECT: connection in progress 610 * @WIFI_POWER_EVENT_WAKELOCK_IFACE_CHANGE_TIMER: iface change timer running 611 * @WIFI_POWER_EVENT_WAKELOCK_MONITOR_MODE: Montitor mode wakelock 612 * 613 * Indicates the reason for which the wakelock was taken/released 614 */ 615 enum wake_lock_reason { 616 WIFI_POWER_EVENT_WAKELOCK_DRIVER_INIT, 617 WIFI_POWER_EVENT_WAKELOCK_DRIVER_REINIT, 618 WIFI_POWER_EVENT_WAKELOCK_DRIVER_EXIT, 619 WIFI_POWER_EVENT_WAKELOCK_SCAN, 620 WIFI_POWER_EVENT_WAKELOCK_EXT_SCAN, 621 WIFI_POWER_EVENT_WAKELOCK_RESUME_WLAN, 622 WIFI_POWER_EVENT_WAKELOCK_ROC, 623 WIFI_POWER_EVENT_WAKELOCK_AUTO_SUSPEND, 624 WIFI_POWER_EVENT_WAKELOCK_IPA, 625 WIFI_POWER_EVENT_WAKELOCK_ADD_STA, 626 WIFI_POWER_EVENT_WAKELOCK_HOLD_RX, 627 WIFI_POWER_EVENT_WAKELOCK_SAP, 628 WIFI_POWER_EVENT_WAKELOCK_WOW, 629 WIFI_POWER_EVENT_WAKELOCK_PNO, 630 WIFI_POWER_EVENT_WAKELOCK_DEL_STA, 631 WIFI_POWER_EVENT_WAKELOCK_DFS, 632 WIFI_POWER_EVENT_WAKELOCK_WMI_CMD_RSP, 633 WIFI_POWER_EVENT_WAKELOCK_MISC, 634 WIFI_POWER_EVENT_WAKELOCK_DHCP, 635 WIFI_POWER_EVENT_WAKELOCK_CONNECT, 636 WIFI_POWER_EVENT_WAKELOCK_IFACE_CHANGE_TIMER, 637 WIFI_POWER_EVENT_WAKELOCK_MONITOR_MODE, 638 }; 639 640 #ifdef __cplusplus 641 } 642 #endif /* __cplusplus */ 643 #endif /* __HOST_DIAG_CORE_EVENT_H */ 644