Fix common misspellings
[deliverable/linux.git] / drivers / staging / ath6kl / include / common / dbglog.h
CommitLineData
30295c89
VM
1//------------------------------------------------------------------------------
2// <copyright file="dbglog.h" company="Atheros">
3// Copyright (c) 2004-2010 Atheros Corporation. All rights reserved.
4//
5//
6// Permission to use, copy, modify, and/or distribute this software for any
7// purpose with or without fee is hereby granted, provided that the above
8// copyright notice and this permission notice appear in all copies.
9//
10// THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
11// WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
12// MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
13// ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
14// WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
15// ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
16// OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
17//
18//
19//------------------------------------------------------------------------------
20//==============================================================================
21// Author(s): ="Atheros"
22//==============================================================================
23
24#ifndef _DBGLOG_H_
25#define _DBGLOG_H_
26
27#ifndef ATH_TARGET
28#include "athstartpack.h"
29#endif
30
31#ifdef __cplusplus
32extern "C" {
33#endif
34
35#define DBGLOG_TIMESTAMP_OFFSET 0
36#define DBGLOG_TIMESTAMP_MASK 0x0000FFFF /* Bit 0-15. Contains bit
37 8-23 of the LF0 timer */
38#define DBGLOG_DBGID_OFFSET 16
39#define DBGLOG_DBGID_MASK 0x03FF0000 /* Bit 16-25 */
40#define DBGLOG_DBGID_NUM_MAX 256 /* Upper limit is width of mask */
41
42#define DBGLOG_MODULEID_OFFSET 26
43#define DBGLOG_MODULEID_MASK 0x3C000000 /* Bit 26-29 */
44#define DBGLOG_MODULEID_NUM_MAX 16 /* Upper limit is width of mask */
45
46/*
25985edc 47 * Please ensure that the definition of any new module introduced is captured
30295c89
VM
48 * between the DBGLOG_MODULEID_START and DBGLOG_MODULEID_END defines. The
49 * structure is required for the parser to correctly pick up the values for
50 * different modules.
51 */
52#define DBGLOG_MODULEID_START
53#define DBGLOG_MODULEID_INF 0
54#define DBGLOG_MODULEID_WMI 1
55#define DBGLOG_MODULEID_MISC 2
56#define DBGLOG_MODULEID_PM 3
57#define DBGLOG_MODULEID_TXRX_MGMTBUF 4
58#define DBGLOG_MODULEID_TXRX_TXBUF 5
59#define DBGLOG_MODULEID_TXRX_RXBUF 6
60#define DBGLOG_MODULEID_WOW 7
61#define DBGLOG_MODULEID_WHAL 8
62#define DBGLOG_MODULEID_DC 9
63#define DBGLOG_MODULEID_CO 10
64#define DBGLOG_MODULEID_RO 11
65#define DBGLOG_MODULEID_CM 12
66#define DBGLOG_MODULEID_MGMT 13
67#define DBGLOG_MODULEID_TMR 14
68#define DBGLOG_MODULEID_BTCOEX 15
69#define DBGLOG_MODULEID_END
70
71#define DBGLOG_NUM_ARGS_OFFSET 30
72#define DBGLOG_NUM_ARGS_MASK 0xC0000000 /* Bit 30-31 */
73#define DBGLOG_NUM_ARGS_MAX 2 /* Upper limit is width of mask */
74
75#define DBGLOG_MODULE_LOG_ENABLE_OFFSET 0
76#define DBGLOG_MODULE_LOG_ENABLE_MASK 0x0000FFFF
77
78#define DBGLOG_REPORTING_ENABLED_OFFSET 16
79#define DBGLOG_REPORTING_ENABLED_MASK 0x00010000
80
81#define DBGLOG_TIMESTAMP_RESOLUTION_OFFSET 17
82#define DBGLOG_TIMESTAMP_RESOLUTION_MASK 0x000E0000
83
84#define DBGLOG_REPORT_SIZE_OFFSET 20
85#define DBGLOG_REPORT_SIZE_MASK 0x3FF00000
86
87#define DBGLOG_LOG_BUFFER_SIZE 1500
88#define DBGLOG_DBGID_DEFINITION_LEN_MAX 90
89
90PREPACK struct dbglog_buf_s {
91 struct dbglog_buf_s *next;
ab3655da 92 u8 *buffer;
e1ce2a3a
JP
93 u32 bufsize;
94 u32 length;
95 u32 count;
96 u32 free;
30295c89
VM
97} POSTPACK;
98
99PREPACK struct dbglog_hdr_s {
100 struct dbglog_buf_s *dbuf;
e1ce2a3a 101 u32 dropped;
30295c89
VM
102} POSTPACK;
103
104PREPACK struct dbglog_config_s {
e1ce2a3a 105 u32 cfgvalid; /* Mask with valid config bits */
30295c89
VM
106 union {
107 /* TODO: Take care of endianness */
108 struct {
e1ce2a3a
JP
109 u32 mmask:16; /* Mask of modules with logging on */
110 u32 rep:1; /* Reporting enabled or not */
111 u32 tsr:3; /* Time stamp resolution. Def: 1 ms */
112 u32 size:10; /* Report size in number of messages */
113 u32 reserved:2;
30295c89
VM
114 } dbglog_config;
115
e1ce2a3a 116 u32 value;
30295c89
VM
117 } u;
118} POSTPACK;
119
120#define cfgmmask u.dbglog_config.mmask
121#define cfgrep u.dbglog_config.rep
122#define cfgtsr u.dbglog_config.tsr
123#define cfgsize u.dbglog_config.size
124#define cfgvalue u.value
125
126#ifdef __cplusplus
127}
128#endif
129
130#ifndef ATH_TARGET
131#include "athendpack.h"
132#endif
133
134#endif /* _DBGLOG_H_ */
This page took 0.093756 seconds and 5 git commands to generate.