Lines Matching refs:zatm_vcc

320    struct zatm_vcc *zatm_vcc = ZATM_VCC(vcc);
327 zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+i));
330 zpeekl(zatm_dev,uPD98401_IM(zatm_vcc->shaper)+16*i));
331 qrp = (unsigned long *) zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+
476 refill_pool(dev,zatm_vcc->pool); in poll_rx()
485 struct zatm_vcc *zatm_vcc; in open_rx_first() local
492 zatm_vcc = ZATM_VCC(vcc); in open_rx_first()
493 zatm_vcc->rx_chan = 0; in open_rx_first()
502 zatm_vcc->pool = pool_index(cells*ATM_CELL_PAYLOAD); in open_rx_first()
506 zatm_vcc->pool = ZATM_AAL0_POOL; in open_rx_first()
508 if (zatm_vcc->pool < 0) return -EMSGSIZE; in open_rx_first()
518 use_pool(vcc->dev,zatm_vcc->pool); in open_rx_first()
519 DPRINTK("pool %d\n",zatm_vcc->pool); in open_rx_first()
522 zpokel(zatm_dev,zatm_vcc->pool << uPD98401_RXVC_POOL_SHIFT, in open_rx_first()
527 zatm_vcc->rx_chan = chan; in open_rx_first()
537 struct zatm_vcc *zatm_vcc; in open_rx_second() local
543 zatm_vcc = ZATM_VCC(vcc); in open_rx_second()
544 if (!zatm_vcc->rx_chan) return 0; in open_rx_second()
550 ((zatm_vcc->rx_chan | uPD98401_RXLT_ENBL) << shift),pos); in open_rx_second()
559 struct zatm_vcc *zatm_vcc; in close_rx() local
563 zatm_vcc = ZATM_VCC(vcc); in close_rx()
565 if (!zatm_vcc->rx_chan) return; in close_rx()
581 zout(uPD98401_DEACT_CHAN | uPD98401_CHAN_RT | (zatm_vcc->rx_chan << in close_rx()
585 zout(uPD98401_CLOSE_CHAN | uPD98401_CHAN_RT | (zatm_vcc->rx_chan << in close_rx()
590 "%d\n",vcc->dev->number,zatm_vcc->rx_chan); in close_rx()
592 zatm_dev->rx_map[zatm_vcc->rx_chan] = NULL; in close_rx()
593 zatm_vcc->rx_chan = 0; in close_rx()
594 unuse_pool(vcc->dev,zatm_vcc->pool); in close_rx()
633 struct zatm_vcc *zatm_vcc; in do_tx() local
641 zatm_vcc = ZATM_VCC(vcc); in do_tx()
645 if (zatm_vcc->txing == RING_ENTRIES-1) { in do_tx()
649 zatm_vcc->txing++; in do_tx()
650 dsc = zatm_vcc->ring+zatm_vcc->ring_curr; in do_tx()
651 zatm_vcc->ring_curr = (zatm_vcc->ring_curr+RING_WORDS) & in do_tx()
697 skb_queue_tail(&zatm_vcc->tx_queue,skb); in do_tx()
698 DPRINTK("QRP=0x%08lx\n",zpeekl(zatm_dev,zatm_vcc->tx_chan*VC_SIZE/4+ in do_tx()
701 zout(uPD98401_TX_READY | (zatm_vcc->tx_chan << in do_tx()
711 struct zatm_vcc *zatm_vcc; in dequeue_tx() local
715 zatm_vcc = ZATM_VCC(vcc); in dequeue_tx()
716 skb = skb_dequeue(&zatm_vcc->tx_queue); in dequeue_tx()
728 zatm_vcc->txing--; in dequeue_tx()
731 while ((skb = skb_dequeue(&zatm_vcc->backlog))) in dequeue_tx()
733 skb_queue_head(&zatm_vcc->backlog,skb); in dequeue_tx()
737 wake_up(&zatm_vcc->tx_wait); in dequeue_tx()
871 struct zatm_vcc *zatm_vcc; in close_tx() local
875 zatm_vcc = ZATM_VCC(vcc); in close_tx()
877 chan = zatm_vcc->tx_chan; in close_tx()
880 if (skb_peek(&zatm_vcc->backlog)) { in close_tx()
883 wait_event(zatm_vcc->tx_wait, !skb_peek(&zatm_vcc->backlog)); in close_tx()
885 if (skb_peek(&zatm_vcc->tx_queue)) { in close_tx()
888 wait_event(zatm_vcc->tx_wait, !skb_peek(&zatm_vcc->tx_queue)); in close_tx()
902 zatm_vcc->tx_chan = 0; in close_tx()
904 if (zatm_vcc->shaper != zatm_dev->ubr) { in close_tx()
906 dealloc_shaper(vcc->dev,zatm_vcc->shaper); in close_tx()
908 kfree(zatm_vcc->ring); in close_tx()
915 struct zatm_vcc *zatm_vcc; in open_tx_first() local
923 zatm_vcc = ZATM_VCC(vcc); in open_tx_first()
924 zatm_vcc->tx_chan = 0; in open_tx_first()
938 if (unlimited && zatm_dev->ubr != -1) zatm_vcc->shaper = zatm_dev->ubr; in open_tx_first()
943 if ((zatm_vcc->shaper = alloc_shaper(vcc->dev,&pcr, in open_tx_first()
947 return zatm_vcc->shaper; in open_tx_first()
952 zatm_vcc->tx_chan = chan; in open_tx_first()
953 skb_queue_head_init(&zatm_vcc->tx_queue); in open_tx_first()
954 init_waitqueue_head(&zatm_vcc->tx_wait); in open_tx_first()
956 zatm_vcc->ring = kzalloc(RING_SIZE,GFP_KERNEL); in open_tx_first()
957 if (!zatm_vcc->ring) return -ENOMEM; in open_tx_first()
958 loop = zatm_vcc->ring+RING_ENTRIES*RING_WORDS; in open_tx_first()
961 loop[3] = virt_to_bus(zatm_vcc->ring); in open_tx_first()
962 zatm_vcc->ring_curr = 0; in open_tx_first()
963 zatm_vcc->txing = 0; in open_tx_first()
964 skb_queue_head_init(&zatm_vcc->backlog); in open_tx_first()
965 zpokel(zatm_dev,virt_to_bus(zatm_vcc->ring), in open_tx_first()
974 struct zatm_vcc *zatm_vcc; in open_tx_second() local
979 zatm_vcc = ZATM_VCC(vcc); in open_tx_second()
980 if (!zatm_vcc->tx_chan) return 0; in open_tx_second()
983 zpokel(zatm_dev,0,zatm_vcc->tx_chan*VC_SIZE/4); in open_tx_second()
984 zpokel(zatm_dev,uPD98401_TXVC_L | (zatm_vcc->shaper << in open_tx_second()
986 vcc->vci,zatm_vcc->tx_chan*VC_SIZE/4+1); in open_tx_second()
987 zpokel(zatm_dev,0,zatm_vcc->tx_chan*VC_SIZE/4+2); in open_tx_second()
989 zatm_dev->tx_map[zatm_vcc->tx_chan] = vcc; in open_tx_second()
1386 struct zatm_vcc *zatm_vcc; in zatm_open() local
1401 zatm_vcc = kmalloc(sizeof(struct zatm_vcc),GFP_KERNEL); in zatm_open()
1402 if (!zatm_vcc) { in zatm_open()
1406 vcc->dev_data = zatm_vcc; in zatm_open()