/* * Copyright (c) 2005-2011 Atheros Communications Inc. * Copyright (c) 2011-2013 Qualcomm Atheros, Inc. * * Permission to use, copy, modify, and/or distribute this software for any * purpose with or without fee is hereby granted, provided that the above * copyright notice and this permission notice appear in all copies. * * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. */ #ifndef _WMI_H_ #define _WMI_H_ #include <linux/types.h> #include <net/mac80211.h> /* * This file specifies the WMI interface for the Unified Software * Architecture. * * It includes definitions of all the commands and events. Commands are * messages from the host to the target. Events and Replies are messages * from the target to the host. * * Ownership of correctness in regards to WMI commands belongs to the host * driver and the target is not required to validate parameters for value, * proper range, or any other checking. * * Guidelines for extending this interface are below. * * 1. Add new WMI commands ONLY within the specified range - 0x9000 - 0x9fff * * 2. Use ONLY u32 type for defining member variables within WMI * command/event structures. Do not use u8, u16, bool or * enum types within these structures. * * 3. DO NOT define bit fields within structures. Implement bit fields * using masks if necessary. Do not use the programming language's bit * field definition. * * 4. Define macros for encode/decode of u8, u16 fields within * the u32 variables. Use these macros for set/get of these fields. * Try to use this to optimize the structure without bloating it with * u32 variables for every lower sized field. * * 5. Do not use PACK/UNPACK attributes for the structures as each member * variable is already 4-byte aligned by virtue of being a u32 * type. * * 6. Comment each parameter part of the WMI command/event structure by * using the 2 stars at the begining of C comment instead of one star to * enable HTML document generation using Doxygen. * */ /* Control Path */ struct wmi_cmd_hdr { __le32 cmd_id; } __packed; #define WMI_CMD_HDR_CMD_ID_MASK 0x00FFFFFF #define WMI_CMD_HDR_CMD_ID_LSB 0 #define WMI_CMD_HDR_PLT_PRIV_MASK 0xFF000000 #define WMI_CMD_HDR_PLT_PRIV_LSB 24 #define HTC_PROTOCOL_VERSION 0x0002 #define WMI_PROTOCOL_VERSION 0x0002 /* * There is no signed version of __le32, so for a temporary solution come * up with our own version. The idea is from fs/ntfs/types.h. * * Use a_ prefix so that it doesn't conflict if we get proper support to * linux/types.h. */ typedef __s32 __bitwise a_sle32;
static inline a_sle32 a_cpu_to_sle32(s32 val) { return (__force a_sle32)cpu_to_le32(val); }Contributors
Person | Tokens | Prop | Commits | CommitProp | |
kalle valo | kalle valo | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
kalle valo | kalle valo | 20 | 100.00% | 1 | 100.00% |
Total | 20 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michal kazior | michal kazior | 351 | 72.97% | 2 | 18.18% |
kalle valo | kalle valo | 50 | 10.40% | 1 | 9.09% |
raja mani | raja mani | 45 | 9.36% | 2 | 18.18% |
peter oh | peter oh | 11 | 2.29% | 2 | 18.18% |
yanbo li | yanbo li | 10 | 2.08% | 2 | 18.18% |
vasanthakumar thiagarajan | vasanthakumar thiagarajan | 9 | 1.87% | 1 | 9.09% |
mohammed shafi shajakhan | mohammed shafi shajakhan | 5 | 1.04% | 1 | 9.09% |
Total | 481 | 100.00% | 11 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michal kazior | michal kazior | 209 | 74.38% | 2 | 28.57% |
peter oh | peter oh | 45 | 16.01% | 2 | 28.57% |
yanbo li | yanbo li | 18 | 6.41% | 2 | 28.57% |
mohammed shafi shajakhan | mohammed shafi shajakhan | 9 | 3.20% | 1 | 14.29% |
Total | 281 | 100.00% | 7 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
michal kazior | michal kazior | 308 | 100.00% | 2 | 100.00% |
Total | 308 | 100.00% | 2 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
raja mani | raja mani | 425 | 90.43% | 2 | 40.00% |
peter oh | peter oh | 29 | 6.17% | 2 | 40.00% |
vasanthakumar thiagarajan | vasanthakumar thiagarajan | 16 | 3.40% | 1 | 20.00% |
Total | 470 | 100.00% | 5 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
kalle valo | kalle valo | 113 | 100.00% | 1 | 100.00% |
Total | 113 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
janusz dziedzic | janusz dziedzic | 148 | 100.00% | 1 | 100.00% |
Total | 148 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
janusz dziedzic | janusz dziedzic | 173 | 100.00% | 1 | 100.00% |
Total | 173 | 100.00% | 1 | 100.00% |
Person | Tokens | Prop | Commits | CommitProp | |
kalle valo | kalle valo | 5918 | 38.57% | 7 | 5.65% |
michal kazior | michal kazior | 3053 | 19.90% | 35 | 28.23% |
raja mani | raja mani | 2300 | 14.99% | 15 | 12.10% |
bartosz markowski | bartosz markowski | 1449 | 9.44% | 10 | 8.06% |
janusz dziedzic | janusz dziedzic | 803 | 5.23% | 6 | 4.84% |
manikanta pubbisetty | manikanta pubbisetty | 303 | 1.97% | 2 | 1.61% |
peter oh | peter oh | 264 | 1.72% | 10 | 8.06% |
simon wunderlich | simon wunderlich | 240 | 1.56% | 1 | 0.81% |
tamizh chelvam | tamizh chelvam | 234 | 1.53% | 1 | 0.81% |
marek puzyniak | marek puzyniak | 160 | 1.04% | 4 | 3.23% |
mohammed shafi shajakhan | mohammed shafi shajakhan | 133 | 0.87% | 4 | 3.23% |
rajkumar manoharan | rajkumar manoharan | 129 | 0.84% | 7 | 5.65% |
maharaja kennadyrajan | maharaja kennadyrajan | 90 | 0.59% | 2 | 1.61% |
vasanthakumar thiagarajan | vasanthakumar thiagarajan | 77 | 0.50% | 6 | 4.84% |
yanbo li | yanbo li | 71 | 0.46% | 4 | 3.23% |
ben greear | ben greear | 37 | 0.24% | 4 | 3.23% |
marek kwaczynski | marek kwaczynski | 32 | 0.21% | 1 | 0.81% |
vivek natarajan | vivek natarajan | 26 | 0.17% | 2 | 1.61% |
chun-yeow yeoh | chun-yeow yeoh | 18 | 0.12% | 1 | 0.81% |
alan liu | alan liu | 3 | 0.02% | 1 | 0.81% |
geert uytterhoeven | geert uytterhoeven | 2 | 0.01% | 1 | 0.81% |
Total | 15342 | 100.00% | 124 | 100.00% |