Lines Matching full: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()
165 printk(KERN_DEBUG "-----Current Conf:\n"); 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()
214 printk(KERN_WARNING "%s: conf or dsp is 0.\n", __func__); in dsp_cmx_add_conf_member()
218 printk(KERN_WARNING "%s: dsp is already member in a conf.\n", in dsp_cmx_add_conf_member()
223 if (dsp->conf) { in dsp_cmx_add_conf_member()
224 printk(KERN_WARNING "%s: dsp is already in a conf.\n", 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()
265 printk(KERN_WARNING "%s: dsp is not in a conf.\n", in dsp_cmx_del_conf_member()
270 if (list_empty(&dsp->conf->mlist)) { in dsp_cmx_del_conf_member()
271 printk(KERN_WARNING "%s: dsp has linked an empty conf.\n", in dsp_cmx_del_conf_member()
276 /* find us in conf */ 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()
329 printk(KERN_WARNING "%s: conf is null.\n", in dsp_cmx_del_conf()
334 if (!list_empty(&conf->mlist)) { in dsp_cmx_del_conf()
335 printk(KERN_WARNING "%s: conf not empty.\n", in dsp_cmx_del_conf()
339 list_del(&conf->list); in dsp_cmx_del_conf()
340 kfree(conf); in dsp_cmx_del_conf()
368 * if only dsp instance is given, the instance is not associated with a conf
373 dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) in dsp_cmx_hardware() argument
383 /* dsp gets updated (no conf) */ in dsp_cmx_hardware()
384 if (!conf) { in dsp_cmx_hardware()
395 "%s removing %s from HFC conf %d " in dsp_cmx_hardware()
492 /* conf gets updated (all members) */ 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()
511 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
515 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
522 "conf %d because not " in dsp_cmx_hardware()
553 conf->hardware = 0; in dsp_cmx_hardware()
554 conf->software = 1; in dsp_cmx_hardware()
561 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
570 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
579 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
587 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
604 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
613 "conf, because encryption is enabled\n", in dsp_cmx_hardware()
621 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
630 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
657 "%s conf %d cannot form a HW conference, " 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()
683 "%s removing %s from HFC conf %d because " in dsp_cmx_hardware()
694 "%s removing %s from HFC conf %d because " 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()
997 /* assign free slot & set PCM & join conf */ 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
1063 /* first remove us from current conf */ in dsp_cmx_conf()
1067 dsp->conf->id); in dsp_cmx_conf()
1068 /* remove us from conf */ in dsp_cmx_conf()
1069 conf = dsp->conf; in dsp_cmx_conf()
1078 /* conf now empty? */ 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()
1087 /* update members left on conf */ in dsp_cmx_conf()
1088 dsp_cmx_hardware(conf, NULL); in dsp_cmx_conf()
1096 /* now add us to conf */ 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()
1141 /* update members on conf */ 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)
1331 "SEND members=%d dsp=%s, conf=%p, rx_R=%05x rx_W=%05x\n",
1332 members, dsp->name, conf, dsp->rx_R, dsp->rx_W);
1407 /* PROCESS DATA (one member / no conf) */
1408 if (!conf || members <= 1) {
1449 other = (list_entry(conf->mlist.next,
1452 other = (list_entry(conf->mlist.prev,
1507 * -> subtract rx-data from conf-data,
1518 /* conf-rx+tx */
1529 /* conf-rx */
1535 * -> encode conf-data, if tx-data
1545 /* conf(echo)+tx */
1556 /* conf(echo) */
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) {
1693 /* check for hdlc conf */
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) {
1919 /* no conf */
1920 if (!dsp->conf) {
1935 if (dsp->conf->hardware)
1937 list_for_each_entry(member, &dsp->conf->mlist, list) {