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 (2786B)


      1/* SPDX-License-Identifier: GPL-2.0-only */
      2/*
      3 * This file is part of wl18xx
      4 *
      5 * Copyright (C) 2012 Texas Instruments. All rights reserved.
      6 */
      7
      8#ifndef __WL18XX_EVENT_H__
      9#define __WL18XX_EVENT_H__
     10
     11#include "../wlcore/wlcore.h"
     12
     13enum {
     14	SCAN_COMPLETE_EVENT_ID                   = BIT(8),
     15	RADAR_DETECTED_EVENT_ID                  = BIT(9),
     16	CHANNEL_SWITCH_COMPLETE_EVENT_ID         = BIT(10),
     17	BSS_LOSS_EVENT_ID                        = BIT(11),
     18	MAX_TX_FAILURE_EVENT_ID                  = BIT(12),
     19	DUMMY_PACKET_EVENT_ID                    = BIT(13),
     20	INACTIVE_STA_EVENT_ID                    = BIT(14),
     21	PEER_REMOVE_COMPLETE_EVENT_ID            = BIT(15),
     22	PERIODIC_SCAN_COMPLETE_EVENT_ID          = BIT(16),
     23	BA_SESSION_RX_CONSTRAINT_EVENT_ID        = BIT(17),
     24	REMAIN_ON_CHANNEL_COMPLETE_EVENT_ID      = BIT(18),
     25	DFS_CHANNELS_CONFIG_COMPLETE_EVENT       = BIT(19),
     26	PERIODIC_SCAN_REPORT_EVENT_ID            = BIT(20),
     27	RX_BA_WIN_SIZE_CHANGE_EVENT_ID           = BIT(21),
     28	SMART_CONFIG_SYNC_EVENT_ID               = BIT(22),
     29	SMART_CONFIG_DECODE_EVENT_ID             = BIT(23),
     30	TIME_SYNC_EVENT_ID                       = BIT(24),
     31	FW_LOGGER_INDICATION			= BIT(25),
     32};
     33
     34enum wl18xx_radar_types {
     35	RADAR_TYPE_NONE,
     36	RADAR_TYPE_REGULAR,
     37	RADAR_TYPE_CHIRP
     38};
     39
     40struct wl18xx_event_mailbox {
     41	__le32 events_vector;
     42
     43	u8 number_of_scan_results;
     44	u8 number_of_sched_scan_results;
     45
     46	__le16 channel_switch_role_id_bitmap;
     47
     48	s8 rssi_snr_trigger_metric[NUM_OF_RSSI_SNR_TRIGGERS];
     49
     50	/* bitmap of removed links */
     51	__le32 hlid_removed_bitmap;
     52
     53	/* rx ba constraint */
     54	__le16 rx_ba_role_id_bitmap; /* 0xfff means any role. */
     55	__le16 rx_ba_allowed_bitmap;
     56
     57	/* bitmap of roc completed (by role id) */
     58	__le16 roc_completed_bitmap;
     59
     60	/* bitmap of stations (by role id) with bss loss */
     61	__le16 bss_loss_bitmap;
     62
     63	/* bitmap of stations (by HLID) which exceeded max tx retries */
     64	__le16 tx_retry_exceeded_bitmap;
     65
     66	/* time sync high msb*/
     67	__le16 time_sync_tsf_high_msb;
     68
     69	/* bitmap of inactive stations (by HLID) */
     70	__le16 inactive_sta_bitmap;
     71
     72	/* time sync high lsb*/
     73	__le16 time_sync_tsf_high_lsb;
     74
     75	/* rx BA win size indicated by RX_BA_WIN_SIZE_CHANGE_EVENT_ID */
     76	u8 rx_ba_role_id;
     77	u8 rx_ba_link_id;
     78	u8 rx_ba_win_size;
     79	u8 padding;
     80
     81	/* smart config */
     82	u8 sc_ssid_len;
     83	u8 sc_pwd_len;
     84	u8 sc_token_len;
     85	u8 padding1;
     86	u8 sc_ssid[32];
     87	u8 sc_pwd[64];
     88	u8 sc_token[32];
     89
     90	/* smart config sync channel */
     91	u8 sc_sync_channel;
     92	u8 sc_sync_band;
     93
     94	/* time sync low msb*/
     95	__le16 time_sync_tsf_low_msb;
     96
     97	/* radar detect */
     98	u8 radar_channel;
     99	u8 radar_type;
    100
    101	/* time sync low lsb*/
    102	__le16 time_sync_tsf_low_lsb;
    103
    104} __packed;
    105
    106int wl18xx_wait_for_event(struct wl1271 *wl, enum wlcore_wait_event event,
    107			  bool *timeout);
    108int wl18xx_process_mailbox_events(struct wl1271 *wl);
    109
    110#endif