Lines Matching refs:vcc

772     struct atm_vcc*         vcc;  in fore200e_tx_irq()  local
799 if ((vc_map->vcc == NULL) || in fore200e_tx_irq()
800 (test_bit(ATM_VF_READY, &vc_map->vcc->flags) == 0)) { in fore200e_tx_irq()
808 ASSERT(vc_map->vcc); in fore200e_tx_irq()
831 vcc = vc_map->vcc; in fore200e_tx_irq()
832 ASSERT(vcc); in fore200e_tx_irq()
835 if (vcc->pop) { in fore200e_tx_irq()
836 vcc->pop(vcc, entry->skb); in fore200e_tx_irq()
844 atomic_inc(&vcc->stats->tx_err); in fore200e_tx_irq()
846 atomic_inc(&vcc->stats->tx); in fore200e_tx_irq()
960 fore200e_push_rpd(struct fore200e* fore200e, struct atm_vcc* vcc, struct rpd* rpd) in fore200e_push_rpd() argument
970 ASSERT(vcc); in fore200e_push_rpd()
972 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_push_rpd()
976 if ((vcc->qos.aal == ATM_AAL0) && (vcc->qos.rxtp.max_sdu == ATM_AAL0_SDU)) { in fore200e_push_rpd()
995 atomic_inc(&vcc->stats->rx_drop); in fore200e_push_rpd()
1033 if (atm_charge(vcc, skb->truesize) == 0) { in fore200e_push_rpd()
1036 vcc->itf, vcc->vpi, vcc->vci); in fore200e_push_rpd()
1040 atomic_inc(&vcc->stats->rx_drop); in fore200e_push_rpd()
1044 vcc->push(vcc, skb); in fore200e_push_rpd()
1045 atomic_inc(&vcc->stats->rx); in fore200e_push_rpd()
1089 struct atm_vcc* vcc; in fore200e_rx_irq() local
1102 if ((vc_map->vcc == NULL) || in fore200e_rx_irq()
1103 (test_bit(ATM_VF_READY, &vc_map->vcc->flags) == 0)) { in fore200e_rx_irq()
1110 vcc = vc_map->vcc; in fore200e_rx_irq()
1111 ASSERT(vcc); in fore200e_rx_irq()
1115 fore200e_push_rpd(fore200e, vcc, entry->rpd); in fore200e_rx_irq()
1121 atomic_inc(&vcc->stats->rx_err); in fore200e_rx_irq()
1210 fore200e_select_scheme(struct atm_vcc* vcc) in fore200e_select_scheme() argument
1213 int scheme = vcc->vci % 2 ? BUFFER_SCHEME_ONE : BUFFER_SCHEME_TWO; in fore200e_select_scheme()
1216 vcc->itf, vcc->vpi, vcc->vci, scheme); in fore200e_select_scheme()
1223 fore200e_activate_vcin(struct fore200e* fore200e, int activate, struct atm_vcc* vcc, int mtu) in fore200e_activate_vcin() argument
1231 enum fore200e_aal aal = fore200e_atm2fore_aal(vcc->qos.aal); in fore200e_activate_vcin()
1236 FORE200E_VCC(vcc)->scheme = fore200e_select_scheme(vcc); in fore200e_activate_vcin()
1240 activ_opcode.scheme = FORE200E_VCC(vcc)->scheme; in fore200e_activate_vcin()
1248 vpvc.vci = vcc->vci; in fore200e_activate_vcin()
1249 vpvc.vpi = vcc->vpi; in fore200e_activate_vcin()
1274 activate ? "open" : "close", vcc->itf, vcc->vpi, vcc->vci); in fore200e_activate_vcin()
1278 DPRINTK(1, "VC %d.%d.%d %sed\n", vcc->itf, vcc->vpi, vcc->vci, in fore200e_activate_vcin()
1304 fore200e_open(struct atm_vcc *vcc) in fore200e_open() argument
1306 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_open()
1310 int vci = vcc->vci; in fore200e_open()
1311 short vpi = vcc->vpi; in fore200e_open()
1319 if (vc_map->vcc) { in fore200e_open()
1329 vc_map->vcc = vcc; in fore200e_open()
1335 vc_map->vcc = NULL; in fore200e_open()
1341 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_open()
1342 fore200e_traffic_class[ vcc->qos.txtp.traffic_class ], in fore200e_open()
1343 vcc->qos.txtp.min_pcr, vcc->qos.txtp.max_pcr, vcc->qos.txtp.max_cdv, vcc->qos.txtp.max_sdu, in fore200e_open()
1344 fore200e_traffic_class[ vcc->qos.rxtp.traffic_class ], in fore200e_open()
1345 vcc->qos.rxtp.min_pcr, vcc->qos.rxtp.max_pcr, vcc->qos.rxtp.max_cdv, vcc->qos.rxtp.max_sdu); in fore200e_open()
1348 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_open()
1351 if (fore200e->available_cell_rate < vcc->qos.txtp.max_pcr) { in fore200e_open()
1355 vc_map->vcc = NULL; in fore200e_open()
1360 fore200e->available_cell_rate -= vcc->qos.txtp.max_pcr; in fore200e_open()
1364 vcc->itf = vcc->dev->number; in fore200e_open()
1366 set_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_open()
1367 set_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_open()
1369 vcc->dev_data = fore200e_vcc; in fore200e_open()
1371 if (fore200e_activate_vcin(fore200e, 1, vcc, vcc->qos.rxtp.max_sdu) < 0) { in fore200e_open()
1373 vc_map->vcc = NULL; in fore200e_open()
1375 clear_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_open()
1376 clear_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_open()
1378 vcc->dev_data = NULL; in fore200e_open()
1380 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_open()
1387 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_open()
1389 fore200e_rate_ctrl(&vcc->qos, &fore200e_vcc->rate); in fore200e_open()
1390 set_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_open()
1393 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_open()
1394 vcc->qos.txtp.max_pcr, vcc->qos.rxtp.max_pcr, in fore200e_open()
1406 set_bit(ATM_VF_READY, &vcc->flags); in fore200e_open()
1413 fore200e_close(struct atm_vcc* vcc) in fore200e_close() argument
1420 ASSERT(vcc); in fore200e_close()
1421 fore200e = FORE200E_DEV(vcc->dev); in fore200e_close()
1423 ASSERT((vcc->vpi >= 0) && (vcc->vpi < 1<<FORE200E_VPI_BITS)); in fore200e_close()
1424 ASSERT((vcc->vci >= 0) && (vcc->vci < 1<<FORE200E_VCI_BITS)); in fore200e_close()
1426 …DPRINTK(2, "closing %d.%d.%d:%d\n", vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.a… in fore200e_close()
1428 clear_bit(ATM_VF_READY, &vcc->flags); in fore200e_close()
1430 fore200e_activate_vcin(fore200e, 0, vcc, 0); in fore200e_close()
1434 vc_map = FORE200E_VC_MAP(fore200e, vcc->vpi, vcc->vci); in fore200e_close()
1437 vc_map->vcc = NULL; in fore200e_close()
1439 vcc->itf = vcc->vci = vcc->vpi = 0; in fore200e_close()
1441 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_close()
1442 vcc->dev_data = NULL; in fore200e_close()
1447 if ((vcc->qos.txtp.traffic_class == ATM_CBR) && (vcc->qos.txtp.max_pcr > 0)) { in fore200e_close()
1450 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_close()
1453 clear_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_close()
1456 clear_bit(ATM_VF_ADDR, &vcc->flags); in fore200e_close()
1457 clear_bit(ATM_VF_PARTIAL,&vcc->flags); in fore200e_close()
1465 fore200e_send(struct atm_vcc *vcc, struct sk_buff *skb) in fore200e_send() argument
1483 if (!vcc) in fore200e_send()
1486 fore200e = FORE200E_DEV(vcc->dev); in fore200e_send()
1487 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_send()
1496 if (!test_bit(ATM_VF_READY, &vcc->flags)) { in fore200e_send()
1497 DPRINTK(1, "VC %d.%d.%d not ready for tx\n", vcc->itf, vcc->vpi, vcc->vpi); in fore200e_send()
1503 if ((vcc->qos.aal == ATM_AAL0) && (vcc->qos.txtp.max_sdu == ATM_AAL0_SDU)) { in fore200e_send()
1524 if ((vcc->qos.aal == ATM_AAL0) && (skb_len % ATM_CELL_PAYLOAD)) { in fore200e_send()
1535 if (vcc->pop) { in fore200e_send()
1536 vcc->pop(vcc, skb); in fore200e_send()
1552 vc_map = FORE200E_VC_MAP(fore200e, vcc->vpi, vcc->vci); in fore200e_send()
1553 ASSERT(vc_map->vcc == vcc); in fore200e_send()
1576 atomic_inc(&vcc->stats->tx_err); in fore200e_send()
1581 if (vcc->pop) { in fore200e_send()
1582 vcc->pop(vcc, skb); in fore200e_send()
1619 vcc->itf, vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_send()
1643 tpd->atm_header.vci = vcc->vci; in fore200e_send()
1644 tpd->atm_header.vpi = vcc->vpi; in fore200e_send()
1650 tpd->spec.aal = fore200e_atm2fore_aal(vcc->qos.aal); in fore200e_send()
1883 fore200e_change_qos(struct atm_vcc* vcc,struct atm_qos* qos, int flags) in fore200e_change_qos() argument
1885 struct fore200e_vcc* fore200e_vcc = FORE200E_VCC(vcc); in fore200e_change_qos()
1886 struct fore200e* fore200e = FORE200E_DEV(vcc->dev); in fore200e_change_qos()
1888 if (!test_bit(ATM_VF_READY, &vcc->flags)) { in fore200e_change_qos()
1889 DPRINTK(1, "VC %d.%d.%d not ready for QoS change\n", vcc->itf, vcc->vpi, vcc->vpi); in fore200e_change_qos()
1897 vcc->itf, vcc->vpi, vcc->vci, in fore200e_change_qos()
1907 if (fore200e->available_cell_rate + vcc->qos.txtp.max_pcr < qos->txtp.max_pcr) { in fore200e_change_qos()
1912 fore200e->available_cell_rate += vcc->qos.txtp.max_pcr; in fore200e_change_qos()
1917 memcpy(&vcc->qos, qos, sizeof(struct atm_qos)); in fore200e_change_qos()
1922 set_bit(ATM_VF_HASQOS, &vcc->flags); in fore200e_change_qos()
2711 struct atm_vcc* vcc; in fore200e_proc_read() local
2961 vcc = fore200e->vc_map[i].vcc; in fore200e_proc_read()
2963 if (vcc == NULL) in fore200e_proc_read()
2968 if (vcc && test_bit(ATM_VF_READY, &vcc->flags) && !left--) { in fore200e_proc_read()
2970 fore200e_vcc = FORE200E_VCC(vcc); in fore200e_proc_read()
2975 vcc, in fore200e_proc_read()
2976 vcc->vpi, vcc->vci, fore200e_atm2fore_aal(vcc->qos.aal), in fore200e_proc_read()