Lines Matching refs:data
32 struct sprd_pcm_dma_data data[SPRD_PCM_CHANNEL_MAX];
84 struct sprd_pcm_dma_data *data = &dma_private->data[i];
86 data->virt = dmam_alloc_coherent(dev, size, &data->phys,
88 if (!data->virt) {
102 struct sprd_pcm_dma_data *data = &dma_private->data[i];
104 if (data->virt)
105 dmam_free_coherent(dev, size, data->virt, data->phys);
122 struct sprd_pcm_dma_data *data = &dma_private->data[i];
124 dmam_free_coherent(dev, size, data->virt, data->phys);
132 static void sprd_pcm_dma_complete(void *data)
134 struct sprd_pcm_dma_private *dma_private = data;
147 struct sprd_pcm_dma_data *data = &dma_private->data[i];
149 if (data->chan) {
150 dma_release_channel(data->chan);
151 data->chan = NULL;
172 struct sprd_pcm_dma_data *data = &dma_private->data[i];
174 data->chan = dma_request_slave_channel(dev,
176 if (!data->chan) {
228 struct sprd_pcm_dma_data *data = &dma_private->data[i];
229 struct dma_chan *chan = data->chan;
263 link.virt_addr = (unsigned long)data->virt;
264 link.phy_addr = data->phys;
279 data->desc = chan->device->device_prep_slave_sg(chan, sg,
282 if (!data->desc) {
289 data->desc->callback = sprd_pcm_dma_complete;
290 data->desc->callback_param = dma_private;
323 struct sprd_pcm_dma_data *data = &dma_private->data[i];
325 if (!data->desc)
328 data->cookie = dmaengine_submit(data->desc);
329 ret = dma_submit_error(data->cookie);
337 dma_async_issue_pending(data->chan);
344 struct sprd_pcm_dma_data *data = &dma_private->data[i];
346 if (data->chan)
347 dmaengine_resume(data->chan);
353 struct sprd_pcm_dma_data *data = &dma_private->data[i];
355 if (data->chan)
356 dmaengine_terminate_async(data->chan);
363 struct sprd_pcm_dma_data *data = &dma_private->data[i];
365 if (data->chan)
366 dmaengine_pause(data->chan);
389 struct sprd_pcm_dma_data *data = &dma_private->data[i];
391 if (!data->chan)
394 status = dmaengine_tx_status(data->chan, data->cookie, &state);
410 sel_max = pointer[i] < data->pre_pointer ? 1 : 0;
412 sel_max ^= pointer[i] < data->pre_pointer ? 1 : 0;
422 data->pre_pointer = pointer[i];