| /* Copyright (c) 2009-2010, The Linux Foundation. All rights reserved. |
| * |
| * This program is free software; you can redistribute it and/or modify |
| * it under the terms of the GNU General Public License version 2 and |
| * only version 2 as published by the Free Software Foundation. |
| * |
| * This program is distributed in the hope that it will be useful, |
| * but WITHOUT ANY WARRANTY; without even the implied warranty of |
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| * GNU General Public License for more details. |
| * |
| */ |
| |
| #ifndef QDSP5AUDRECMSG_H |
| #define QDSP5AUDRECMSG_H |
| |
| /* |
| * AUDRECTASK MESSAGES |
| * AUDRECTASK uses audRec[i]UpRlist, where i=0,1,2 to communicate with ARM |
| * Location : MEMC |
| * Buffer size : 5 |
| * No of buffers in a queue : 10 |
| */ |
| |
| /* |
| * Message to notify 2 error conditions |
| */ |
| |
| #define AUDREC_FATAL_ERR_MSG 0x0001 |
| #define AUDREC_FATAL_ERR_MSG_LEN \ |
| sizeof(struct audrec_fatal_err_msg) |
| |
| #define AUDREC_FATAL_ERR_MSG_NO_PKT 0x00 |
| |
| struct audrec_fatal_err_msg { |
| unsigned short audrec_err_id; |
| } __attribute__((packed)); |
| |
| /* |
| * Message to indicate encoded packet is delivered to external buffer |
| */ |
| |
| #define AUDREC_UP_PACKET_READY_MSG 0x0002 |
| #define AUDREC_UP_PACKET_READY_MSG_LEN \ |
| sizeof(struct audrec_up_pkt_ready_msg) |
| |
| struct audrec_up_pkt_ready_msg { |
| unsigned short audrec_packet_write_cnt_lsw; |
| unsigned short audrec_packet_write_cnt_msw; |
| unsigned short audrec_up_prev_read_cnt_lsw; |
| unsigned short audrec_up_prev_read_cnt_msw; |
| } __attribute__((packed)); |
| |
| /* |
| * Message indicates arecmem cfg done |
| */ |
| #define AUDREC_CMD_MEM_CFG_DONE_MSG 0x0003 |
| |
| /* buffer conntents are nill only message id is required */ |
| |
| /* |
| * Message to indicate pcm buffer configured |
| */ |
| |
| #define AUDREC_CMD_PCM_CFG_ARM_TO_ENC_DONE_MSG 0x0004 |
| #define AUDREC_CMD_PCM_CFG_ARM_TO_ENC_DONE_MSG_LEN \ |
| sizeof(struct audrec_cmd_pcm_cfg_arm_to_enc_msg) |
| |
| struct audrec_cmd_pcm_cfg_arm_to_enc_msg { |
| unsigned short configuration; |
| } __attribute__((packed)); |
| |
| /* |
| * Message to indicate encoded packet is delivered to external buffer in FTRT |
| */ |
| |
| #define AUDREC_UP_NT_PACKET_READY_MSG 0x0005 |
| #define AUDREC_UP_NT_PACKET_READY_MSG_LEN \ |
| sizeof(struct audrec_up_nt_packet_ready_msg) |
| |
| struct audrec_up_nt_packet_ready_msg { |
| unsigned short audrec_packetwrite_cnt_lsw; |
| unsigned short audrec_packetwrite_cnt_msw; |
| unsigned short audrec_upprev_readcount_lsw; |
| unsigned short audrec_upprev_readcount_msw; |
| } __attribute__((packed)); |
| |
| /* |
| * Message to indicate pcm buffer is consumed |
| */ |
| |
| #define AUDREC_CMD_PCM_BUFFER_PTR_UPDATE_ARM_TO_ENC_MSG 0x0006 |
| #define AUDREC_CMD_PCM_BUFFER_PTR_UPDATE_ARM_TO_ENC_MSG_LEN \ |
| sizeof(struct audrec_cmd_pcm_buffer_ptr_update_arm_to_enc_msg) |
| |
| struct audrec_cmd_pcm_buffer_ptr_update_arm_to_enc_msg { |
| unsigned short buffer_readcnt_msw; |
| unsigned short buffer_readcnt_lsw; |
| unsigned short number_of_buffers; |
| unsigned short buffer_address_length[]; |
| } __attribute__((packed)); |
| |
| /* |
| * Message to indicate flush acknowledgement |
| */ |
| |
| #define AUDREC_CMD_FLUSH_DONE_MSG 0x0007 |
| |
| /* |
| * Message to indicate End of Stream acknowledgement |
| */ |
| |
| #define AUDREC_CMD_EOS_ACK_MSG 0x0008 |
| |
| #endif /* QDSP5AUDRECMSG_H */ |