Lines Matching refs:async

328 	struct comedi_async *async = s->async;
333 if (new_size > async->max_bufsize)
361 s->index, async->prealloc_bufsz);
381 if (s && (s->subdev_flags & SDF_CMD_READ) && s->async)
382 size = s->async->max_bufsize / 1024;
412 if (s && (s->subdev_flags & SDF_CMD_READ) && s->async)
413 s->async->max_bufsize = size;
437 if (s && (s->subdev_flags & SDF_CMD_READ) && s->async)
438 size = s->async->prealloc_bufsz / 1024;
468 if (s && (s->subdev_flags & SDF_CMD_READ) && s->async)
494 if (s && (s->subdev_flags & SDF_CMD_WRITE) && s->async)
495 size = s->async->max_bufsize / 1024;
525 if (s && (s->subdev_flags & SDF_CMD_WRITE) && s->async)
526 s->async->max_bufsize = size;
550 if (s && (s->subdev_flags & SDF_CMD_WRITE) && s->async)
551 size = s->async->prealloc_bufsz / 1024;
581 if (s && (s->subdev_flags & SDF_CMD_WRITE) && s->async)
669 * comedi_is_subdevice_running() - Check if async command running on subdevice
738 struct comedi_async *async = s->async;
742 if (async) {
744 async->inttrig = NULL;
745 kfree(async->cmd.chanlist);
746 async->cmd.chanlist = NULL;
748 wake_up_interruptible_all(&async->wait_head);
751 "BUG: (?) %s called with async=NULL\n", __func__);
780 if (s->async)
798 if (s->async && comedi_buf_is_mmapped(s))
875 struct comedi_async *async;
887 async = s->async;
889 if (!async) {
891 "subdevice does not have async capability\n");
901 async->max_bufsize = bc.maximum_size;
910 bc.size = async->prealloc_bufsz;
911 bc.maximum_size = async->max_bufsize;
1113 struct comedi_async *async;
1127 async = s->async;
1129 if (!async || s->busy != file)
1133 if (!(async->cmd.flags & CMDF_WRITE)) {
1168 bi.buf_write_count = async->buf_write_count;
1169 bi.buf_write_ptr = async->buf_write_ptr;
1170 bi.buf_read_count = async->buf_read_count;
1171 bi.buf_read_ptr = async->buf_read_ptr;
1359 if (!s->async) {
1360 dev_dbg(dev->class_dev, "no async\n");
1364 if (!s->async->inttrig) {
1369 ret = s->async->inttrig(dev, s, data[0]);
1675 if (!s->do_cmd || !s->do_cmdtest || !s->async) {
1752 struct comedi_async *async;
1767 async = s->async;
1788 async->cmd = *cmd;
1789 async->cmd.data = NULL;
1792 ret = __comedi_get_user_chanlist(dev, s, user_chanlist, &async->cmd);
1796 ret = s->do_cmdtest(dev, s, &async->cmd);
1798 if (async->cmd.flags & CMDF_BOGUS || ret) {
1800 *cmd = async->cmd;
1809 if (!async->prealloc_bufsz) {
1817 async->cb_mask = COMEDI_CB_BLOCK | COMEDI_CB_CANCEL_MASK;
1818 if (async->cmd.flags & CMDF_WAKE_EOS)
1819 async->cb_mask |= COMEDI_CB_EOS;
1983 if (!s->async)
2065 if (s_old && s_old->busy == file && s_old->async &&
2066 !(s_old->async->cmd.flags & CMDF_WRITE))
2108 if (s_old && s_old->busy == file && s_old->async &&
2109 (s_old->async->cmd.flags & CMDF_WRITE))
2326 struct comedi_async *async;
2359 async = s->async;
2360 if (!async) {
2372 if (size > async->prealloc_bufsz) {
2441 if (s && s->async) {
2442 poll_wait(file, &s->async->wait_head, wait);
2444 (s->async->cmd.flags & CMDF_WRITE) ||
2450 if (s && s->async) {
2454 poll_wait(file, &s->async->wait_head, wait);
2456 !(s->async->cmd.flags & CMDF_WRITE) ||
2470 struct comedi_async *async;
2493 if (!s || !s->async) {
2498 async = s->async;
2499 if (s->busy != file || !(async->cmd.flags & CMDF_WRITE)) {
2504 add_wait_queue(&async->wait_head, &wait);
2523 comedi_buf_write_alloc(s, async->prealloc_bufsz);
2538 !(async->cmd.flags & CMDF_WRITE)) {
2546 wp = async->buf_write_ptr;
2547 n1 = min(n, async->prealloc_bufsz - wp);
2549 m = copy_from_user(async->prealloc_buf + wp, buf, n1);
2553 m = copy_from_user(async->prealloc_buf, buf + n1, n2);
2565 remove_wait_queue(&async->wait_head, &wait);
2589 s == new_s && new_s->async == async && s->busy == file &&
2590 (async->cmd.flags & CMDF_WRITE) &&
2606 struct comedi_async *async;
2629 if (!s || !s->async) {
2634 async = s->async;
2635 if (s->busy != file || (async->cmd.flags & CMDF_WRITE)) {
2640 add_wait_queue(&async->wait_head, &wait);
2672 (async->cmd.flags & CMDF_WRITE)) {
2680 rp = async->buf_read_ptr;
2681 n1 = min(n, async->prealloc_bufsz - rp);
2683 m = copy_to_user(buf, async->prealloc_buf + rp, n1);
2687 m = copy_to_user(buf + n1, async->prealloc_buf, n2);
2701 remove_wait_queue(&async->wait_head, &wait);
2725 s == new_s && new_s->async == async && s->busy == file &&
2726 !(async->cmd.flags & CMDF_WRITE) &&
3203 struct comedi_async *async = s->async;
3210 events = async->events;
3211 async->events = 0;
3227 if (async->cb_mask & events) {
3228 wake_up_interruptible(&async->wait_head);
3229 si_code = async->cmd.flags & CMDF_WRITE ? POLL_OUT : POLL_IN;