Symbol: rt5514_dsp
sound/soc/codecs/rt5514-spi.c
105
if (cur_wp >= rt5514_dsp->buf_rp)
sound/soc/codecs/rt5514-spi.c
106
remain_data = (cur_wp - rt5514_dsp->buf_rp);
sound/soc/codecs/rt5514-spi.c
109
(rt5514_dsp->buf_limit - rt5514_dsp->buf_rp) +
sound/soc/codecs/rt5514-spi.c
110
(cur_wp - rt5514_dsp->buf_base);
sound/soc/codecs/rt5514-spi.c
113
schedule_delayed_work(&rt5514_dsp->copy_work, 5);
sound/soc/codecs/rt5514-spi.c
118
if (rt5514_dsp->buf_rp + period_bytes <= rt5514_dsp->buf_limit) {
sound/soc/codecs/rt5514-spi.c
119
rt5514_spi_burst_read(rt5514_dsp->buf_rp,
sound/soc/codecs/rt5514-spi.c
120
runtime->dma_area + rt5514_dsp->dma_offset,
sound/soc/codecs/rt5514-spi.c
123
if (rt5514_dsp->buf_rp + period_bytes == rt5514_dsp->buf_limit)
sound/soc/codecs/rt5514-spi.c
124
rt5514_dsp->buf_rp = rt5514_dsp->buf_base;
sound/soc/codecs/rt5514-spi.c
126
rt5514_dsp->buf_rp += period_bytes;
sound/soc/codecs/rt5514-spi.c
128
truncated_bytes = rt5514_dsp->buf_limit - rt5514_dsp->buf_rp;
sound/soc/codecs/rt5514-spi.c
129
rt5514_spi_burst_read(rt5514_dsp->buf_rp,
sound/soc/codecs/rt5514-spi.c
130
runtime->dma_area + rt5514_dsp->dma_offset,
sound/soc/codecs/rt5514-spi.c
133
rt5514_spi_burst_read(rt5514_dsp->buf_base,
sound/soc/codecs/rt5514-spi.c
134
runtime->dma_area + rt5514_dsp->dma_offset +
sound/soc/codecs/rt5514-spi.c
137
rt5514_dsp->buf_rp = rt5514_dsp->buf_base + period_bytes -
sound/soc/codecs/rt5514-spi.c
141
rt5514_dsp->get_size += period_bytes;
sound/soc/codecs/rt5514-spi.c
142
rt5514_dsp->dma_offset += period_bytes;
sound/soc/codecs/rt5514-spi.c
143
if (rt5514_dsp->dma_offset >= runtime->dma_bytes)
sound/soc/codecs/rt5514-spi.c
144
rt5514_dsp->dma_offset = 0;
sound/soc/codecs/rt5514-spi.c
146
snd_pcm_period_elapsed(rt5514_dsp->substream);
sound/soc/codecs/rt5514-spi.c
148
schedule_delayed_work(&rt5514_dsp->copy_work, 5);
sound/soc/codecs/rt5514-spi.c
151
mutex_unlock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
154
static void rt5514_schedule_copy(struct rt5514_dsp *rt5514_dsp)
sound/soc/codecs/rt5514-spi.c
158
if (!rt5514_dsp->substream)
sound/soc/codecs/rt5514-spi.c
161
rt5514_dsp->get_size = 0;
sound/soc/codecs/rt5514-spi.c
170
rt5514_dsp->buf_base = buf[0] | buf[1] << 8 | buf[2] << 16 |
sound/soc/codecs/rt5514-spi.c
175
rt5514_dsp->buf_limit = buf[0] | buf[1] << 8 | buf[2] << 16 |
sound/soc/codecs/rt5514-spi.c
180
rt5514_dsp->buf_rp = buf[0] | buf[1] << 8 | buf[2] << 16 |
sound/soc/codecs/rt5514-spi.c
183
if (rt5514_dsp->buf_rp % 8)
sound/soc/codecs/rt5514-spi.c
184
rt5514_dsp->buf_rp = (rt5514_dsp->buf_rp / 8) * 8;
sound/soc/codecs/rt5514-spi.c
186
rt5514_dsp->buf_size = rt5514_dsp->buf_limit - rt5514_dsp->buf_base;
sound/soc/codecs/rt5514-spi.c
188
if (rt5514_dsp->buf_base && rt5514_dsp->buf_limit &&
sound/soc/codecs/rt5514-spi.c
189
rt5514_dsp->buf_rp && rt5514_dsp->buf_size)
sound/soc/codecs/rt5514-spi.c
190
schedule_delayed_work(&rt5514_dsp->copy_work, 0);
sound/soc/codecs/rt5514-spi.c
195
struct rt5514_dsp *rt5514_dsp = data;
sound/soc/codecs/rt5514-spi.c
197
rt5514_schedule_copy(rt5514_dsp);
sound/soc/codecs/rt5514-spi.c
215
struct rt5514_dsp *rt5514_dsp =
sound/soc/codecs/rt5514-spi.c
219
mutex_lock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
220
rt5514_dsp->substream = substream;
sound/soc/codecs/rt5514-spi.c
221
rt5514_dsp->dma_offset = 0;
sound/soc/codecs/rt5514-spi.c
226
rt5514_schedule_copy(rt5514_dsp);
sound/soc/codecs/rt5514-spi.c
228
mutex_unlock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
236
struct rt5514_dsp *rt5514_dsp =
sound/soc/codecs/rt5514-spi.c
239
mutex_lock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
240
rt5514_dsp->substream = NULL;
sound/soc/codecs/rt5514-spi.c
241
mutex_unlock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
243
cancel_delayed_work_sync(&rt5514_dsp->copy_work);
sound/soc/codecs/rt5514-spi.c
253
struct rt5514_dsp *rt5514_dsp =
sound/soc/codecs/rt5514-spi.c
256
return bytes_to_frames(runtime, rt5514_dsp->dma_offset);
sound/soc/codecs/rt5514-spi.c
262
struct rt5514_dsp *rt5514_dsp;
sound/soc/codecs/rt5514-spi.c
265
rt5514_dsp = devm_kzalloc(component->dev, sizeof(*rt5514_dsp),
sound/soc/codecs/rt5514-spi.c
267
if (!rt5514_dsp)
sound/soc/codecs/rt5514-spi.c
270
rt5514_dsp->dev = &rt5514_spi->dev;
sound/soc/codecs/rt5514-spi.c
271
mutex_init(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
272
INIT_DELAYED_WORK(&rt5514_dsp->copy_work, rt5514_spi_copy_work);
sound/soc/codecs/rt5514-spi.c
273
snd_soc_component_set_drvdata(component, rt5514_dsp);
sound/soc/codecs/rt5514-spi.c
279
rt5514_dsp);
sound/soc/codecs/rt5514-spi.c
285
device_init_wakeup(rt5514_dsp->dev, true);
sound/soc/codecs/rt5514-spi.c
473
struct rt5514_dsp *rt5514_dsp = dev_get_drvdata(dev);
sound/soc/codecs/rt5514-spi.c
480
if (rt5514_dsp) {
sound/soc/codecs/rt5514-spi.c
481
if (rt5514_dsp->substream) {
sound/soc/codecs/rt5514-spi.c
485
rt5514_schedule_copy(rt5514_dsp);
sound/soc/codecs/rt5514-spi.c
75
struct rt5514_dsp *rt5514_dsp =
sound/soc/codecs/rt5514-spi.c
76
container_of(work, struct rt5514_dsp, copy_work.work);
sound/soc/codecs/rt5514-spi.c
82
mutex_lock(&rt5514_dsp->dma_lock);
sound/soc/codecs/rt5514-spi.c
83
if (!rt5514_dsp->substream) {
sound/soc/codecs/rt5514-spi.c
84
dev_err(rt5514_dsp->dev, "No pcm substream\n");
sound/soc/codecs/rt5514-spi.c
88
runtime = rt5514_dsp->substream->runtime;
sound/soc/codecs/rt5514-spi.c
89
period_bytes = snd_pcm_lib_period_bytes(rt5514_dsp->substream);
sound/soc/codecs/rt5514-spi.c
91
schedule_delayed_work(&rt5514_dsp->copy_work, 5);
sound/soc/codecs/rt5514-spi.c
95
if (rt5514_dsp->buf_size % period_bytes)
sound/soc/codecs/rt5514-spi.c
96
rt5514_dsp->buf_size = (rt5514_dsp->buf_size / period_bytes) *
sound/soc/codecs/rt5514-spi.c
99
if (rt5514_dsp->get_size >= rt5514_dsp->buf_size) {
sound/soc/rockchip/rk3399_gru_sound.c
330
SND_SOC_DAILINK_DEFS(rt5514_dsp,
sound/soc/rockchip/rk3399_gru_sound.c
384
SND_SOC_DAILINK_REG(rt5514_dsp),