Lines Matching refs:iprtd

46 	struct imx_pcm_runtime_data *iprtd =
48 struct snd_pcm_substream *substream = iprtd->substream;
51 if (!atomic_read(&iprtd->playing) && !atomic_read(&iprtd->capturing))
57 iprtd->offset = regs.ARM_r8 & 0xffff;
59 iprtd->offset = regs.ARM_r9 & 0xffff;
63 hrtimer_forward_now(hrt, ns_to_ktime(iprtd->poll_time_ns));
77 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
79 iprtd->periods = params_periods(params);
80 iprtd->period = params_period_bytes(params);
81 iprtd->offset = 0;
82 iprtd->poll_time_ns = 1000000000 / params_rate(params) *
92 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
97 regs.ARM_r8 = (iprtd->period * iprtd->periods - 1) << 16;
99 regs.ARM_r9 = (iprtd->period * iprtd->periods - 1) << 16;
112 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
119 atomic_set(&iprtd->playing, 1);
121 atomic_set(&iprtd->capturing, 1);
122 hrtimer_start(&iprtd->hrt, ns_to_ktime(iprtd->poll_time_ns),
131 atomic_set(&iprtd->playing, 0);
133 atomic_set(&iprtd->capturing, 0);
134 if (!atomic_read(&iprtd->playing) &&
135 !atomic_read(&iprtd->capturing))
151 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
153 return bytes_to_frames(substream->runtime, iprtd->offset);
176 struct imx_pcm_runtime_data *iprtd;
179 iprtd = kzalloc(sizeof(*iprtd), GFP_KERNEL);
180 if (iprtd == NULL)
182 runtime->private_data = iprtd;
184 iprtd->substream = substream;
186 atomic_set(&iprtd->playing, 0);
187 atomic_set(&iprtd->capturing, 0);
188 hrtimer_init(&iprtd->hrt, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
189 iprtd->hrt.function = snd_hrtimer_callback;
194 kfree(iprtd);
206 struct imx_pcm_runtime_data *iprtd = runtime->private_data;
208 hrtimer_cancel(&iprtd->hrt);
210 kfree(iprtd);