diff options
author | William Lai <b04597@freescale.com> | 2009-06-01 15:02:40 +0800 |
---|---|---|
committer | William Lai <b04597@freescale.com> | 2009-06-12 14:47:53 +0800 |
commit | 44b3107da1b0045986ce1850926c7a0069cbb1e3 (patch) | |
tree | 16da53c551d9106e79437a598fcb41601c6d5f56 /include | |
parent | 438eaa1c73d861bc95690cbd71ad0b53b6962172 (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.h | 20 |
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); |