cachepc-linux

Fork of AMDESE/linux with modifications for CachePC side-channel attack
git clone https://git.sinitax.com/sinitax/cachepc-linux
Log | Files | Refs | README | LICENSE | sfeed.txt

event.h (2512B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * This file is part of wl12xx
      4 *
      5 * Copyright (C) 2012 Texas Instruments. All rights reserved.
      6 */
      7
      8#ifndef __WL12XX_EVENT_H__
      9#define __WL12XX_EVENT_H__
     10
     11#include "../wlcore/wlcore.h"
     12
     13enum {
     14	MEASUREMENT_START_EVENT_ID		 = BIT(8),
     15	MEASUREMENT_COMPLETE_EVENT_ID		 = BIT(9),
     16	SCAN_COMPLETE_EVENT_ID			 = BIT(10),
     17	WFD_DISCOVERY_COMPLETE_EVENT_ID		 = BIT(11),
     18	AP_DISCOVERY_COMPLETE_EVENT_ID		 = BIT(12),
     19	RESERVED1			         = BIT(13),
     20	PSPOLL_DELIVERY_FAILURE_EVENT_ID	 = BIT(14),
     21	ROLE_STOP_COMPLETE_EVENT_ID		 = BIT(15),
     22	RADAR_DETECTED_EVENT_ID                  = BIT(16),
     23	CHANNEL_SWITCH_COMPLETE_EVENT_ID	 = BIT(17),
     24	BSS_LOSE_EVENT_ID			 = BIT(18),
     25	REGAINED_BSS_EVENT_ID			 = BIT(19),
     26	MAX_TX_RETRY_EVENT_ID			 = BIT(20),
     27	DUMMY_PACKET_EVENT_ID			 = BIT(21),
     28	SOFT_GEMINI_SENSE_EVENT_ID		 = BIT(22),
     29	CHANGE_AUTO_MODE_TIMEOUT_EVENT_ID	 = BIT(23),
     30	SOFT_GEMINI_AVALANCHE_EVENT_ID		 = BIT(24),
     31	PLT_RX_CALIBRATION_COMPLETE_EVENT_ID	 = BIT(25),
     32	INACTIVE_STA_EVENT_ID			 = BIT(26),
     33	PEER_REMOVE_COMPLETE_EVENT_ID		 = BIT(27),
     34	PERIODIC_SCAN_COMPLETE_EVENT_ID		 = BIT(28),
     35	PERIODIC_SCAN_REPORT_EVENT_ID		 = BIT(29),
     36	BA_SESSION_RX_CONSTRAINT_EVENT_ID	 = BIT(30),
     37	REMAIN_ON_CHANNEL_COMPLETE_EVENT_ID	 = BIT(31),
     38};
     39
     40struct wl12xx_event_mailbox {
     41	__le32 events_vector;
     42	__le32 events_mask;
     43	__le32 reserved_1;
     44	__le32 reserved_2;
     45
     46	u8 number_of_scan_results;
     47	u8 scan_tag;
     48	u8 completed_scan_status;
     49	u8 reserved_3;
     50
     51	u8 soft_gemini_sense_info;
     52	u8 soft_gemini_protective_info;
     53	s8 rssi_snr_trigger_metric[NUM_OF_RSSI_SNR_TRIGGERS];
     54	u8 change_auto_mode_timeout;
     55	u8 scheduled_scan_status;
     56	u8 reserved4;
     57	/* tuned channel (roc) */
     58	u8 roc_channel;
     59
     60	__le16 hlid_removed_bitmap;
     61
     62	/* bitmap of aged stations (by HLID) */
     63	__le16 sta_aging_status;
     64
     65	/* bitmap of stations (by HLID) which exceeded max tx retries */
     66	__le16 sta_tx_retry_exceeded;
     67
     68	/* discovery completed results */
     69	u8 discovery_tag;
     70	u8 number_of_preq_results;
     71	u8 number_of_prsp_results;
     72	u8 reserved_5;
     73
     74	/* rx ba constraint */
     75	u8 role_id; /* 0xFF means any role. */
     76	u8 rx_ba_allowed;
     77	u8 reserved_6[2];
     78
     79	/* Channel switch results */
     80
     81	u8 channel_switch_role_id;
     82	u8 channel_switch_status;
     83	u8 reserved_7[2];
     84
     85	u8 ps_poll_delivery_failure_role_ids;
     86	u8 stopped_role_ids;
     87	u8 started_role_ids;
     88
     89	u8 reserved_8[9];
     90} __packed;
     91
     92int wl12xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
     93			  bool *timeout);
     94int wl12xx_process_mailbox_events(struct wl1271 *wl);
     95
     96#endif
     97