Lines Matching refs:subs
675 struct snd_seq_subscribers *subs; in __deliver_to_subscribers() local
699 list_for_each_entry(subs, &grp->list_head, src_list) { in __deliver_to_subscribers()
701 if (atomic_read(&subs->ref_count) != 2) in __deliver_to_subscribers()
703 event->dest = subs->info.dest; in __deliver_to_subscribers()
704 if (subs->info.flags & SNDRV_SEQ_PORT_SUBS_TIMESTAMP) in __deliver_to_subscribers()
706 update_timestamp_of_queue(event, subs->info.queue, in __deliver_to_subscribers()
707 subs->info.flags & SNDRV_SEQ_PORT_SUBS_TIME_REAL); in __deliver_to_subscribers()
1396 struct snd_seq_port_subscribe *subs) in check_subscription_permission() argument
1398 if (client->number != subs->sender.client && in check_subscription_permission()
1399 client->number != subs->dest.client) { in check_subscription_permission()
1411 if (client->number != subs->sender.client) { in check_subscription_permission()
1416 if (client->number != subs->dest.client) { in check_subscription_permission()
1448 struct snd_seq_port_subscribe *subs = arg; in snd_seq_ioctl_subscribe_port() local
1452 client_load_and_use_ptr(subs->dest.client); in snd_seq_ioctl_subscribe_port()
1456 client_load_and_use_ptr(subs->sender.client); in snd_seq_ioctl_subscribe_port()
1460 snd_seq_port_use_ptr(sender, subs->sender.port); in snd_seq_ioctl_subscribe_port()
1464 snd_seq_port_use_ptr(receiver, subs->dest.port); in snd_seq_ioctl_subscribe_port()
1468 result = check_subscription_permission(client, sport, dport, subs); in snd_seq_ioctl_subscribe_port()
1473 result = snd_seq_port_connect(client, sender, sport, receiver, dport, subs); in snd_seq_ioctl_subscribe_port()
1476 subs, SNDRV_SEQ_EVENT_PORT_SUBSCRIBED); in snd_seq_ioctl_subscribe_port()
1487 struct snd_seq_port_subscribe *subs = arg; in snd_seq_ioctl_unsubscribe_port() local
1491 snd_seq_client_use_ptr(subs->dest.client); in snd_seq_ioctl_unsubscribe_port()
1495 snd_seq_client_use_ptr(subs->sender.client); in snd_seq_ioctl_unsubscribe_port()
1499 snd_seq_port_use_ptr(sender, subs->sender.port); in snd_seq_ioctl_unsubscribe_port()
1503 snd_seq_port_use_ptr(receiver, subs->dest.port); in snd_seq_ioctl_unsubscribe_port()
1507 result = check_subscription_permission(client, sport, dport, subs); in snd_seq_ioctl_unsubscribe_port()
1511 result = snd_seq_port_disconnect(client, sender, sport, receiver, dport, subs); in snd_seq_ioctl_unsubscribe_port()
1514 subs, SNDRV_SEQ_EVENT_PORT_UNSUBSCRIBED); in snd_seq_ioctl_unsubscribe_port()
1892 struct snd_seq_port_subscribe *subs = arg; in snd_seq_ioctl_get_subscription() local
1895 client_load_and_use_ptr(subs->sender.client); in snd_seq_ioctl_get_subscription()
1899 snd_seq_port_use_ptr(sender, subs->sender.port); in snd_seq_ioctl_get_subscription()
1902 return snd_seq_port_get_subscription(&sport->c_src, &subs->dest, subs); in snd_seq_ioctl_get_subscription()
1911 struct snd_seq_query_subs *subs = arg; in snd_seq_ioctl_query_subs() local
1917 client_load_and_use_ptr(subs->root.client); in snd_seq_ioctl_query_subs()
1921 snd_seq_port_use_ptr(cptr, subs->root.port); in snd_seq_ioctl_query_subs()
1925 switch (subs->type) { in snd_seq_ioctl_query_subs()
1938 subs->num_subs = group->count; in snd_seq_ioctl_query_subs()
1941 if (i++ == subs->index) { in snd_seq_ioctl_query_subs()
1944 if (subs->type == SNDRV_SEQ_QUERY_SUBS_READ) { in snd_seq_ioctl_query_subs()
1946 subs->addr = s->info.dest; in snd_seq_ioctl_query_subs()
1949 subs->addr = s->info.sender; in snd_seq_ioctl_query_subs()
1951 subs->flags = s->info.flags; in snd_seq_ioctl_query_subs()
1952 subs->queue = s->info.queue; in snd_seq_ioctl_query_subs()