Lines Matching refs:prtd
66 struct qmc_dai_prtd *prtd = substream->runtime->private_data;
68 prtd->dma_buffer_start = runtime->dma_addr;
69 prtd->dma_buffer_end = runtime->dma_addr + params_buffer_bytes(params);
70 prtd->period_size = params_period_bytes(params);
71 prtd->period_ptr_submitted = prtd->dma_buffer_start;
72 prtd->period_ptr_ended = prtd->dma_buffer_start;
73 prtd->substream = substream;
80 struct qmc_dai_prtd *prtd = context;
83 prtd->period_ptr_ended += prtd->period_size;
84 if (prtd->period_ptr_ended >= prtd->dma_buffer_end)
85 prtd->period_ptr_ended = prtd->dma_buffer_start;
87 prtd->period_ptr_submitted += prtd->period_size;
88 if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
89 prtd->period_ptr_submitted = prtd->dma_buffer_start;
91 ret = qmc_chan_write_submit(prtd->qmc_dai->qmc_chan,
92 prtd->period_ptr_submitted, prtd->period_size,
93 qmc_audio_pcm_write_complete, prtd);
95 dev_err(prtd->qmc_dai->dev, "write_submit failed %d\n",
99 snd_pcm_period_elapsed(prtd->substream);
104 struct qmc_dai_prtd *prtd = context;
107 if (length != prtd->period_size) {
108 dev_err(prtd->qmc_dai->dev, "read complete length = %zu, exp %zu\n",
109 length, prtd->period_size);
112 prtd->period_ptr_ended += prtd->period_size;
113 if (prtd->period_ptr_ended >= prtd->dma_buffer_end)
114 prtd->period_ptr_ended = prtd->dma_buffer_start;
116 prtd->period_ptr_submitted += prtd->period_size;
117 if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
118 prtd->period_ptr_submitted = prtd->dma_buffer_start;
120 ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
121 prtd->period_ptr_submitted, prtd->period_size,
122 qmc_audio_pcm_read_complete, prtd);
124 dev_err(prtd->qmc_dai->dev, "read_submit failed %d\n",
128 snd_pcm_period_elapsed(prtd->substream);
134 struct qmc_dai_prtd *prtd = substream->runtime->private_data;
137 if (!prtd->qmc_dai) {
146 ret = qmc_chan_write_submit(prtd->qmc_dai->qmc_chan,
147 prtd->period_ptr_submitted, prtd->period_size,
148 qmc_audio_pcm_write_complete, prtd);
156 prtd->period_ptr_submitted += prtd->period_size;
157 if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
158 prtd->period_ptr_submitted = prtd->dma_buffer_start;
161 ret = qmc_chan_write_submit(prtd->qmc_dai->qmc_chan,
162 prtd->period_ptr_submitted, prtd->period_size,
163 qmc_audio_pcm_write_complete, prtd);
171 ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
172 prtd->period_ptr_submitted, prtd->period_size,
173 qmc_audio_pcm_read_complete, prtd);
181 prtd->period_ptr_submitted += prtd->period_size;
182 if (prtd->period_ptr_submitted >= prtd->dma_buffer_end)
183 prtd->period_ptr_submitted = prtd->dma_buffer_start;
186 ret = qmc_chan_read_submit(prtd->qmc_dai->qmc_chan,
187 prtd->period_ptr_submitted, prtd->period_size,
188 qmc_audio_pcm_read_complete, prtd);
216 struct qmc_dai_prtd *prtd = substream->runtime->private_data;
219 prtd->period_ptr_ended - prtd->dma_buffer_start);
258 struct qmc_dai_prtd *prtd;
268 prtd = kzalloc(sizeof(*prtd), GFP_KERNEL);
269 if (prtd == NULL)
272 runtime->private_data = prtd;
280 struct qmc_dai_prtd *prtd = substream->runtime->private_data;
282 kfree(prtd);
418 struct qmc_dai_prtd *prtd = substream->runtime->private_data;
431 prtd->qmc_dai = qmc_dai;