aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/event.h
diff options
context:
space:
mode:
authorShahar Levi <shahar_levi@ti.com>2010-11-08 06:20:10 -0500
committerLuciano Coelho <luciano.coelho@nokia.com>2010-11-22 09:45:09 -0500
commit00d201001bd4e8a46e3d03c970abcb72256c368b (patch)
tree2d3d6b971c9e0ac68ffd5edca1c596eeab247451 /drivers/net/wireless/wl12xx/event.h
parenta76a574ca9ce7c05791cee42f000f2a42c687837 (diff)
wl1271: Change wl12xx Files Names
All files name prefix removed due to the fact that wl12xx driver supports wl1271 and wl1273. Also the definition in Kconfig and header files changed respectively. Signed-off-by: Shahar Levi <shahar_levi@ti.com> Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/event.h')
-rw-r--r--drivers/net/wireless/wl12xx/event.h126
1 files changed, 126 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/event.h b/drivers/net/wireless/wl12xx/event.h
new file mode 100644
index 000000000000..6cce0143adb5
--- /dev/null
+++ b/drivers/net/wireless/wl12xx/event.h
@@ -0,0 +1,126 @@
1/*
2 * This file is part of wl1271
3 *
4 * Copyright (C) 1998-2009 Texas Instruments. All rights reserved.
5 * Copyright (C) 2008-2009 Nokia Corporation
6 *
7 * Contact: Luciano Coelho <luciano.coelho@nokia.com>
8 *
9 * This program is free software; you can redistribute it and/or
10 * modify it under the terms of the GNU General Public License
11 * version 2 as published by the Free Software Foundation.
12 *
13 * This program is distributed in the hope that it will be useful, but
14 * WITHOUT ANY WARRANTY; without even the implied warranty of
15 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
16 * General Public License for more details.
17 *
18 * You should have received a copy of the GNU General Public License
19 * along with this program; if not, write to the Free Software
20 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
21 * 02110-1301 USA
22 *
23 */
24
25#ifndef __EVENT_H__
26#define __EVENT_H__
27
28/*
29 * Mbox events
30 *
31 * The event mechanism is based on a pair of event buffers (buffers A and
32 * B) at fixed locations in the target's memory. The host processes one
33 * buffer while the other buffer continues to collect events. If the host
34 * is not processing events, an interrupt is issued to signal that a buffer
35 * is ready. Once the host is done with processing events from one buffer,
36 * it signals the target (with an ACK interrupt) that the event buffer is
37 * free.
38 */
39
40enum {
41 RSSI_SNR_TRIGGER_0_EVENT_ID = BIT(0),
42 RSSI_SNR_TRIGGER_1_EVENT_ID = BIT(1),
43 RSSI_SNR_TRIGGER_2_EVENT_ID = BIT(2),
44 RSSI_SNR_TRIGGER_3_EVENT_ID = BIT(3),
45 RSSI_SNR_TRIGGER_4_EVENT_ID = BIT(4),
46 RSSI_SNR_TRIGGER_5_EVENT_ID = BIT(5),
47 RSSI_SNR_TRIGGER_6_EVENT_ID = BIT(6),
48 RSSI_SNR_TRIGGER_7_EVENT_ID = BIT(7),
49 MEASUREMENT_START_EVENT_ID = BIT(8),
50 MEASUREMENT_COMPLETE_EVENT_ID = BIT(9),
51 SCAN_COMPLETE_EVENT_ID = BIT(10),
52 SCHEDULED_SCAN_COMPLETE_EVENT_ID = BIT(11),
53 AP_DISCOVERY_COMPLETE_EVENT_ID = BIT(12),
54 PS_REPORT_EVENT_ID = BIT(13),
55 PSPOLL_DELIVERY_FAILURE_EVENT_ID = BIT(14),
56 DISCONNECT_EVENT_COMPLETE_ID = BIT(15),
57 JOIN_EVENT_COMPLETE_ID = BIT(16),
58 CHANNEL_SWITCH_COMPLETE_EVENT_ID = BIT(17),
59 BSS_LOSE_EVENT_ID = BIT(18),
60 REGAINED_BSS_EVENT_ID = BIT(19),
61 ROAMING_TRIGGER_MAX_TX_RETRY_EVENT_ID = BIT(20),
62 SOFT_GEMINI_SENSE_EVENT_ID = BIT(22),
63 SOFT_GEMINI_PREDICTION_EVENT_ID = BIT(23),
64 SOFT_GEMINI_AVALANCHE_EVENT_ID = BIT(24),
65 PLT_RX_CALIBRATION_COMPLETE_EVENT_ID = BIT(25),
66 DBG_EVENT_ID = BIT(26),
67 HEALTH_CHECK_REPLY_EVENT_ID = BIT(27),
68 PERIODIC_SCAN_COMPLETE_EVENT_ID = BIT(28),
69 PERIODIC_SCAN_REPORT_EVENT_ID = BIT(29),
70 BA_SESSION_TEAR_DOWN_EVENT_ID = BIT(30),
71 EVENT_MBOX_ALL_EVENT_ID = 0x7fffffff,
72};
73
74enum {
75 EVENT_ENTER_POWER_SAVE_FAIL = 0,
76 EVENT_ENTER_POWER_SAVE_SUCCESS,
77 EVENT_EXIT_POWER_SAVE_FAIL,
78 EVENT_EXIT_POWER_SAVE_SUCCESS,
79};
80
81struct event_debug_report {
82 u8 debug_event_id;
83 u8 num_params;
84 __le16 pad;
85 __le32 report_1;
86 __le32 report_2;
87 __le32 report_3;
88} __packed;
89
90#define NUM_OF_RSSI_SNR_TRIGGERS 8
91
92struct event_mailbox {
93 __le32 events_vector;
94 __le32 events_mask;
95 __le32 reserved_1;
96 __le32 reserved_2;
97
98 u8 dbg_event_id;
99 u8 num_relevant_params;
100 __le16 reserved_3;
101 __le32 event_report_p1;
102 __le32 event_report_p2;
103 __le32 event_report_p3;
104
105 u8 number_of_scan_results;
106 u8 scan_tag;
107 u8 reserved_4[2];
108 __le32 compl_scheduled_scan_status;
109
110 __le16 scheduled_scan_attended_channels;
111 u8 soft_gemini_sense_info;
112 u8 soft_gemini_protective_info;
113 s8 rssi_snr_trigger_metric[NUM_OF_RSSI_SNR_TRIGGERS];
114 u8 channel_switch_status;
115 u8 scheduled_scan_status;
116 u8 ps_status;
117
118 u8 reserved_5[29];
119} __packed;
120
121int wl1271_event_unmask(struct wl1271 *wl);
122void wl1271_event_mbox_config(struct wl1271 *wl);
123int wl1271_event_handle(struct wl1271 *wl, u8 mbox);
124void wl1271_pspoll_work(struct work_struct *work);
125
126#endif