Lines Matching refs:ctrl
108 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value; in sigmadsp_ctrl_info() local
111 info->count = ctrl->num_bytes; in sigmadsp_ctrl_info()
117 struct sigmadsp_control *ctrl, void *data) in sigmadsp_ctrl_write() argument
120 if (ctrl->num_bytes > 4 && ctrl->num_bytes <= 20 && sigmadsp->ops && in sigmadsp_ctrl_write()
122 return sigmadsp->ops->safeload(sigmadsp, ctrl->addr, data, in sigmadsp_ctrl_write()
123 ctrl->num_bytes); in sigmadsp_ctrl_write()
125 return sigmadsp_write(sigmadsp, ctrl->addr, data, in sigmadsp_ctrl_write()
126 ctrl->num_bytes); in sigmadsp_ctrl_write()
132 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value; in sigmadsp_ctrl_put() local
142 ret = sigmadsp_ctrl_write(sigmadsp, ctrl, data); in sigmadsp_ctrl_put()
145 memcpy(ctrl->cache, data, ctrl->num_bytes); in sigmadsp_ctrl_put()
146 ctrl->cached = true; in sigmadsp_ctrl_put()
157 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value; in sigmadsp_ctrl_get() local
163 if (!ctrl->cached) { in sigmadsp_ctrl_get()
164 ret = sigmadsp_read(sigmadsp, ctrl->addr, ctrl->cache, in sigmadsp_ctrl_get()
165 ctrl->num_bytes); in sigmadsp_ctrl_get()
169 ctrl->cached = true; in sigmadsp_ctrl_get()
170 memcpy(ucontrol->value.bytes.data, ctrl->cache, in sigmadsp_ctrl_get()
171 ctrl->num_bytes); in sigmadsp_ctrl_get()
181 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value; in sigmadsp_control_free() local
183 ctrl->kcontrol = NULL; in sigmadsp_control_free()
203 struct sigmadsp_control *ctrl; in sigma_fw_load_control() local
223 ctrl = kzalloc(sizeof(*ctrl) + num_bytes, GFP_KERNEL); in sigma_fw_load_control()
224 if (!ctrl) in sigma_fw_load_control()
234 ctrl->name = name; in sigma_fw_load_control()
236 ctrl->addr = le16_to_cpu(ctrl_chunk->addr); in sigma_fw_load_control()
237 ctrl->num_bytes = num_bytes; in sigma_fw_load_control()
238 ctrl->samplerates = le32_to_cpu(chunk->samplerates); in sigma_fw_load_control()
240 list_add_tail(&ctrl->head, &sigmadsp->ctrl_list); in sigma_fw_load_control()
245 kfree(ctrl); in sigma_fw_load_control()
457 struct sigmadsp_control *ctrl, *_ctrl; in sigmadsp_firmware_release() local
460 list_for_each_entry_safe(ctrl, _ctrl, &sigmadsp->ctrl_list, head) { in sigmadsp_firmware_release()
461 kfree(ctrl->name); in sigmadsp_firmware_release()
462 kfree(ctrl); in sigmadsp_firmware_release()
632 struct sigmadsp_control *ctrl, unsigned int samplerate_mask) in sigmadsp_alloc_control() argument
639 template.name = ctrl->name; in sigmadsp_alloc_control()
643 template.private_value = (unsigned long)ctrl; in sigmadsp_alloc_control()
645 if (!sigmadsp_samplerate_valid(ctrl->samplerates, samplerate_mask)) in sigmadsp_alloc_control()
653 ctrl->kcontrol = kcontrol; in sigmadsp_alloc_control()
659 struct sigmadsp_control *ctrl, unsigned int samplerate_mask) in sigmadsp_activate_ctrl() argument
667 active = sigmadsp_samplerate_valid(ctrl->samplerates, samplerate_mask); in sigmadsp_activate_ctrl()
670 if (!ctrl->kcontrol) { in sigmadsp_activate_ctrl()
675 id = ctrl->kcontrol->id; in sigmadsp_activate_ctrl()
676 vd = &ctrl->kcontrol->vd[0]; in sigmadsp_activate_ctrl()
685 if (ctrl->cached) in sigmadsp_activate_ctrl()
686 sigmadsp_ctrl_write(sigmadsp, ctrl, ctrl->cache); in sigmadsp_activate_ctrl()
708 struct sigmadsp_control *ctrl; in sigmadsp_attach() local
717 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head) { in sigmadsp_attach()
718 ret = sigmadsp_alloc_control(sigmadsp, ctrl, samplerate_mask); in sigmadsp_attach()
740 struct sigmadsp_control *ctrl; in sigmadsp_setup() local
762 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head) in sigmadsp_setup()
763 sigmadsp_activate_ctrl(sigmadsp, ctrl, samplerate_mask); in sigmadsp_setup()
784 struct sigmadsp_control *ctrl; in sigmadsp_reset() local
786 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head) in sigmadsp_reset()
787 sigmadsp_activate_ctrl(sigmadsp, ctrl, false); in sigmadsp_reset()