Lines Matching full:ue
1482 struct user_element *ue = snd_kcontrol_chip(kcontrol);
1486 *uinfo = ue->info;
1495 struct user_element *ue = snd_kcontrol_chip(kcontrol);
1503 *uinfo = ue->info;
1509 names = ue->priv_data;
1520 struct user_element *ue = snd_kcontrol_chip(kcontrol);
1521 unsigned int size = ue->elem_data_size;
1522 char *src = ue->elem_data +
1533 struct user_element *ue = snd_kcontrol_chip(kcontrol);
1534 unsigned int size = ue->elem_data_size;
1535 char *dst = ue->elem_data +
1538 err = sanity_check_input_values(ue->card, ucontrol, &ue->info, false);
1552 struct user_element *ue = snd_kcontrol_chip(kctl);
1557 lockdep_assert_held_write(&ue->card->controls_rwsem);
1563 if (check_user_elem_overflow(ue->card, (ssize_t)(size - ue->tlv_data_size)))
1571 change = ue->tlv_data_size != size;
1573 change = memcmp(ue->tlv_data, container, size) != 0;
1577 if (ue->tlv_data == NULL) {
1583 ue->card->user_ctl_alloc_size -= ue->tlv_data_size;
1584 ue->tlv_data_size = 0;
1585 kvfree(ue->tlv_data);
1588 ue->tlv_data = no_free_ptr(container);
1589 ue->tlv_data_size = size;
1591 ue->card->user_ctl_alloc_size += size;
1595 snd_ctl_notify_one(ue->card, mask, kctl, i);
1603 struct user_element *ue = snd_kcontrol_chip(kctl);
1605 if (ue->tlv_data_size == 0 || ue->tlv_data == NULL)
1608 if (size < ue->tlv_data_size)
1611 if (copy_to_user(buf, ue->tlv_data, ue->tlv_data_size))
1627 static int snd_ctl_elem_init_enum_names(struct user_element *ue)
1631 const uintptr_t user_ptrval = ue->info.value.enumerated.names_ptr;
1633 lockdep_assert_held_write(&ue->card->controls_rwsem);
1635 buf_len = ue->info.value.enumerated.names_length;
1639 if (check_user_elem_overflow(ue->card, buf_len))
1650 for (i = 0; i < ue->info.value.enumerated.items; ++i) {
1662 ue->priv_data = no_free_ptr(names);
1663 ue->info.value.enumerated.names_ptr = 0;
1665 ue->card->user_ctl_alloc_size += ue->info.value.enumerated.names_length;
1677 struct user_element *ue = snd_kcontrol_chip(kcontrol);
1680 ue->card->user_ctl_alloc_size -= compute_user_elem_size(ue->elem_data_size, kcontrol->count);
1681 ue->card->user_ctl_alloc_size -= ue->tlv_data_size;
1682 if (ue->priv_data)
1683 ue->card->user_ctl_alloc_size -= ue->info.value.enumerated.names_length;
1685 kvfree(ue->tlv_data);
1686 kvfree(ue->priv_data);
1687 kfree(ue);
1699 struct user_element *ue;
1764 ue = kzalloc(alloc_size, GFP_KERNEL);
1765 if (!ue) {
1769 kctl->private_data = ue;
1776 ue->card = card;
1777 ue->info = *info;
1778 ue->info.access = 0;
1779 ue->elem_data = (char *)ue + sizeof(*ue);
1780 ue->elem_data_size = private_size;
1781 if (ue->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED) {
1782 err = snd_ctl_elem_init_enum_names(ue);