• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/sound/drivers/

Lines Matching defs:dpcm

243 static void dummy_systimer_rearm(struct dummy_systimer_pcm *dpcm)
245 dpcm->timer.expires = jiffies +
246 (dpcm->frac_period_rest + dpcm->rate - 1) / dpcm->rate;
247 add_timer(&dpcm->timer);
250 static void dummy_systimer_update(struct dummy_systimer_pcm *dpcm)
254 delta = jiffies - dpcm->base_time;
257 dpcm->base_time += delta;
258 delta *= dpcm->rate;
259 dpcm->frac_pos += delta;
260 while (dpcm->frac_pos >= dpcm->frac_buffer_size)
261 dpcm->frac_pos -= dpcm->frac_buffer_size;
262 while (dpcm->frac_period_rest <= delta) {
263 dpcm->elapsed++;
264 dpcm->frac_period_rest += dpcm->frac_period_size;
266 dpcm->frac_period_rest -= delta;
271 struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
272 spin_lock(&dpcm->lock);
273 dpcm->base_time = jiffies;
274 dummy_systimer_rearm(dpcm);
275 spin_unlock(&dpcm->lock);
281 struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
282 spin_lock(&dpcm->lock);
283 del_timer(&dpcm->timer);
284 spin_unlock(&dpcm->lock);
291 struct dummy_systimer_pcm *dpcm = runtime->private_data;
293 dpcm->frac_pos = 0;
294 dpcm->rate = runtime->rate;
295 dpcm->frac_buffer_size = runtime->buffer_size * HZ;
296 dpcm->frac_period_size = runtime->period_size * HZ;
297 dpcm->frac_period_rest = dpcm->frac_period_size;
298 dpcm->elapsed = 0;
305 struct dummy_systimer_pcm *dpcm = (struct dummy_systimer_pcm *)data;
309 spin_lock_irqsave(&dpcm->lock, flags);
310 dummy_systimer_update(dpcm);
311 dummy_systimer_rearm(dpcm);
312 elapsed = dpcm->elapsed;
313 dpcm->elapsed = 0;
314 spin_unlock_irqrestore(&dpcm->lock, flags);
316 snd_pcm_period_elapsed(dpcm->substream);
322 struct dummy_systimer_pcm *dpcm = substream->runtime->private_data;
325 spin_lock(&dpcm->lock);
326 dummy_systimer_update(dpcm);
327 pos = dpcm->frac_pos / HZ;
328 spin_unlock(&dpcm->lock);
334 struct dummy_systimer_pcm *dpcm;
336 dpcm = kzalloc(sizeof(*dpcm), GFP_KERNEL);
337 if (!dpcm)
339 substream->runtime->private_data = dpcm;
340 init_timer(&dpcm->timer);
341 dpcm->timer.data = (unsigned long) dpcm;
342 dpcm->timer.function = dummy_systimer_callback;
343 spin_lock_init(&dpcm->lock);
344 dpcm->substream = substream;
378 struct dummy_hrtimer_pcm *dpcm = (struct dummy_hrtimer_pcm *)priv;
379 if (atomic_read(&dpcm->running))
380 snd_pcm_period_elapsed(dpcm->substream);
385 struct dummy_hrtimer_pcm *dpcm;
387 dpcm = container_of(timer, struct dummy_hrtimer_pcm, timer);
388 if (!atomic_read(&dpcm->running))
390 tasklet_schedule(&dpcm->tasklet);
391 hrtimer_forward_now(timer, dpcm->period_time);
397 struct dummy_hrtimer_pcm *dpcm = substream->runtime->private_data;
399 dpcm->base_time = hrtimer_cb_get_time(&dpcm->timer);
400 hrtimer_start(&dpcm->timer, dpcm->period_time, HRTIMER_MODE_REL);
401 atomic_set(&dpcm->running, 1);
407 struct dummy_hrtimer_pcm *dpcm = substream->runtime->private_data;
409 atomic_set(&dpcm->running, 0);
410 hrtimer_cancel(&dpcm->timer);
414 static inline void dummy_hrtimer_sync(struct dummy_hrtimer_pcm *dpcm)
416 tasklet_kill(&dpcm->tasklet);
423 struct dummy_hrtimer_pcm *dpcm = runtime->private_data;
427 delta = ktime_us_delta(hrtimer_cb_get_time(&dpcm->timer),
428 dpcm->base_time);
437 struct dummy_hrtimer_pcm *dpcm = runtime->private_data;
442 dummy_hrtimer_sync(dpcm);
448 dpcm->period_time = ktime_set(sec, nsecs);
455 struct dummy_hrtimer_pcm *dpcm;
457 dpcm = kzalloc(sizeof(*dpcm), GFP_KERNEL);
458 if (!dpcm)
460 substream->runtime->private_data = dpcm;
461 hrtimer_init(&dpcm->timer, CLOCK_MONOTONIC, HRTIMER_MODE_REL);
462 dpcm->timer.function = dummy_hrtimer_callback;
463 dpcm->substream = substream;
464 atomic_set(&dpcm->running, 0);
465 tasklet_init(&dpcm->tasklet, dummy_hrtimer_pcm_elapsed,
466 (unsigned long)dpcm);
472 struct dummy_hrtimer_pcm *dpcm = substream->runtime->private_data;
473 dummy_hrtimer_sync(dpcm);
474 kfree(dpcm);