diff options
author | Nicolin Chen <Guangyu.Chen@freescale.com> | 2014-05-09 10:58:09 +0800 |
---|---|---|
committer | Nicolin Chen <Guangyu.Chen@freescale.com> | 2014-06-19 17:07:12 +0800 |
commit | c7f61d3947459aaa0b776c6449535e3ce410e7c0 (patch) | |
tree | 8ece0692f354e257085893d1f66b7c7f29b328c6 /include | |
parent | 6079fb818211bc8f7c86287ceab5e04e70f4e476 (diff) |
ENGR00318773-1 mxc: asrc: Don't use the extra work thread to handle the last period data
The original design:
-> Input DMA task -> complete()
|
-> Output DMA task -> complete()
| |
| -> Last period polling work thread -> complete()
|
Main thread --------------> wait_for_completion() of Input and last period
It's too complicated and worthless to use an extra work thread for last period data.
So this patch just switches the flow into a simpler approach:
-> Input DMA task -> complete()
|
-> Output DMA task -> complete()
|
Main thread --------------> wait_for_completion() of In/Output -> Last period polling
Acked-by: Wang Shengjiu <b02247@freescale.com>
Signed-off-by: Nicolin Chen <Guangyu.Chen@freescale.com>
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/mxc_asrc.h | 2 |
1 files changed, 0 insertions, 2 deletions
diff --git a/include/linux/mxc_asrc.h b/include/linux/mxc_asrc.h index 98db3d587f43..75247a22549c 100644 --- a/include/linux/mxc_asrc.h +++ b/include/linux/mxc_asrc.h @@ -315,7 +315,6 @@ struct asrc_pair_params { enum asrc_pair_index index; struct completion input_complete; struct completion output_complete; - struct completion lastperiod_complete; struct dma_chan *input_dma_channel; struct dma_chan *output_dma_channel; unsigned int input_buffer_size; @@ -331,7 +330,6 @@ struct asrc_pair_params { struct dma_block output_last_period; struct dma_async_tx_descriptor *desc_in; struct dma_async_tx_descriptor *desc_out; - struct work_struct task_output_work; unsigned int input_sg_nodes; unsigned int output_sg_nodes; struct scatterlist input_sg[4], output_sg[4]; |