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