• Home
  • Raw
  • Download

Lines Matching refs:zatm_vcc

322    struct zatm_vcc *zatm_vcc = ZATM_VCC(vcc);
329 zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+i));
332 zpeekl(zatm_dev,uPD98401_IM(zatm_vcc->shaper)+16*i));
333 qrp = (unsigned long *) zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+
478 refill_pool(dev,zatm_vcc->pool); in poll_rx()
487 struct zatm_vcc *zatm_vcc; in open_rx_first() local
494 zatm_vcc = ZATM_VCC(vcc); in open_rx_first()
495 zatm_vcc->rx_chan = 0; in open_rx_first()
504 zatm_vcc->pool = pool_index(cells*ATM_CELL_PAYLOAD); in open_rx_first()
508 zatm_vcc->pool = ZATM_AAL0_POOL; in open_rx_first()
510 if (zatm_vcc->pool < 0) return -EMSGSIZE; in open_rx_first()
520 use_pool(vcc->dev,zatm_vcc->pool); in open_rx_first()
521 DPRINTK("pool %d\n",zatm_vcc->pool); in open_rx_first()
524 zpokel(zatm_dev,zatm_vcc->pool << uPD98401_RXVC_POOL_SHIFT, in open_rx_first()
529 zatm_vcc->rx_chan = chan; in open_rx_first()
539 struct zatm_vcc *zatm_vcc; in open_rx_second() local
545 zatm_vcc = ZATM_VCC(vcc); in open_rx_second()
546 if (!zatm_vcc->rx_chan) return 0; in open_rx_second()
552 ((zatm_vcc->rx_chan | uPD98401_RXLT_ENBL) << shift),pos); in open_rx_second()
561 struct zatm_vcc *zatm_vcc; in close_rx() local
565 zatm_vcc = ZATM_VCC(vcc); in close_rx()
567 if (!zatm_vcc->rx_chan) return; in close_rx()
583 zout(uPD98401_DEACT_CHAN | uPD98401_CHAN_RT | (zatm_vcc->rx_chan << in close_rx()
587 zout(uPD98401_CLOSE_CHAN | uPD98401_CHAN_RT | (zatm_vcc->rx_chan << in close_rx()
592 "%d\n",vcc->dev->number,zatm_vcc->rx_chan); in close_rx()
594 zatm_dev->rx_map[zatm_vcc->rx_chan] = NULL; in close_rx()
595 zatm_vcc->rx_chan = 0; in close_rx()
596 unuse_pool(vcc->dev,zatm_vcc->pool); in close_rx()
636 struct zatm_vcc *zatm_vcc; in do_tx() local
644 zatm_vcc = ZATM_VCC(vcc); in do_tx()
648 if (zatm_vcc->txing == RING_ENTRIES-1) { in do_tx()
652 zatm_vcc->txing++; in do_tx()
653 dsc = zatm_vcc->ring+zatm_vcc->ring_curr; in do_tx()
654 zatm_vcc->ring_curr = (zatm_vcc->ring_curr+RING_WORDS) & in do_tx()
700 skb_queue_tail(&zatm_vcc->tx_queue,skb); in do_tx()
701 DPRINTK("QRP=0x%08lx\n",zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+ in do_tx()
704 zout(uPD98401_TX_READY | (zatm_vcc->tx_chan << in do_tx()
714 struct zatm_vcc *zatm_vcc; in dequeue_tx() local
718 zatm_vcc = ZATM_VCC(vcc); in dequeue_tx()
719 skb = skb_dequeue(&zatm_vcc->tx_queue); in dequeue_tx()
731 zatm_vcc->txing--; in dequeue_tx()
734 while ((skb = skb_dequeue(&zatm_vcc->backlog))) in dequeue_tx()
736 skb_queue_head(&zatm_vcc->backlog,skb); in dequeue_tx()
740 wake_up(&zatm_vcc->tx_wait); in dequeue_tx()
874 struct zatm_vcc *zatm_vcc; in close_tx() local
878 zatm_vcc = ZATM_VCC(vcc); in close_tx()
880 chan = zatm_vcc->tx_chan; in close_tx()
883 if (skb_peek(&zatm_vcc->backlog)) { in close_tx()
886 wait_event(zatm_vcc->tx_wait, !skb_peek(&zatm_vcc->backlog)); in close_tx()
888 if (skb_peek(&zatm_vcc->tx_queue)) { in close_tx()
891 wait_event(zatm_vcc->tx_wait, !skb_peek(&zatm_vcc->tx_queue)); in close_tx()
905 zatm_vcc->tx_chan = 0; in close_tx()
907 if (zatm_vcc->shaper != zatm_dev->ubr) { in close_tx()
909 dealloc_shaper(vcc->dev,zatm_vcc->shaper); in close_tx()
911 kfree(zatm_vcc->ring); in close_tx()
918 struct zatm_vcc *zatm_vcc; in open_tx_first() local
926 zatm_vcc = ZATM_VCC(vcc); in open_tx_first()
927 zatm_vcc->tx_chan = 0; in open_tx_first()
941 if (unlimited && zatm_dev->ubr != -1) zatm_vcc->shaper = zatm_dev->ubr; in open_tx_first()
946 if ((zatm_vcc->shaper = alloc_shaper(vcc->dev,&pcr, in open_tx_first()
950 return zatm_vcc->shaper; in open_tx_first()
955 zatm_vcc->tx_chan = chan; in open_tx_first()
956 skb_queue_head_init(&zatm_vcc->tx_queue); in open_tx_first()
957 init_waitqueue_head(&zatm_vcc->tx_wait); in open_tx_first()
959 zatm_vcc->ring = kzalloc(RING_SIZE,GFP_KERNEL); in open_tx_first()
960 if (!zatm_vcc->ring) return -ENOMEM; in open_tx_first()
961 loop = zatm_vcc->ring+RING_ENTRIES*RING_WORDS; in open_tx_first()
964 loop[3] = virt_to_bus(zatm_vcc->ring); in open_tx_first()
965 zatm_vcc->ring_curr = 0; in open_tx_first()
966 zatm_vcc->txing = 0; in open_tx_first()
967 skb_queue_head_init(&zatm_vcc->backlog); in open_tx_first()
968 zpokel(zatm_dev,virt_to_bus(zatm_vcc->ring), in open_tx_first()
977 struct zatm_vcc *zatm_vcc; in open_tx_second() local
982 zatm_vcc = ZATM_VCC(vcc); in open_tx_second()
983 if (!zatm_vcc->tx_chan) return 0; in open_tx_second()
986 zpokel(zatm_dev,0,zatm_vcc->tx_chan*VC_SIZE/4); in open_tx_second()
987 zpokel(zatm_dev,uPD98401_TXVC_L | (zatm_vcc->shaper << in open_tx_second()
989 vcc->vci,zatm_vcc->tx_chan*VC_SIZE/4+1); in open_tx_second()
990 zpokel(zatm_dev,0,zatm_vcc->tx_chan*VC_SIZE/4+2); in open_tx_second()
992 zatm_dev->tx_map[zatm_vcc->tx_chan] = vcc; in open_tx_second()
1389 struct zatm_vcc *zatm_vcc; in zatm_open() local
1403 zatm_vcc = kmalloc(sizeof(*zatm_vcc), GFP_KERNEL); in zatm_open()
1404 if (!zatm_vcc) { in zatm_open()
1408 vcc->dev_data = zatm_vcc; in zatm_open()