Lines Matching refs:pair

52 	struct fsl_asrc_pair *pair = runtime->private_data;  in fsl_asrc_dma_complete()  local
54 pair->pos += snd_pcm_lib_period_bytes(substream); in fsl_asrc_dma_complete()
55 if (pair->pos >= snd_pcm_lib_buffer_bytes(substream)) in fsl_asrc_dma_complete()
56 pair->pos = 0; in fsl_asrc_dma_complete()
66 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_prepare_and_submit() local
74 pair->pos = 0; in fsl_asrc_dma_prepare_and_submit()
75 pair->desc[!dir] = dmaengine_prep_dma_cyclic( in fsl_asrc_dma_prepare_and_submit()
76 pair->dma_chan[!dir], runtime->dma_addr, in fsl_asrc_dma_prepare_and_submit()
80 if (!pair->desc[!dir]) { in fsl_asrc_dma_prepare_and_submit()
85 pair->desc[!dir]->callback = fsl_asrc_dma_complete; in fsl_asrc_dma_prepare_and_submit()
86 pair->desc[!dir]->callback_param = substream; in fsl_asrc_dma_prepare_and_submit()
88 dmaengine_submit(pair->desc[!dir]); in fsl_asrc_dma_prepare_and_submit()
91 pair->desc[dir] = dmaengine_prep_dma_cyclic( in fsl_asrc_dma_prepare_and_submit()
92 pair->dma_chan[dir], 0xffff, 64, 64, DMA_DEV_TO_DEV, 0); in fsl_asrc_dma_prepare_and_submit()
93 if (!pair->desc[dir]) { in fsl_asrc_dma_prepare_and_submit()
98 dmaengine_submit(pair->desc[dir]); in fsl_asrc_dma_prepare_and_submit()
106 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_trigger() local
116 dma_async_issue_pending(pair->dma_chan[IN]); in fsl_asrc_dma_trigger()
117 dma_async_issue_pending(pair->dma_chan[OUT]); in fsl_asrc_dma_trigger()
122 dmaengine_terminate_all(pair->dma_chan[OUT]); in fsl_asrc_dma_trigger()
123 dmaengine_terminate_all(pair->dma_chan[IN]); in fsl_asrc_dma_trigger()
141 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_hw_params() local
142 struct fsl_asrc *asrc_priv = pair->asrc_priv; in fsl_asrc_dma_hw_params()
144 enum asrc_pair_index index = pair->index; in fsl_asrc_dma_hw_params()
180 pair->dma_chan[!dir] = fsl_asrc_get_dma_channel(pair, !dir); in fsl_asrc_dma_hw_params()
181 if (!pair->dma_chan[!dir]) { in fsl_asrc_dma_hw_params()
193 ret = dmaengine_slave_config(pair->dma_chan[!dir], &config_fe); in fsl_asrc_dma_hw_params()
207 pair->dma_data.dma_request = tmp_data->dma_request; in fsl_asrc_dma_hw_params()
211 tmp_chan = fsl_asrc_get_dma_channel(pair, dir); in fsl_asrc_dma_hw_params()
213 pair->dma_data.dma_request2 = tmp_data->dma_request; in fsl_asrc_dma_hw_params()
214 pair->dma_data.peripheral_type = tmp_data->peripheral_type; in fsl_asrc_dma_hw_params()
215 pair->dma_data.priority = tmp_data->priority; in fsl_asrc_dma_hw_params()
218 pair->dma_chan[dir] = dma_request_channel(mask, filter, &pair->dma_data); in fsl_asrc_dma_hw_params()
219 if (!pair->dma_chan[dir]) { in fsl_asrc_dma_hw_params()
243 ret = dmaengine_slave_config(pair->dma_chan[dir], &config_be); in fsl_asrc_dma_hw_params()
257 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_hw_free() local
261 if (pair->dma_chan[IN]) in fsl_asrc_dma_hw_free()
262 dma_release_channel(pair->dma_chan[IN]); in fsl_asrc_dma_hw_free()
264 if (pair->dma_chan[OUT]) in fsl_asrc_dma_hw_free()
265 dma_release_channel(pair->dma_chan[OUT]); in fsl_asrc_dma_hw_free()
267 pair->dma_chan[IN] = NULL; in fsl_asrc_dma_hw_free()
268 pair->dma_chan[OUT] = NULL; in fsl_asrc_dma_hw_free()
279 struct fsl_asrc_pair *pair; in fsl_asrc_dma_startup() local
281 pair = kzalloc(sizeof(struct fsl_asrc_pair), GFP_KERNEL); in fsl_asrc_dma_startup()
282 if (!pair) { in fsl_asrc_dma_startup()
287 pair->asrc_priv = asrc_priv; in fsl_asrc_dma_startup()
289 runtime->private_data = pair; in fsl_asrc_dma_startup()
301 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_shutdown() local
304 if (!pair) in fsl_asrc_dma_shutdown()
307 asrc_priv = pair->asrc_priv; in fsl_asrc_dma_shutdown()
309 if (asrc_priv->pair[pair->index] == pair) in fsl_asrc_dma_shutdown()
310 asrc_priv->pair[pair->index] = NULL; in fsl_asrc_dma_shutdown()
312 kfree(pair); in fsl_asrc_dma_shutdown()
320 struct fsl_asrc_pair *pair = runtime->private_data; in fsl_asrc_dma_pcm_pointer() local
322 return bytes_to_frames(substream->runtime, pair->pos); in fsl_asrc_dma_pcm_pointer()