Lines Matching full:conf
161 struct dsp_conf *conf; in dsp_cmx_debug() local
170 if (odsp->conf) in dsp_cmx_debug()
171 printk(" (Conf %d)", odsp->conf->id); in dsp_cmx_debug()
176 printk(KERN_DEBUG "-----Current Conf:\n"); in dsp_cmx_debug()
177 list_for_each_entry(conf, &conf_ilist, list) { in dsp_cmx_debug()
178 printk(KERN_DEBUG "* Conf %d (%p)\n", conf->id, conf); in dsp_cmx_debug()
179 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_debug()
200 struct dsp_conf *conf; in dsp_cmx_search_conf() local
208 list_for_each_entry(conf, &conf_ilist, list) in dsp_cmx_search_conf()
209 if (conf->id == id) in dsp_cmx_search_conf()
210 return conf; in dsp_cmx_search_conf()
220 dsp_cmx_add_conf_member(struct dsp *dsp, struct dsp_conf *conf) in dsp_cmx_add_conf_member() argument
224 if (!conf || !dsp) { in dsp_cmx_add_conf_member()
225 printk(KERN_WARNING "%s: conf or dsp is 0.\n", __func__); in dsp_cmx_add_conf_member()
229 printk(KERN_WARNING "%s: dsp is already member in a conf.\n", in dsp_cmx_add_conf_member()
234 if (dsp->conf) { in dsp_cmx_add_conf_member()
235 printk(KERN_WARNING "%s: dsp is already in a conf.\n", in dsp_cmx_add_conf_member()
252 list_add_tail(&member->list, &conf->mlist); in dsp_cmx_add_conf_member()
254 dsp->conf = conf; in dsp_cmx_add_conf_member()
275 if (!dsp->conf) { in dsp_cmx_del_conf_member()
276 printk(KERN_WARNING "%s: dsp is not in a conf.\n", in dsp_cmx_del_conf_member()
281 if (list_empty(&dsp->conf->mlist)) { in dsp_cmx_del_conf_member()
282 printk(KERN_WARNING "%s: dsp has linked an empty conf.\n", in dsp_cmx_del_conf_member()
287 /* find us in conf */ in dsp_cmx_del_conf_member()
288 list_for_each_entry(member, &dsp->conf->mlist, list) { in dsp_cmx_del_conf_member()
291 dsp->conf = NULL; in dsp_cmx_del_conf_member()
311 struct dsp_conf *conf; in dsp_cmx_new_conf() local
319 conf = kzalloc(sizeof(struct dsp_conf), GFP_ATOMIC); in dsp_cmx_new_conf()
320 if (!conf) { in dsp_cmx_new_conf()
324 INIT_LIST_HEAD(&conf->mlist); in dsp_cmx_new_conf()
325 conf->id = id; in dsp_cmx_new_conf()
327 list_add_tail(&conf->list, &conf_ilist); in dsp_cmx_new_conf()
329 return conf; in dsp_cmx_new_conf()
337 dsp_cmx_del_conf(struct dsp_conf *conf) in dsp_cmx_del_conf() argument
339 if (!conf) { in dsp_cmx_del_conf()
340 printk(KERN_WARNING "%s: conf is null.\n", in dsp_cmx_del_conf()
345 if (!list_empty(&conf->mlist)) { in dsp_cmx_del_conf()
346 printk(KERN_WARNING "%s: conf not empty.\n", in dsp_cmx_del_conf()
350 list_del(&conf->list); in dsp_cmx_del_conf()
351 kfree(conf); in dsp_cmx_del_conf()
379 * if only dsp instance is given, the instance is not associated with a conf
384 dsp_cmx_hardware(struct dsp_conf *conf, struct dsp *dsp) in dsp_cmx_hardware() argument
394 /* dsp gets updated (no conf) */ in dsp_cmx_hardware()
395 if (!conf) { in dsp_cmx_hardware()
406 "%s removing %s from HFC conf %d " in dsp_cmx_hardware()
503 /* conf gets updated (all members) */ in dsp_cmx_hardware()
506 __func__, conf->id); in dsp_cmx_hardware()
508 if (list_empty(&conf->mlist)) { in dsp_cmx_hardware()
513 member = list_entry(conf->mlist.next, struct dsp_conf_member, list); in dsp_cmx_hardware()
517 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
522 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
526 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
533 "conf %d because not " in dsp_cmx_hardware()
564 conf->hardware = 0; in dsp_cmx_hardware()
565 conf->software = 1; in dsp_cmx_hardware()
572 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
581 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
590 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
598 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
615 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
624 "conf, because encryption is enabled\n", in dsp_cmx_hardware()
632 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
641 "%s dsp %s cannot form a conf, because " in dsp_cmx_hardware()
668 "%s conf %d cannot form a HW conference, " in dsp_cmx_hardware()
669 "because dsp is alone\n", __func__, conf->id); in dsp_cmx_hardware()
670 conf->hardware = 0; in dsp_cmx_hardware()
671 conf->software = 0; in dsp_cmx_hardware()
672 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_hardware()
686 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_hardware()
694 "%s removing %s from HFC conf %d because " in dsp_cmx_hardware()
705 "%s removing %s from HFC conf %d because " in dsp_cmx_hardware()
745 conf->hardware = 1; in dsp_cmx_hardware()
746 conf->software = tx_data; in dsp_cmx_hardware()
807 conf->hardware = 1; in dsp_cmx_hardware()
808 conf->software = tx_data; in dsp_cmx_hardware()
837 conf->hardware = 1; in dsp_cmx_hardware()
838 conf->software = tx_data; in dsp_cmx_hardware()
917 conf->hardware = 1; in dsp_cmx_hardware()
918 conf->software = tx_data; in dsp_cmx_hardware()
935 __func__, conf->id); in dsp_cmx_hardware()
943 conf->hardware = 1; in dsp_cmx_hardware()
944 conf->software = tx_data; in dsp_cmx_hardware()
953 list_for_each_entry(member, &conf->mlist, list) { in dsp_cmx_hardware()
1000 __func__, conf->id); in dsp_cmx_hardware()
1008 /* assign free slot & set PCM & join conf */ in dsp_cmx_hardware()
1019 conf->hardware = 1; in dsp_cmx_hardware()
1020 conf->software = tx_data; in dsp_cmx_hardware()
1050 __func__, conf->id); in dsp_cmx_hardware()
1067 struct dsp_conf *conf; in dsp_cmx_conf() local
1074 /* first remove us from current conf */ in dsp_cmx_conf()
1078 dsp->conf->id); in dsp_cmx_conf()
1079 /* remove us from conf */ in dsp_cmx_conf()
1080 conf = dsp->conf; in dsp_cmx_conf()
1089 /* conf now empty? */ in dsp_cmx_conf()
1090 if (list_empty(&conf->mlist)) { in dsp_cmx_conf()
1094 err = dsp_cmx_del_conf(conf); in dsp_cmx_conf()
1098 /* update members left on conf */ in dsp_cmx_conf()
1099 dsp_cmx_hardware(conf, NULL); in dsp_cmx_conf()
1107 /* now add us to conf */ in dsp_cmx_conf()
1111 conf = dsp_cmx_search_conf(conf_id); in dsp_cmx_conf()
1112 if (!conf) { in dsp_cmx_conf()
1117 conf = dsp_cmx_new_conf(conf_id); in dsp_cmx_conf()
1118 if (!conf) in dsp_cmx_conf()
1120 } else if (!list_empty(&conf->mlist)) { in dsp_cmx_conf()
1121 member = list_entry(conf->mlist.next, struct dsp_conf_member, in dsp_cmx_conf()
1137 err = dsp_cmx_add_conf_member(dsp, conf); in dsp_cmx_conf()
1143 if (list_empty(&conf->mlist)) { in dsp_cmx_conf()
1152 /* update members on conf */ in dsp_cmx_conf()
1153 dsp_cmx_hardware(conf, NULL); in dsp_cmx_conf()
1311 struct dsp_conf *conf = dsp->conf; local
1326 if (((dsp->conf && dsp->conf->hardware) || /* hardware conf */
1334 if (dsp->conf && dsp->conf->software && dsp->conf->hardware)
1342 "SEND members=%d dsp=%s, conf=%p, rx_R=%05x rx_W=%05x\n",
1343 members, dsp->name, conf, dsp->rx_R, dsp->rx_W);
1418 /* PROCESS DATA (one member / no conf) */
1419 if (!conf || members <= 1) {
1460 other = (list_entry(conf->mlist.next,
1463 other = (list_entry(conf->mlist.prev,
1518 * -> subtract rx-data from conf-data,
1529 /* conf-rx+tx */
1540 /* conf-rx */
1546 * -> encode conf-data, if tx-data
1556 /* conf(echo)+tx */
1567 /* conf(echo) */
1630 struct dsp_conf *conf; local
1671 conf = dsp->conf;
1674 if (conf) {
1675 members = count_list_member(&conf->mlist);
1677 if (conf->software && members > 1)
1679 if (conf->software && members > 2)
1696 list_for_each_entry(conf, &conf_ilist, list) {
1698 members = count_list_member(&conf->mlist);
1700 if (conf->software && members > 1) {
1702 if (conf->software && members > 2) {
1704 /* check for hdlc conf */
1705 member = list_entry(conf->mlist.next,
1711 list_for_each_entry(member, &conf->mlist, list) {
1726 list_for_each_entry(member, &conf->mlist, list) {
1930 /* no conf */
1931 if (!dsp->conf) {
1946 if (dsp->conf->hardware)
1948 list_for_each_entry(member, &dsp->conf->mlist, list) {