Lines Matching refs:ctrl

107 	struct sigmadsp_control *ctrl = (void *)kcontrol->private_value;
110 info->count = ctrl->num_bytes;
116 struct sigmadsp_control *ctrl, void *data)
119 if (ctrl->num_bytes <= 20 && sigmadsp->ops && sigmadsp->ops->safeload)
120 return sigmadsp->ops->safeload(sigmadsp, ctrl->addr, data,
121 ctrl->num_bytes);
123 return sigmadsp_write(sigmadsp, ctrl->addr, data,
124 ctrl->num_bytes);
130 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value;
140 ret = sigmadsp_ctrl_write(sigmadsp, ctrl, data);
143 memcpy(ctrl->cache, data, ctrl->num_bytes);
144 ctrl->cached = true;
155 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value;
161 if (!ctrl->cached) {
162 ret = sigmadsp_read(sigmadsp, ctrl->addr, ctrl->cache,
163 ctrl->num_bytes);
167 ctrl->cached = true;
168 memcpy(ucontrol->value.bytes.data, ctrl->cache,
169 ctrl->num_bytes);
179 struct sigmadsp_control *ctrl = (void *)kcontrol->private_value;
181 ctrl->kcontrol = NULL;
201 struct sigmadsp_control *ctrl;
221 ctrl = kzalloc(sizeof(*ctrl) + num_bytes, GFP_KERNEL);
222 if (!ctrl)
232 ctrl->name = name;
234 ctrl->addr = le16_to_cpu(ctrl_chunk->addr);
235 ctrl->num_bytes = num_bytes;
236 ctrl->samplerates = le32_to_cpu(chunk->samplerates);
238 list_add_tail(&ctrl->head, &sigmadsp->ctrl_list);
243 kfree(ctrl);
455 struct sigmadsp_control *ctrl, *_ctrl;
458 list_for_each_entry_safe(ctrl, _ctrl, &sigmadsp->ctrl_list, head) {
459 kfree(ctrl->name);
460 kfree(ctrl);
630 struct sigmadsp_control *ctrl, unsigned int samplerate_mask)
637 template.name = ctrl->name;
641 template.private_value = (unsigned long)ctrl;
643 if (!sigmadsp_samplerate_valid(ctrl->samplerates, samplerate_mask))
651 ctrl->kcontrol = kcontrol;
657 struct sigmadsp_control *ctrl, unsigned int samplerate_mask)
665 active = sigmadsp_samplerate_valid(ctrl->samplerates, samplerate_mask);
668 if (!ctrl->kcontrol) {
673 id = ctrl->kcontrol->id;
674 vd = &ctrl->kcontrol->vd[0];
683 if (ctrl->cached)
684 sigmadsp_ctrl_write(sigmadsp, ctrl, ctrl->cache);
706 struct sigmadsp_control *ctrl;
715 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head) {
716 ret = sigmadsp_alloc_control(sigmadsp, ctrl, samplerate_mask);
738 struct sigmadsp_control *ctrl;
760 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head)
761 sigmadsp_activate_ctrl(sigmadsp, ctrl, samplerate_mask);
782 struct sigmadsp_control *ctrl;
784 list_for_each_entry(ctrl, &sigmadsp->ctrl_list, head)
785 sigmadsp_activate_ctrl(sigmadsp, ctrl, false);