~ubuntu-branches/ubuntu/precise/linux-lowlatency/precise

« back to all changes in this revision

Viewing changes to drivers/misc/iwmc3200top/fw-msg.h

  • Committer: Package Import Robot
  • Author(s): Alessio Igor Bogani
  • Date: 2011-10-26 11:13:05 UTC
  • Revision ID: package-import@ubuntu.com-20111026111305-tz023xykf0i6eosh
Tags: upstream-3.2.0
ImportĀ upstreamĀ versionĀ 3.2.0

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
 * iwmc3200top - Intel Wireless MultiCom 3200 Top Driver
 
3
 * drivers/misc/iwmc3200top/fw-msg.h
 
4
 *
 
5
 * Copyright (C) 2009 Intel Corporation. All rights reserved.
 
6
 *
 
7
 * This program is free software; you can redistribute it and/or
 
8
 * modify it under the terms of the GNU General Public License version
 
9
 * 2 as published by the Free Software Foundation.
 
10
 *
 
11
 * This program is distributed in the hope that it will be useful,
 
12
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 
13
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
14
 * GNU General Public License for more details.
 
15
 *
 
16
 * You should have received a copy of the GNU General Public License
 
17
 * along with this program; if not, write to the Free Software
 
18
 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
 
19
 * 02110-1301, USA.
 
20
 *
 
21
 *
 
22
 * Author Name: Maxim Grabarnik <maxim.grabarnink@intel.com>
 
23
 *  -
 
24
 *
 
25
 */
 
26
 
 
27
#ifndef __FWMSG_H__
 
28
#define __FWMSG_H__
 
29
 
 
30
#define COMM_TYPE_D2H                   0xFF
 
31
#define COMM_TYPE_H2D                   0xEE
 
32
 
 
33
#define COMM_CATEGORY_OPERATIONAL       0x00
 
34
#define COMM_CATEGORY_DEBUG             0x01
 
35
#define COMM_CATEGORY_TESTABILITY       0x02
 
36
#define COMM_CATEGORY_DIAGNOSTICS       0x03
 
37
 
 
38
#define OP_DBG_ZSTR_MSG                 cpu_to_le16(0x1A)
 
39
 
 
40
#define FW_LOG_SRC_MAX                  32
 
41
#define FW_LOG_SRC_ALL                  255
 
42
 
 
43
#define FW_STRING_TABLE_ADDR            cpu_to_le32(0x0C000000)
 
44
 
 
45
#define CMD_DBG_LOG_LEVEL               cpu_to_le16(0x0001)
 
46
#define CMD_TST_DEV_RESET               cpu_to_le16(0x0060)
 
47
#define CMD_TST_FUNC_RESET              cpu_to_le16(0x0062)
 
48
#define CMD_TST_IFACE_RESET             cpu_to_le16(0x0064)
 
49
#define CMD_TST_CPU_UTILIZATION         cpu_to_le16(0x0065)
 
50
#define CMD_TST_TOP_DEEP_SLEEP          cpu_to_le16(0x0080)
 
51
#define CMD_TST_WAKEUP                  cpu_to_le16(0x0081)
 
52
#define CMD_TST_FUNC_WAKEUP             cpu_to_le16(0x0082)
 
53
#define CMD_TST_FUNC_DEEP_SLEEP_REQUEST cpu_to_le16(0x0083)
 
54
#define CMD_TST_GET_MEM_DUMP            cpu_to_le16(0x0096)
 
55
 
 
56
#define OP_OPR_ALIVE                    cpu_to_le16(0x0010)
 
57
#define OP_OPR_CMD_ACK                  cpu_to_le16(0x001F)
 
58
#define OP_OPR_CMD_NACK                 cpu_to_le16(0x0020)
 
59
#define OP_TST_MEM_DUMP                 cpu_to_le16(0x0043)
 
60
 
 
61
#define CMD_FLAG_PADDING_256            0x80
 
62
 
 
63
#define FW_HCMD_BLOCK_SIZE              256
 
64
 
 
65
struct msg_hdr {
 
66
        u8 type;
 
67
        u8 category;
 
68
        __le16 opcode;
 
69
        u8 seqnum;
 
70
        u8 flags;
 
71
        __le16 length;
 
72
} __attribute__((__packed__));
 
73
 
 
74
struct log_hdr {
 
75
        __le32 timestamp;
 
76
        u8 severity;
 
77
        u8 logsource;
 
78
        __le16 reserved;
 
79
} __attribute__((__packed__));
 
80
 
 
81
struct mdump_hdr {
 
82
        u8 dmpid;
 
83
        u8 frag;
 
84
        __le16 size;
 
85
        __le32 addr;
 
86
} __attribute__((__packed__));
 
87
 
 
88
struct top_msg {
 
89
        struct msg_hdr hdr;
 
90
        union {
 
91
                /* D2H messages */
 
92
                struct {
 
93
                        struct log_hdr log_hdr;
 
94
                        u8 data[1];
 
95
                } __attribute__((__packed__)) log;
 
96
 
 
97
                struct {
 
98
                        struct log_hdr log_hdr;
 
99
                        struct mdump_hdr md_hdr;
 
100
                        u8 data[1];
 
101
                } __attribute__((__packed__)) mdump;
 
102
 
 
103
                /* H2D messages */
 
104
                struct {
 
105
                        u8 logsource;
 
106
                        u8 sevmask;
 
107
                } __attribute__((__packed__)) logdefs[FW_LOG_SRC_MAX];
 
108
                struct mdump_hdr mdump_req;
 
109
        } u;
 
110
} __attribute__((__packed__));
 
111
 
 
112
 
 
113
#endif /* __FWMSG_H__ */