Lines Matching full:ue
1237 struct user_element *ue = kcontrol->private_data; in snd_ctl_elem_user_info() local
1241 *uinfo = ue->info; in snd_ctl_elem_user_info()
1250 struct user_element *ue = kcontrol->private_data; in snd_ctl_elem_user_enum_info() local
1258 *uinfo = ue->info; in snd_ctl_elem_user_enum_info()
1264 names = ue->priv_data; in snd_ctl_elem_user_enum_info()
1275 struct user_element *ue = kcontrol->private_data; in snd_ctl_elem_user_get() local
1276 unsigned int size = ue->elem_data_size; in snd_ctl_elem_user_get()
1277 char *src = ue->elem_data + in snd_ctl_elem_user_get()
1288 struct user_element *ue = kcontrol->private_data; in snd_ctl_elem_user_put() local
1289 unsigned int size = ue->elem_data_size; in snd_ctl_elem_user_put()
1290 char *dst = ue->elem_data + in snd_ctl_elem_user_put()
1302 struct user_element *ue = kctl->private_data; in replace_user_tlv() local
1316 change = ue->tlv_data_size != size; in replace_user_tlv()
1318 change = memcmp(ue->tlv_data, container, size) != 0; in replace_user_tlv()
1324 if (ue->tlv_data == NULL) { in replace_user_tlv()
1331 kvfree(ue->tlv_data); in replace_user_tlv()
1332 ue->tlv_data = container; in replace_user_tlv()
1333 ue->tlv_data_size = size; in replace_user_tlv()
1338 snd_ctl_notify(ue->card, mask, &id); in replace_user_tlv()
1347 struct user_element *ue = kctl->private_data; in read_user_tlv() local
1349 if (ue->tlv_data_size == 0 || ue->tlv_data == NULL) in read_user_tlv()
1352 if (size < ue->tlv_data_size) in read_user_tlv()
1355 if (copy_to_user(buf, ue->tlv_data, ue->tlv_data_size)) in read_user_tlv()
1370 static int snd_ctl_elem_init_enum_names(struct user_element *ue) in snd_ctl_elem_init_enum_names() argument
1375 const uintptr_t user_ptrval = ue->info.value.enumerated.names_ptr; in snd_ctl_elem_init_enum_names()
1377 if (ue->info.value.enumerated.names_length > 64 * 1024) in snd_ctl_elem_init_enum_names()
1381 ue->info.value.enumerated.names_length); in snd_ctl_elem_init_enum_names()
1386 buf_len = ue->info.value.enumerated.names_length; in snd_ctl_elem_init_enum_names()
1388 for (i = 0; i < ue->info.value.enumerated.items; ++i) { in snd_ctl_elem_init_enum_names()
1398 ue->priv_data = names; in snd_ctl_elem_init_enum_names()
1399 ue->info.value.enumerated.names_ptr = 0; in snd_ctl_elem_init_enum_names()
1406 struct user_element *ue = kcontrol->private_data; in snd_ctl_elem_user_free() local
1408 kvfree(ue->tlv_data); in snd_ctl_elem_user_free()
1409 kvfree(ue->priv_data); in snd_ctl_elem_user_free()
1410 kfree(ue); in snd_ctl_elem_user_free()
1421 struct user_element *ue; in snd_ctl_elem_add() local
1495 ue = (struct user_element *)kctl->private_data; in snd_ctl_elem_add()
1496 ue->card = card; in snd_ctl_elem_add()
1497 ue->info = *info; in snd_ctl_elem_add()
1498 ue->info.access = 0; in snd_ctl_elem_add()
1499 ue->elem_data = (char *)ue + sizeof(*ue); in snd_ctl_elem_add()
1500 ue->elem_data_size = private_size; in snd_ctl_elem_add()
1501 if (ue->info.type == SNDRV_CTL_ELEM_TYPE_ENUMERATED) { in snd_ctl_elem_add()
1502 err = snd_ctl_elem_init_enum_names(ue); in snd_ctl_elem_add()