Lines Matching refs:devpriv

105 	struct waveform_private *devpriv = dev->private;  in fake_sawtooth()  local
114 binary_amplitude *= devpriv->wf_amplitude; in fake_sawtooth()
119 do_div(value, devpriv->wf_period); in fake_sawtooth()
137 struct waveform_private *devpriv = dev->private; in fake_squarewave() local
145 value *= devpriv->wf_amplitude; in fake_squarewave()
149 if (current_time < devpriv->wf_period / 2) { in fake_squarewave()
198 struct waveform_private *devpriv = from_timer(devpriv, t, ai_timer); in waveform_ai_timer() local
199 struct comedi_device *dev = devpriv->dev; in waveform_ai_timer()
210 while (nsamples && devpriv->ai_convert_time < now) { in waveform_ai_timer()
215 CR_RANGE(chanspec), devpriv->wf_current); in waveform_ai_timer()
218 time_increment = devpriv->ai_convert_period; in waveform_ai_timer()
221 time_increment += devpriv->ai_scan_period - in waveform_ai_timer()
222 devpriv->ai_convert_period * in waveform_ai_timer()
225 devpriv->wf_current += time_increment; in waveform_ai_timer()
226 if (devpriv->wf_current >= devpriv->wf_period) in waveform_ai_timer()
227 devpriv->wf_current %= devpriv->wf_period; in waveform_ai_timer()
228 devpriv->ai_convert_time += time_increment; in waveform_ai_timer()
235 if (devpriv->ai_convert_time > now) in waveform_ai_timer()
236 time_increment = devpriv->ai_convert_time - now; in waveform_ai_timer()
239 mod_timer(&devpriv->ai_timer, in waveform_ai_timer()
351 struct waveform_private *devpriv = dev->private; in waveform_ai_cmd() local
363 devpriv->ai_convert_period = 0; in waveform_ai_cmd()
365 devpriv->ai_convert_period = cmd->convert_arg / NSEC_PER_USEC; in waveform_ai_cmd()
368 devpriv->ai_scan_period = devpriv->ai_convert_period * in waveform_ai_cmd()
371 devpriv->ai_scan_period = cmd->scan_begin_arg / NSEC_PER_USEC; in waveform_ai_cmd()
381 first_convert_time = devpriv->ai_convert_period; in waveform_ai_cmd()
383 first_convert_time += devpriv->ai_scan_period; in waveform_ai_cmd()
384 devpriv->ai_convert_time = ktime_to_us(ktime_get()) + in waveform_ai_cmd()
388 wf_current = devpriv->ai_convert_time; in waveform_ai_cmd()
389 devpriv->wf_current = do_div(wf_current, devpriv->wf_period); in waveform_ai_cmd()
396 devpriv->ai_timer.expires = in waveform_ai_cmd()
397 jiffies + usecs_to_jiffies(devpriv->ai_convert_period) + 1; in waveform_ai_cmd()
398 add_timer(&devpriv->ai_timer); in waveform_ai_cmd()
405 struct waveform_private *devpriv = dev->private; in waveform_ai_cancel() local
409 del_timer(&devpriv->ai_timer); in waveform_ai_cancel()
411 del_timer_sync(&devpriv->ai_timer); in waveform_ai_cancel()
420 struct waveform_private *devpriv = dev->private; in waveform_ai_insn_read() local
424 data[i] = devpriv->ao_loopbacks[chan]; in waveform_ai_insn_read()
435 struct waveform_private *devpriv = from_timer(devpriv, t, ao_timer); in waveform_ao_timer() local
436 struct comedi_device *dev = devpriv->dev; in waveform_ao_timer()
446 scans_since = now - devpriv->ao_last_scan_time; in waveform_ao_timer()
447 do_div(scans_since, devpriv->ao_scan_period); in waveform_ao_timer()
477 pd = &devpriv->ao_loopbacks[chan]; in waveform_ao_timer()
486 devpriv->ao_last_scan_time += in waveform_ao_timer()
487 (u64)scans_avail * devpriv->ao_scan_period; in waveform_ao_timer()
495 unsigned int time_inc = devpriv->ao_last_scan_time + in waveform_ao_timer()
496 devpriv->ao_scan_period - now; in waveform_ao_timer()
498 mod_timer(&devpriv->ao_timer, in waveform_ao_timer()
510 struct waveform_private *devpriv = dev->private; in waveform_ao_inttrig_start() local
519 devpriv->ao_last_scan_time = ktime_to_us(ktime_get()); in waveform_ao_inttrig_start()
520 devpriv->ao_timer.expires = in waveform_ao_inttrig_start()
521 jiffies + usecs_to_jiffies(devpriv->ao_scan_period); in waveform_ao_inttrig_start()
522 add_timer(&devpriv->ao_timer); in waveform_ao_inttrig_start()
587 struct waveform_private *devpriv = dev->private; in waveform_ao_cmd() local
596 devpriv->ao_scan_period = cmd->scan_begin_arg / NSEC_PER_USEC; in waveform_ao_cmd()
604 struct waveform_private *devpriv = dev->private; in waveform_ao_cancel() local
609 del_timer(&devpriv->ao_timer); in waveform_ao_cancel()
611 del_timer_sync(&devpriv->ao_timer); in waveform_ao_cancel()
620 struct waveform_private *devpriv = dev->private; in waveform_ao_insn_write() local
624 devpriv->ao_loopbacks[chan] = data[i]; in waveform_ao_insn_write()
674 struct waveform_private *devpriv; in waveform_common_attach() local
679 devpriv = comedi_alloc_devpriv(dev, sizeof(*devpriv)); in waveform_common_attach()
680 if (!devpriv) in waveform_common_attach()
683 devpriv->wf_amplitude = amplitude; in waveform_common_attach()
684 devpriv->wf_period = period; in waveform_common_attach()
723 devpriv->ao_loopbacks[i] = s->maxdata / 2; in waveform_common_attach()
725 devpriv->dev = dev; in waveform_common_attach()
726 timer_setup(&devpriv->ai_timer, waveform_ai_timer, 0); in waveform_common_attach()
727 timer_setup(&devpriv->ao_timer, waveform_ao_timer, 0); in waveform_common_attach()
732 devpriv->wf_amplitude, devpriv->wf_period); in waveform_common_attach()
769 struct waveform_private *devpriv = dev->private; in waveform_detach() local
771 if (devpriv) { in waveform_detach()
772 del_timer_sync(&devpriv->ai_timer); in waveform_detach()
773 del_timer_sync(&devpriv->ao_timer); in waveform_detach()