Lines Matching refs:vcc

858     struct atm_vcc*         vcc;  in fore200e_tx_irq()  local
885 if ((vc_map->vcc == NULL) || in fore200e_tx_irq()
886 (test_bit(ATM_VF_READY, &vc_map->vcc->flags) == 0)) { in fore200e_tx_irq()
894 ASSERT(vc_map->vcc); in fore200e_tx_irq()
917 vcc = vc_map->vcc; in fore200e_tx_irq()
918 ASSERT(vcc); in fore200e_tx_irq()
921 if (vcc->pop) { in fore200e_tx_irq()
922 vcc->pop(vcc, entry->skb); in fore200e_tx_irq()
929 if (atomic_read(&sk_atm(vcc)->sk_wmem_alloc) < 0) { in fore200e_tx_irq()
930 atomic_set(&sk_atm(vcc)->sk_wmem_alloc, 0); in fore200e_tx_irq()
935 atomic_inc(&vcc->stats->tx_err); in fore200e_tx_irq()
937 atomic_inc(&vcc->stats->tx); in fore200e_tx_irq()
1051 fore200e_push_rpd(struct fore200e* fore200e, struct atm_vcc* vcc, struct rpd* rpd) in fore200e_push_rpd() argument
1061 ASSERT(vcc); in fore200e_push_rpd()
1063 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_push_rpd()
1067 if ((vcc->qos.aal == ATM_AAL0) && (vcc->qos.rxtp.max_sdu == ATM_AAL0_SDU)) { in fore200e_push_rpd()
1086 atomic_inc(&vcc->stats->rx_drop); in fore200e_push_rpd()
1122 if (atm_charge(vcc, skb->truesize) == 0) { in fore200e_push_rpd()
1125 vcc->itf, vcc->vpi, vcc->vci); in fore200e_push_rpd()
1129 atomic_inc(&vcc->stats->rx_drop); in fore200e_push_rpd()
1133 ASSERT(atomic_read(&sk_atm(vcc)->sk_wmem_alloc) >= 0); in fore200e_push_rpd()
1135 vcc->push(vcc, skb); in fore200e_push_rpd()
1136 atomic_inc(&vcc->stats->rx); in fore200e_push_rpd()
1138 ASSERT(atomic_read(&sk_atm(vcc)->sk_wmem_alloc) >= 0); in fore200e_push_rpd()
1182 struct atm_vcc* vcc; in fore200e_rx_irq() local
1195 if ((vc_map->vcc == NULL) || in fore200e_rx_irq()
1196 (test_bit(ATM_VF_READY, &vc_map->vcc->flags) == 0)) { in fore200e_rx_irq()
1203 vcc = vc_map->vcc; in fore200e_rx_irq()
1204 ASSERT(vcc); in fore200e_rx_irq()
1208 fore200e_push_rpd(fore200e, vcc, entry->rpd); in fore200e_rx_irq()
1214 atomic_inc(&vcc->stats->rx_err); in fore200e_rx_irq()
1303 fore200e_select_scheme(struct atm_vcc* vcc) in fore200e_select_scheme() argument
1306 int scheme = vcc->vci % 2 ? BUFFER_SCHEME_ONE : BUFFER_SCHEME_TWO; in fore200e_select_scheme()
1309 vcc->itf, vcc->vpi, vcc->vci, scheme); in fore200e_select_scheme()
1316 fore200e_activate_vcin(struct fore200e* fore200e, int activate, struct atm_vcc* vcc, int mtu) in fore200e_activate_vcin() argument
1324 enum fore200e_aal aal = fore200e_atm2fore_aal(vcc->qos.aal); in fore200e_activate_vcin()
1329 FORE200E_VCC(vcc)->scheme = fore200e_select_scheme(vcc); in fore200e_activate_vcin()
1333 activ_opcode.scheme = FORE200E_VCC(vcc)->scheme; in fore200e_activate_vcin()
1341 vpvc.vci = vcc->vci; in fore200e_activate_vcin()
1342 vpvc.vpi = vcc->vpi; in fore200e_activate_vcin()
1367 activate ? "open" : "close", vcc->itf, vcc->vpi, vcc->vci); in fore200e_activate_vcin()
1371 DPRINTK(1, "VC %d.%d.%d %sed\n", vcc->itf, vcc->vpi, vcc->vci, in fore200e_activate_vcin()
1397 fore200e_open(struct atm_vcc *vcc) in fore200e_open() argument
1399 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_open()
1403 int vci = vcc->vci; in fore200e_open()
1404 short vpi = vcc->vpi; in fore200e_open()
1412 if (vc_map->vcc) { in fore200e_open()
1422 vc_map->vcc = vcc; in fore200e_open()
1428 vc_map->vcc = NULL; in fore200e_open()
1434 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_open()
1435 fore200e_traffic_class[ vcc->qos.txtp.traffic_class ], in fore200e_open()
1436 vcc->qos.txtp.min_pcr, vcc->qos.txtp.max_pcr, vcc->qos.txtp.max_cdv, vcc->qos.txtp.max_sdu, in fore200e_open()
1437 fore200e_traffic_class[ vcc->qos.rxtp.traffic_class ], in fore200e_open()
1438 vcc->qos.rxtp.min_pcr, vcc->qos.rxtp.max_pcr, vcc->qos.rxtp.max_cdv, vcc->qos.rxtp.max_sdu); in fore200e_open()
1441 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_open()
1444 if (fore200e->available_cell_rate < vcc->qos.txtp.max_pcr) { in fore200e_open()
1448 vc_map->vcc = NULL; in fore200e_open()
1453 fore200e->available_cell_rate -= vcc->qos.txtp.max_pcr; in fore200e_open()
1457 vcc->itf = vcc->dev->number; in fore200e_open()
1459 set_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_open()
1460 set_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_open()
1462 vcc->dev_data = fore200e_vcc; in fore200e_open()
1464 if (fore200e_activate_vcin(fore200e, 1, vcc, vcc->qos.rxtp.max_sdu) < 0) { in fore200e_open()
1466 vc_map->vcc = NULL; in fore200e_open()
1468 clear_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_open()
1469 clear_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_open()
1471 vcc->dev_data = NULL; in fore200e_open()
1473 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_open()
1480 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_open()
1482 fore200e_rate_ctrl(&vcc->qos, &fore200e_vcc->rate); in fore200e_open()
1483 set_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_open()
1486 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_open()
1487 vcc->qos.txtp.max_pcr, vcc->qos.rxtp.max_pcr, in fore200e_open()
1499 set_bit(ATM_VF_READY, &vcc->flags); in fore200e_open()
1506 fore200e_close(struct atm_vcc* vcc) in fore200e_close() argument
1508 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_close()
1513 ASSERT(vcc); in fore200e_close()
1514 ASSERT((vcc->vpi >= 0) && (vcc->vpi < 1<<FORE200E_VPI_BITS)); in fore200e_close()
1515 ASSERT((vcc->vci >= 0) && (vcc->vci < 1<<FORE200E_VCI_BITS)); in fore200e_close()
1517 …DPRINTK(2, "closing %d.%d.%d:%d\n", vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.a… in fore200e_close()
1519 clear_bit(ATM_VF_READY, &vcc->flags); in fore200e_close()
1521 fore200e_activate_vcin(fore200e, 0, vcc, 0); in fore200e_close()
1525 vc_map = FORE200E_VC_MAP(fore200e, vcc->vpi, vcc->vci); in fore200e_close()
1528 vc_map->vcc = NULL; in fore200e_close()
1530 vcc->itf = vcc->vci = vcc->vpi = 0; in fore200e_close()
1532 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_close()
1533 vcc->dev_data = NULL; in fore200e_close()
1538 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_close()
1541 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_close()
1544 clear_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_close()
1547 clear_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_close()
1548 clear_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_close()
1556 fore200e_send(struct atm_vcc *vcc, struct sk_buff *skb) in fore200e_send() argument
1558 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_send()
1559 struct fore200e_vcc* fore200e_vcc = FORE200E_VCC(vcc); in fore200e_send()
1574 ASSERT(vcc); in fore200e_send()
1575 ASSERT(atomic_read(&sk_atm(vcc)->sk_wmem_alloc) >= 0); in fore200e_send()
1579 if (!test_bit(ATM_VF_READY, &vcc->flags)) { in fore200e_send()
1580 DPRINTK(1, "VC %d.%d.%d not ready for tx\n", vcc->itf, vcc->vpi, vcc->vpi); in fore200e_send()
1586 if ((vcc->qos.aal == ATM_AAL0) && (vcc->qos.txtp.max_sdu == ATM_AAL0_SDU)) { in fore200e_send()
1607 if ((vcc->qos.aal == ATM_AAL0) && (skb_len % ATM_CELL_PAYLOAD)) { in fore200e_send()
1618 if (vcc->pop) { in fore200e_send()
1619 vcc->pop(vcc, skb); in fore200e_send()
1635 vc_map = FORE200E_VC_MAP(fore200e, vcc->vpi, vcc->vci); in fore200e_send()
1636 ASSERT(vc_map->vcc == vcc); in fore200e_send()
1659 atomic_inc(&vcc->stats->tx_err); in fore200e_send()
1664 if (vcc->pop) { in fore200e_send()
1665 vcc->pop(vcc, skb); in fore200e_send()
1695 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_send()
1719 tpd->atm_header.vci = vcc->vci; in fore200e_send()
1720 tpd->atm_header.vpi = vcc->vpi; in fore200e_send()
1726 tpd->spec.aal = fore200e_atm2fore_aal(vcc->qos.aal); in fore200e_send()
1787 fore200e_getsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, int optlen) in fore200e_getsockopt() argument
1792 vcc->itf, vcc->vpi, vcc->vci, level, optname, optval, optlen); in fore200e_getsockopt()
1799 fore200e_setsockopt(struct atm_vcc* vcc, int level, int optname, void __user *optval, unsigned int … in fore200e_setsockopt() argument
1804 vcc->itf, vcc->vpi, vcc->vci, level, optname, optval, optlen); in fore200e_setsockopt()
1982 fore200e_change_qos(struct atm_vcc* vcc,struct atm_qos* qos, int flags) in fore200e_change_qos() argument
1984 struct fore200e_vcc* fore200e_vcc = FORE200E_VCC(vcc); in fore200e_change_qos()
1985 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_change_qos()
1987 if (!test_bit(ATM_VF_READY, &vcc->flags)) { in fore200e_change_qos()
1988 DPRINTK(1, "VC %d.%d.%d not ready for QoS change\n", vcc->itf, vcc->vpi, vcc->vpi); in fore200e_change_qos()
1996 vcc->itf, vcc->vpi, vcc->vci, in fore200e_change_qos()
2006 if (fore200e->available_cell_rate + vcc->qos.txtp.max_pcr < qos->txtp.max_pcr) { in fore200e_change_qos()
2011 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_change_qos()
2016 memcpy(&vcc->qos, qos, sizeof(struct atm_qos)); in fore200e_change_qos()
2021 set_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_change_qos()
2825 struct atm_vcc* vcc; in fore200e_proc_read() local
3075 vcc = fore200e->vc_map[i].vcc; in fore200e_proc_read()
3077 if (vcc == NULL) in fore200e_proc_read()
3082 if (vcc && test_bit(ATM_VF_READY, &vcc->flags) && !left--) { in fore200e_proc_read()
3084 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_proc_read()
3089 (u32)(unsigned long)vcc, in fore200e_proc_read()
3090 vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_proc_read()