summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorWilliam Lai <b04597@freescale.com>2009-06-01 15:02:40 +0800
committerWilliam Lai <b04597@freescale.com>2009-06-12 14:47:53 +0800
commit44b3107da1b0045986ce1850926c7a0069cbb1e3 (patch)
tree16da53c551d9106e79437a598fcb41601c6d5f56 /include
parent438eaa1c73d861bc95690cbd71ad0b53b6962172 (diff)
ENGR00112889 ASRC driver multi-instance support
1. Support multi-instance 2. Support pause and restart 3. Support seek/flush feature Signed-off-by: William Lai <b04597@freescale.com>
Diffstat (limited to 'include')
-rw-r--r--include/linux/mxc_asrc.h20
1 files changed, 12 insertions, 8 deletions
diff --git a/include/linux/mxc_asrc.h b/include/linux/mxc_asrc.h
index 30891a9d8c95..8b83bc3486ae 100644
--- a/include/linux/mxc_asrc.h
+++ b/include/linux/mxc_asrc.h
@@ -35,6 +35,7 @@
#define ASRC_START_CONV _IOW(ASRC_IOC_MAGIC, 8, enum asrc_pair_index)
#define ASRC_STOP_CONV _IOW(ASRC_IOC_MAGIC, 9, enum asrc_pair_index)
#define ASRC_STATUS _IOW(ASRC_IOC_MAGIC, 10, struct asrc_status_flags)
+#define ASRC_FLUSH _IOW(ASRC_IOC_MAGIC, 11, enum asrc_pair_index)
enum asrc_pair_index {
ASRC_PAIR_A,
@@ -106,6 +107,7 @@ struct asrc_querybuf {
struct asrc_buffer {
unsigned int index;
unsigned int length;
+ int buf_valid;
};
struct asrc_status_flags {
@@ -113,6 +115,16 @@ struct asrc_status_flags {
unsigned int overload_error;
};
+#define ASRC_BUF_NA -35 /* ASRC DQ's buffer is NOT available */
+#define ASRC_BUF_AV 35 /* ASRC DQ's buffer is available */
+enum asrc_error_status {
+ ASRC_TASK_Q_OVERLOAD = 0x01,
+ ASRC_OUTPUT_TASK_OVERLOAD = 0x02,
+ ASRC_INPUT_TASK_OVERLOAD = 0x04,
+ ASRC_OUTPUT_BUFFER_OVERFLOW = 0x08,
+ ASRC_INPUT_BUFFER_UNDERRUN = 0x10,
+};
+
#ifdef __KERNEL__
#define ASRC_DMA_BUFFER_NUM 8
@@ -195,14 +207,6 @@ char *asrc_pair_id[] = {
[5] = "ASRC TX PAIR C",
};
-enum asrc_error_status {
- ASRC_TASK_Q_OVERLOAD = 0x01,
- ASRC_OUTPUT_TASK_OVERLOAD = 0x02,
- ASRC_INPUT_TASK_OVERLOAD = 0x04,
- ASRC_OUTPUT_BUFFER_OVERFLOW = 0x08,
- ASRC_INPUT_BUFFER_UNDERRUN = 0x10,
-};
-
extern int asrc_req_pair(int chn_num, enum asrc_pair_index *index);
extern void asrc_release_pair(enum asrc_pair_index index);
extern int asrc_config_pair(struct asrc_config *config);