Lines Matching refs:conf

150 	struct dsp_conf	*conf;  in dsp_cmx_debug()  local
159 if (odsp->conf) in dsp_cmx_debug()
160 printk(" (Conf %d)", odsp->conf->id); in dsp_cmx_debug()
166 list_for_each_entry(conf, &conf_ilist, list) { in dsp_cmx_debug()
167 printk(KERN_DEBUG "* Conf %d (%p)\n", conf->id, conf); in dsp_cmx_debug()
168 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_debug()
189 struct dsp_conf *conf; in dsp_cmx_search_conf() local
197 list_for_each_entry(conf, &conf_ilist, list) in dsp_cmx_search_conf()
198 if (conf->id == id) in dsp_cmx_search_conf()
199 return conf; in dsp_cmx_search_conf()
209 dsp_cmx_add_conf_member(struct dsp *dsp, struct dsp_conf *conf) in dsp_cmx_add_conf_member() argument
213 if (!conf || !dsp) { in dsp_cmx_add_conf_member()
223 if (dsp->conf) { in dsp_cmx_add_conf_member()
241 list_add_tail(&member->list, &conf->mlist); in dsp_cmx_add_conf_member()
243 dsp->conf = conf; in dsp_cmx_add_conf_member()
264 if (!dsp->conf) { in dsp_cmx_del_conf_member()
270 if (list_empty(&dsp->conf->mlist)) { in dsp_cmx_del_conf_member()
277 list_for_each_entry(member, &dsp->conf->mlist, list) { in dsp_cmx_del_conf_member()
280 dsp->conf = NULL; in dsp_cmx_del_conf_member()
300 struct dsp_conf *conf; in dsp_cmx_new_conf() local
308 conf = kzalloc(sizeof(struct dsp_conf), GFP_ATOMIC); in dsp_cmx_new_conf()
309 if (!conf) { in dsp_cmx_new_conf()
313 INIT_LIST_HEAD(&conf->mlist); in dsp_cmx_new_conf()
314 conf->id = id; in dsp_cmx_new_conf()
316 list_add_tail(&conf->list, &conf_ilist); in dsp_cmx_new_conf()
318 return conf; in dsp_cmx_new_conf()
326 dsp_cmx_del_conf(struct dsp_conf *conf) in dsp_cmx_del_conf() argument
328 if (!conf) { in dsp_cmx_del_conf()
334 if (!list_empty(&conf->mlist)) { in dsp_cmx_del_conf()
339 list_del(&conf->list); in dsp_cmx_del_conf()
340 kfree(conf); in dsp_cmx_del_conf()
373 dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) in dsp_cmx_hardware() argument
384 if (!conf) { in dsp_cmx_hardware()
495 __func__, conf->id); in dsp_cmx_hardware()
497 if (list_empty(&conf->mlist)) { in dsp_cmx_hardware()
502 member = list_entry(conf->mlist.next, struct dsp_conf_member, list); in dsp_cmx_hardware()
506 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
515 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
553 conf->hardware = 0; in dsp_cmx_hardware()
554 conf->software = 1; in dsp_cmx_hardware()
658 "because dsp is alone\n", __func__, conf->id); in dsp_cmx_hardware()
659 conf->hardware = 0; in dsp_cmx_hardware()
660 conf->software = 0; in dsp_cmx_hardware()
661 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_hardware()
675 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_hardware()
734 conf->hardware = 1; in dsp_cmx_hardware()
735 conf->software = tx_data; in dsp_cmx_hardware()
796 conf->hardware = 1; in dsp_cmx_hardware()
797 conf->software = tx_data; in dsp_cmx_hardware()
826 conf->hardware = 1; in dsp_cmx_hardware()
827 conf->software = tx_data; in dsp_cmx_hardware()
906 conf->hardware = 1; in dsp_cmx_hardware()
907 conf->software = tx_data; in dsp_cmx_hardware()
924 __func__, conf->id); in dsp_cmx_hardware()
932 conf->hardware = 1; in dsp_cmx_hardware()
933 conf->software = tx_data; in dsp_cmx_hardware()
942 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
989 __func__, conf->id); in dsp_cmx_hardware()
1008 conf->hardware = 1; in dsp_cmx_hardware()
1009 conf->software = tx_data; in dsp_cmx_hardware()
1039 __func__, conf->id); in dsp_cmx_hardware()
1056 struct dsp_conf *conf; in dsp_cmx_conf() local
1067 dsp->conf->id); in dsp_cmx_conf()
1069 conf = dsp->conf; in dsp_cmx_conf()
1079 if (list_empty(&conf->mlist)) { in dsp_cmx_conf()
1083 err = dsp_cmx_del_conf(conf); in dsp_cmx_conf()
1088 dsp_cmx_hardware(conf, NULL); in dsp_cmx_conf()
1100 conf = dsp_cmx_search_conf(conf_id); in dsp_cmx_conf()
1101 if (!conf) { in dsp_cmx_conf()
1106 conf = dsp_cmx_new_conf(conf_id); in dsp_cmx_conf()
1107 if (!conf) in dsp_cmx_conf()
1109 } else if (!list_empty(&conf->mlist)) { in dsp_cmx_conf()
1110 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_conf()
1126 err = dsp_cmx_add_conf_member(dsp, conf); in dsp_cmx_conf()
1132 if (list_empty(&conf->mlist)) { in dsp_cmx_conf()
1142 dsp_cmx_hardware(conf, NULL); in dsp_cmx_conf()
1300 struct dsp_conf *conf = dsp->conf; local
1315 if (((dsp->conf && dsp->conf->hardware) || /* hardware conf */
1323 if (dsp->conf && dsp->conf->software && dsp->conf->hardware)
1332 members, dsp->name, conf, dsp->rx_R, dsp->rx_W);
1408 if (!conf || members <= 1) {
1449 other = (list_entry(conf->mlist.next,
1452 other = (list_entry(conf->mlist.prev,
1619 struct dsp_conf *conf; local
1660 conf = dsp->conf;
1663 if (conf) {
1664 members = list_count_nodes(&conf->mlist);
1666 if (conf->software && members > 1)
1668 if (conf->software && members > 2)
1685 list_for_each_entry(conf, &conf_ilist, list) {
1687 members = list_count_nodes(&conf->mlist);
1689 if (conf->software && members > 1) {
1691 if (conf->software && members > 2) {
1694 member = list_entry(conf->mlist.next,
1700 list_for_each_entry(member, &conf->mlist, list) {
1715 list_for_each_entry(member, &conf->mlist, list) {
1920 if (!dsp->conf) {
1935 if (dsp->conf->hardware)
1937 list_for_each_entry(member, &dsp->conf->mlist, list) {