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