• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/mISDN/

Lines Matching refs:member

32  * There are 3 types of interaction: One member is alone, in this case only
54 * individual member. This is only the case if data needs to be dejittered
87 * If a member joins a conference:
89 * - If a member joins, its rx_buff is set to silence and change read pointer
109 * If tones are generated by hardware, this conference member is removed for
162 struct dsp_conf_member *member;
179 list_for_each_entry(member, &conf->mlist, list) {
181 " - member = %s (slot_tx %d, bank_tx %d, "
184 member->dsp->name, member->dsp->pcm_slot_tx,
185 member->dsp->pcm_bank_tx, member->dsp->pcm_slot_rx,
186 member->dsp->pcm_bank_rx, member->dsp->hfc_conf,
187 member->dsp->tx_data, member->dsp->rx_is_off,
188 (member->dsp == dsp) ? " *this*" : "");
217 * add member to conference
222 struct dsp_conf_member *member;
228 if (dsp->member) {
229 printk(KERN_WARNING "%s: dsp is already member in a conf.\n",
240 member = kzalloc(sizeof(struct dsp_conf_member), GFP_ATOMIC);
241 if (!member) {
245 member->dsp = dsp;
252 list_add_tail(&member->list, &conf->mlist);
255 dsp->member = member;
262 * del member from conference
267 struct dsp_conf_member *member;
288 list_for_each_entry(member, &dsp->conf->mlist, list) {
289 if (member->dsp == dsp) {
290 list_del(&member->list);
292 dsp->member = NULL;
293 kfree(member);
381 * be member of that conference.
386 struct dsp_conf_member *member, *nextm;
513 member = list_entry(conf->mlist.next, struct dsp_conf_member, list);
514 same_hfc = member->dsp->features.hfc_id;
515 same_pcm = member->dsp->features.pcm_id;
517 list_for_each_entry(member, &conf->mlist, list) {
518 /* check if member uses mixing */
519 if (member->dsp->tx_mix) {
524 member->dsp->name);
526 list_for_each_entry(member, &conf->mlist, list) {
527 dsp = member->dsp;
568 /* check if member has echo turned on */
569 if (member->dsp->echo.hardware || member->dsp->echo.software) {
574 member->dsp->name);
577 /* check if member has tx_mix turned on */
578 if (member->dsp->tx_mix) {
583 __func__, member->dsp->name);
586 /* check if member changes volume at an not suppoted level */
587 if (member->dsp->tx_volume) {
592 __func__, member->dsp->name);
595 if (member->dsp->rx_volume) {
600 __func__, member->dsp->name);
604 if (member->dsp->tx_data) {
608 __func__, member->dsp->name);
612 if (member->dsp->pipeline.inuse) {
617 member->dsp->name);
621 if (member->dsp->bf_enable) {
625 __func__, member->dsp->name);
628 /* check if member is on a card with PCM support */
629 if (member->dsp->features.pcm_id < 0) {
634 __func__, member->dsp->name);
638 if (member->dsp->features.pcm_id != same_pcm) {
644 __func__, member->dsp->name);
648 if (same_hfc != member->dsp->features.hfc_id)
651 if (current_conf < 0 && member->dsp->hfc_conf >= 0)
652 current_conf = member->dsp->hfc_conf;
653 /* if any member is not in a conference */
654 if (member->dsp->hfc_conf < 0)
660 /* if no member, this is an error */
664 /* one member */
672 member = list_entry(conf->mlist.next, struct dsp_conf_member,
674 dsp = member->dsp;
686 member = list_entry(conf->mlist.next, struct dsp_conf_member,
688 nextm = list_entry(member->list.next, struct dsp_conf_member,
691 if (member->dsp->hfc_conf >= 0) {
696 __func__, member->dsp->name,
697 member->dsp->hfc_conf);
698 dsp_cmx_hw_message(member->dsp,
700 member->dsp->hfc_conf = -1;
714 if (member->dsp->features.pcm_banks > 1 &&
716 member->dsp->features.hfc_id !=
719 if (member->dsp->pcm_slot_tx >= 0 &&
720 member->dsp->pcm_slot_rx >= 0 &&
724 member->dsp->pcm_slot_rx &&
726 member->dsp->pcm_slot_tx &&
728 member->dsp->pcm_slot_tx &&
729 member->dsp->pcm_bank_tx !=
730 member->dsp->pcm_bank_rx &&
740 member->dsp->name,
742 member->dsp->pcm_slot_tx,
743 member->dsp->pcm_bank_tx,
744 member->dsp->pcm_bank_rx);
752 if (dsp != member->dsp &&
754 member->dsp->features.pcm_id ==
767 ii = member->dsp->features.pcm_slots;
778 member->dsp->name,
784 member->dsp->pcm_slot_tx = i;
785 member->dsp->pcm_slot_rx = i;
788 member->dsp->pcm_bank_rx = 0;
789 member->dsp->pcm_bank_tx = 1;
798 member->dsp->name,
800 member->dsp->pcm_slot_tx);
801 dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN,
802 member->dsp->pcm_slot_tx, member->dsp->pcm_bank_tx,
803 member->dsp->pcm_slot_rx, member->dsp->pcm_bank_rx);
813 if (member->dsp->pcm_slot_tx >= 0 &&
814 member->dsp->pcm_slot_rx >= 0 &&
818 member->dsp->pcm_slot_rx &&
820 member->dsp->pcm_slot_tx &&
821 member->dsp->pcm_slot_tx !=
822 member->dsp->pcm_slot_rx &&
823 member->dsp->pcm_bank_tx == 0 &&
824 member->dsp->pcm_bank_rx == 0 &&
833 member->dsp->name,
835 member->dsp->pcm_slot_tx,
836 member->dsp->pcm_slot_rx);
844 if (dsp != member->dsp &&
846 member->dsp->features.pcm_id ==
859 ii = member->dsp->features.pcm_slots;
870 member->dsp->name,
887 member->dsp->name,
893 member->dsp->pcm_slot_tx = i1;
894 member->dsp->pcm_slot_rx = i2;
897 member->dsp->pcm_bank_rx = 0;
898 member->dsp->pcm_bank_tx = 0;
907 member->dsp->name,
909 member->dsp->pcm_slot_tx,
910 member->dsp->pcm_slot_rx);
911 dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN,
912 member->dsp->pcm_slot_tx, member->dsp->pcm_bank_tx,
913 member->dsp->pcm_slot_rx, member->dsp->pcm_bank_rx);
950 list_for_each_entry(member, &conf->mlist, list) {
953 if (!member->dsp->features.hfc_conf)
956 if (member->dsp->hdlc)
959 if (member->dsp->hfc_conf == current_conf)
965 * not checking current member, because
969 dsp != member->dsp &&
971 member->dsp->features.pcm_id ==
985 ii = member->dsp->features.pcm_slots;
1004 member->dsp->name, current_conf, i);
1006 member->dsp->pcm_slot_tx = i;
1007 member->dsp->pcm_slot_rx = i;
1008 member->dsp->pcm_bank_tx = 2; /* loop */
1009 member->dsp->pcm_bank_rx = 2;
1010 member->dsp->hfc_conf = current_conf;
1011 dsp_cmx_hw_message(member->dsp, MISDN_CTRL_HFC_PCM_CONN,
1013 dsp_cmx_hw_message(member->dsp,
1020 * no member is in a conference yet, so we find a free one
1063 struct dsp_conf_member *member;
1116 member = list_entry(conf->mlist.next, struct dsp_conf_member,
1118 if (dsp->hdlc && !member->dsp->hdlc) {
1124 if (!dsp->hdlc && member->dsp->hdlc) {
1131 /* add conference member */
1306 struct dsp *member, *other;
1361 member = dsp;
1412 /* PROCESS DATA (one member / no conf) */
1456 if (other == member)
1467 * -> copy other member's rx-data,
1482 * -> mix other member's rx-data with echo,
1629 struct dsp_conf_member *member;
1703 member = list_entry(conf->mlist.next,
1705 if (member->dsp->hdlc)
1709 list_for_each_entry(member, &conf->mlist, list) {
1710 dsp = member->dsp;
1716 /* add member's data */
1723 /* process each member */
1724 list_for_each_entry(member, &conf->mlist, list) {
1726 dsp_cmx_send_member(member->dsp, length,
1918 struct dsp_conf_member *member;
1947 list_for_each_entry(member, &dsp->conf->mlist, list) {
1948 if (dsp->echo.software || member->dsp != dsp) {
1954 skb_queue_tail(&member->dsp->sendq, nskb);
1955 schedule_work(&member->dsp->workq);