Lines Matching refs:rtd

107 static void config_acp3x_dma(struct i2s_stream_instance *rtd, int direction)
114 addr = rtd->dma_addr;
117 switch (rtd->i2s_instance) {
126 switch (rtd->i2s_instance) {
136 rv_writel(ACP_SRAM_PTE_OFFSET | BIT(31), rtd->acp3x_base +
138 rv_writel(PAGE_SIZE_4K_ENABLE, rtd->acp3x_base +
141 for (page_idx = 0; page_idx < rtd->num_pages; page_idx++) {
146 rv_writel(low, rtd->acp3x_base + mmACP_SCRATCH_REG_0 + val);
148 rv_writel(high, rtd->acp3x_base + mmACP_SCRATCH_REG_0 + val
156 switch (rtd->i2s_instance) {
164 rtd->acp3x_base + mmACP_BT_TX_RINGBUFADDR);
175 rtd->acp3x_base + mmACP_I2S_TX_RINGBUFADDR);
178 switch (rtd->i2s_instance) {
186 rtd->acp3x_base + mmACP_BT_RX_RINGBUFADDR);
197 rtd->acp3x_base + mmACP_I2S_RX_RINGBUFADDR);
200 rv_writel(DMA_SIZE, rtd->acp3x_base + reg_dma_size);
201 rv_writel(acp_fifo_addr, rtd->acp3x_base + reg_fifo_addr);
202 rv_writel(FIFO_SIZE, rtd->acp3x_base + reg_fifo_size);
205 rtd->acp3x_base + mmACP_EXTERNAL_INTR_CNTL);
248 struct i2s_stream_instance *rtd;
259 rtd = substream->runtime->private_data;
260 if (!rtd)
265 rtd->i2s_instance = pinfo->play_i2s_instance;
266 switch (rtd->i2s_instance) {
275 rtd->i2s_instance = pinfo->cap_i2s_instance;
276 switch (rtd->i2s_instance) {
289 rtd->dma_addr = substream->runtime->dma_addr;
290 rtd->num_pages = (PAGE_ALIGN(size) >> PAGE_SHIFT);
291 config_acp3x_dma(rtd, substream->stream);
298 struct i2s_stream_instance *rtd;
303 rtd = substream->runtime->private_data;
307 bytescount = acp_get_byte_count(rtd, substream->stream);
308 if (bytescount > rtd->bytescount)
309 bytescount -= rtd->bytescount;
315 struct snd_soc_pcm_runtime *rtd)
318 snd_pcm_set_managed_buffer_all(rtd->pcm, SNDRV_DMA_TYPE_DEV,
440 struct i2s_stream_instance *rtd =
442 config_acp3x_dma(rtd, SNDRV_PCM_STREAM_PLAYBACK);
443 switch (rtd->i2s_instance) {
453 rv_writel((rtd->xfer_resolution << 3),
454 rtd->acp3x_base + reg_val);
457 struct i2s_stream_instance *rtd =
459 config_acp3x_dma(rtd, SNDRV_PCM_STREAM_CAPTURE);
460 switch (rtd->i2s_instance) {
470 rv_writel((rtd->xfer_resolution << 3),
471 rtd->acp3x_base + reg_val);