Ensure FMODE_NONOTIFY is not set by userspace
[pandora-kernel.git] / drivers / staging / dream / include / mach / qdsp5 / qdsp5audrecmsg.h
1 #ifndef QDSP5AUDRECMSGI_H
2 #define QDSP5AUDRECMSGI_H
3
4 /*====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*
5
6     A U D I O   R E C O R D  M E S S A G E S
7
8 GENERAL DESCRIPTION
9   This file contains defintions of format blocks of messages
10   that are sent by AUDREC Task
11
12 REFERENCES
13   None
14
15 EXTERNALIZED FUNCTIONS
16   None
17
18 Copyright(c) 1992 - 2008 by QUALCOMM, Incorporated.
19
20 This software is licensed under the terms of the GNU General Public
21 License version 2, as published by the Free Software Foundation, and
22 may be copied, distributed, and modified under those terms.
23
24 This program is distributed in the hope that it will be useful,
25 but WITHOUT ANY WARRANTY; without even the implied warranty of
26 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
27 GNU General Public License for more details.
28
29 *====*====*====*====*====*====*====*====*====*====*====*====*====*====*====*/
30
31 /*===========================================================================
32
33                       EDIT HISTORY FOR FILE
34
35 This section contains comments describing changes made to this file.
36 Notice that changes are listed in reverse chronological order.
37
38  $Header: //source/qcom/qct/multimedia2/Audio/drivers/QDSP5Driver/QDSP5Interface/main/latest/qdsp5audrecmsg.h#3 $
39
40 ============================================================================*/
41
42 /*
43  * AUDRECTASK MESSAGES
44  * AUDRECTASK uses audRecUpRlist to communicate with ARM
45  * Location : MEMC
46  * Buffer size : 4
47  * No of buffers in a queue : 2
48  */
49
50 /*
51  * Message to notify that config command is done
52  */
53
54 #define AUDREC_MSG_CMD_CFG_DONE_MSG     0x0002
55 #define AUDREC_MSG_CMD_CFG_DONE_MSG_LEN \
56         sizeof(audrec_msg_cmd_cfg_done_msg)
57
58
59 #define AUDREC_MSG_CFG_DONE_TYPE_0_ENA          0x4000
60 #define AUDREC_MSG_CFG_DONE_TYPE_0_DIS          0x0000
61
62 #define AUDREC_MSG_CFG_DONE_TYPE_0_NO_UPDATE    0x0000
63 #define AUDREC_MSG_CFG_DONE_TYPE_0_UPDATE       0x8000
64
65 #define AUDREC_MSG_CFG_DONE_TYPE_1_ENA          0x4000
66 #define AUDREC_MSG_CFG_DONE_TYPE_1_DIS          0x0000
67
68 #define AUDREC_MSG_CFG_DONE_TYPE_1_NO_UPDATE    0x0000
69 #define AUDREC_MSG_CFG_DONE_TYPE_1_UPDATE       0x8000
70
71 typedef struct {
72         unsigned short  type_0;
73         unsigned short  type_1;
74 } __attribute__((packed))audrec_msg_cmd_cfg_done_msg;
75
76
77 /*
78  * Message to notify arec0/1 cfg done and recording params revd by task
79  */
80
81 #define AUDREC_MSG_CMD_AREC_PARAM_CFG_DONE_MSG          0x0003
82 #define AUDREC_MSG_CMD_AREC_PARAM_CFG_DONE_MSG_LEN      \
83         sizeof(audrec_msg_cmd_arec_param_cfg_done_msg)
84
85 #define AUDREC_MSG_AREC_PARAM_TYPE_0    0x0000
86 #define AUDREC_MSG_AREC_PARAM_TYPE_1    0x0001
87
88 typedef struct {
89         unsigned short  type;
90 } __attribute__((packed))audrec_msg_cmd_arec_param_cfg_done_msg;
91
92
93 /*
94  * Message to notify no more buffers are available in ext mem to DME
95  */
96
97 #define AUDREC_MSG_FATAL_ERR_MSG                0x0004
98 #define AUDREC_MSG_FATAL_ERR_MSG_LEN    \
99         sizeof(audrec_msg_fatal_err_msg)
100
101 #define AUDREC_MSG_FATAL_ERR_TYPE_0     0x0000
102 #define AUDREC_MSG_FATAL_ERR_TYPE_1     0x0001
103
104 typedef struct {
105         unsigned short  type;
106 } __attribute__((packed))audrec_msg_fatal_err_msg;
107
108 /*
109  * Message to notify DME deliverd the encoded pkt to ext pkt buffer
110  */
111
112 #define AUDREC_MSG_PACKET_READY_MSG             0x0005
113 #define AUDREC_MSG_PACKET_READY_MSG_LEN \
114         sizeof(audrec_msg_packet_ready_msg)
115
116 #define AUDREC_MSG_PACKET_READY_TYPE_0  0x0000
117 #define AUDREC_MSG_PACKET_READY_TYPE_1  0x0001
118
119 typedef struct {
120         unsigned short  type;
121         unsigned short  pkt_counter_msw;
122         unsigned short  pkt_counter_lsw;
123         unsigned short  pkt_read_cnt_msw;
124         unsigned short  pkt_read_cnt_lsw;
125 } __attribute__((packed))audrec_msg_packet_ready_msg;
126
127 #endif