Lines Matching refs:sc_ncm

367 		sc->sc_ncm.rx_max = UGETDW(temp.dwNtbInMaxSize);  in cdce_ncm_init()
368 sc->sc_ncm.tx_max = UGETDW(temp.dwNtbOutMaxSize); in cdce_ncm_init()
369 sc->sc_ncm.tx_remainder = UGETW(temp.wNdpOutPayloadRemainder); in cdce_ncm_init()
370 sc->sc_ncm.tx_modulus = UGETW(temp.wNdpOutDivisor); in cdce_ncm_init()
371 sc->sc_ncm.tx_struct_align = UGETW(temp.wNdpOutAlignment); in cdce_ncm_init()
372 sc->sc_ncm.tx_nframe = UGETW(temp.wNtbOutMaxDatagrams); in cdce_ncm_init()
374 sc->sc_ncm.rx_max = UGETDW(temp.dwNtbOutMaxSize); in cdce_ncm_init()
375 sc->sc_ncm.tx_max = UGETDW(temp.dwNtbInMaxSize); in cdce_ncm_init()
376 sc->sc_ncm.tx_remainder = UGETW(temp.wNdpInPayloadRemainder); in cdce_ncm_init()
377 sc->sc_ncm.tx_modulus = UGETW(temp.wNdpInDivisor); in cdce_ncm_init()
378 sc->sc_ncm.tx_struct_align = UGETW(temp.wNdpInAlignment); in cdce_ncm_init()
379 sc->sc_ncm.tx_nframe = UGETW(temp.wNtbOutMaxDatagrams); in cdce_ncm_init()
384 if ((sc->sc_ncm.rx_max < 32) || in cdce_ncm_init()
385 (sc->sc_ncm.rx_max > CDCE_NCM_RX_MAXLEN)) { in cdce_ncm_init()
387 sc->sc_ncm.rx_max = CDCE_NCM_RX_MAXLEN; in cdce_ncm_init()
392 if ((sc->sc_ncm.tx_max < 32) || in cdce_ncm_init()
393 (sc->sc_ncm.tx_max > CDCE_NCM_TX_MAXLEN)) { in cdce_ncm_init()
395 sc->sc_ncm.tx_max = CDCE_NCM_TX_MAXLEN; in cdce_ncm_init()
404 if ((sc->sc_ncm.tx_struct_align < 4) || in cdce_ncm_init()
405 (sc->sc_ncm.tx_struct_align != in cdce_ncm_init()
406 ((-sc->sc_ncm.tx_struct_align) & sc->sc_ncm.tx_struct_align)) || in cdce_ncm_init()
407 (sc->sc_ncm.tx_struct_align >= sc->sc_ncm.tx_max)) { in cdce_ncm_init()
409 sc->sc_ncm.tx_struct_align = 4; in cdce_ncm_init()
418 if ((sc->sc_ncm.tx_modulus < 4) || in cdce_ncm_init()
419 (sc->sc_ncm.tx_modulus != in cdce_ncm_init()
420 ((-sc->sc_ncm.tx_modulus) & sc->sc_ncm.tx_modulus)) || in cdce_ncm_init()
421 (sc->sc_ncm.tx_modulus >= sc->sc_ncm.tx_max)) { in cdce_ncm_init()
423 sc->sc_ncm.tx_modulus = 4; in cdce_ncm_init()
428 if ((sc->sc_ncm.tx_remainder >= sc->sc_ncm.tx_modulus)) { in cdce_ncm_init()
430 sc->sc_ncm.tx_remainder = 0; in cdce_ncm_init()
438 sc->sc_ncm.tx_remainder = in cdce_ncm_init()
439 (sc->sc_ncm.tx_remainder - ETHER_HDR_LEN) & in cdce_ncm_init()
440 (sc->sc_ncm.tx_modulus - 1); in cdce_ncm_init()
444 if (sc->sc_ncm.tx_nframe == 0 || in cdce_ncm_init()
445 sc->sc_ncm.tx_nframe > (CDCE_NCM_SUBFRAMES_MAX - 1)) { in cdce_ncm_init()
449 sc->sc_ncm.tx_nframe = (CDCE_NCM_SUBFRAMES_MAX - 1); in cdce_ncm_init()
463 USETDW(value, sc->sc_ncm.rx_max); in cdce_ncm_init()
468 USETDW(value, sc->sc_ncm.rx_max); in cdce_ncm_init()
475 "to %u failed.\n", sc->sc_ncm.rx_max); in cdce_ncm_init()
1389 offset = sizeof(sc->sc_ncm.hdr) + in cdce_ncm_fill_tx_frames()
1390 sizeof(sc->sc_ncm.dpt) + sizeof(sc->sc_ncm.dp); in cdce_ncm_fill_tx_frames()
1396 offset = CDCE_NCM_ALIGN(sc->sc_ncm.tx_remainder, in cdce_ncm_fill_tx_frames()
1397 offset, sc->sc_ncm.tx_modulus); in cdce_ncm_fill_tx_frames()
1405 for (n = 0; n != sc->sc_ncm.tx_nframe; n++) { in cdce_ncm_fill_tx_frames()
1408 if (offset >= sc->sc_ncm.tx_max) in cdce_ncm_fill_tx_frames()
1413 rem = sc->sc_ncm.tx_max - offset; in cdce_ncm_fill_tx_frames()
1438 USETW(sc->sc_ncm.dp[n].wFrameLength, m->m_pkthdr.len); in cdce_ncm_fill_tx_frames()
1439 USETW(sc->sc_ncm.dp[n].wFrameIndex, offset); in cdce_ncm_fill_tx_frames()
1448 offset = CDCE_NCM_ALIGN(sc->sc_ncm.tx_remainder, in cdce_ncm_fill_tx_frames()
1449 offset, sc->sc_ncm.tx_modulus); in cdce_ncm_fill_tx_frames()
1472 rem = (sizeof(sc->sc_ncm.dpt) + (4 * n) + 4); in cdce_ncm_fill_tx_frames()
1474 USETW(sc->sc_ncm.dpt.wLength, rem); in cdce_ncm_fill_tx_frames()
1478 USETW(sc->sc_ncm.dp[n].wFrameLength, 0); in cdce_ncm_fill_tx_frames()
1479 USETW(sc->sc_ncm.dp[n].wFrameIndex, 0); in cdce_ncm_fill_tx_frames()
1488 if (offset >= sc->sc_ncm.tx_max) in cdce_ncm_fill_tx_frames()
1489 offset = sc->sc_ncm.tx_max; in cdce_ncm_fill_tx_frames()
1500 sc->sc_ncm.hdr.dwSignature[0] = 'N'; in cdce_ncm_fill_tx_frames()
1501 sc->sc_ncm.hdr.dwSignature[1] = 'C'; in cdce_ncm_fill_tx_frames()
1502 sc->sc_ncm.hdr.dwSignature[2] = 'M'; in cdce_ncm_fill_tx_frames()
1503 sc->sc_ncm.hdr.dwSignature[3] = 'H'; in cdce_ncm_fill_tx_frames()
1504 USETW(sc->sc_ncm.hdr.wHeaderLength, sizeof(sc->sc_ncm.hdr)); in cdce_ncm_fill_tx_frames()
1505 USETW(sc->sc_ncm.hdr.wBlockLength, offset); in cdce_ncm_fill_tx_frames()
1506 USETW(sc->sc_ncm.hdr.wSequence, sc->sc_ncm.tx_seq); in cdce_ncm_fill_tx_frames()
1507 USETW(sc->sc_ncm.hdr.wDptIndex, sizeof(sc->sc_ncm.hdr)); in cdce_ncm_fill_tx_frames()
1509 sc->sc_ncm.tx_seq++; in cdce_ncm_fill_tx_frames()
1512 sc->sc_ncm.dpt.dwSignature[0] = 'N'; in cdce_ncm_fill_tx_frames()
1513 sc->sc_ncm.dpt.dwSignature[1] = 'C'; in cdce_ncm_fill_tx_frames()
1514 sc->sc_ncm.dpt.dwSignature[2] = 'M'; in cdce_ncm_fill_tx_frames()
1515 sc->sc_ncm.dpt.dwSignature[3] = '0'; in cdce_ncm_fill_tx_frames()
1516 USETW(sc->sc_ncm.dpt.wNextNdpIndex, 0); /* reserved */ in cdce_ncm_fill_tx_frames()
1518 usbd_copy_in(pc, 0, &(sc->sc_ncm.hdr), sizeof(sc->sc_ncm.hdr)); in cdce_ncm_fill_tx_frames()
1519 usbd_copy_in(pc, sizeof(sc->sc_ncm.hdr), &(sc->sc_ncm.dpt), in cdce_ncm_fill_tx_frames()
1520 sizeof(sc->sc_ncm.dpt)); in cdce_ncm_fill_tx_frames()
1521 usbd_copy_in(pc, sizeof(sc->sc_ncm.hdr) + sizeof(sc->sc_ncm.dpt), in cdce_ncm_fill_tx_frames()
1522 &(sc->sc_ncm.dp), sizeof(sc->sc_ncm.dp)); in cdce_ncm_fill_tx_frames()
1607 if (actlen < (int)(sizeof(sc->sc_ncm.hdr) + in cdce_ncm_bulk_read_callback()
1608 sizeof(sc->sc_ncm.dpt))) { in cdce_ncm_bulk_read_callback()
1612 usbd_copy_out(pc, 0, &(sc->sc_ncm.hdr), in cdce_ncm_bulk_read_callback()
1613 sizeof(sc->sc_ncm.hdr)); in cdce_ncm_bulk_read_callback()
1615 if ((sc->sc_ncm.hdr.dwSignature[0] != 'N') || in cdce_ncm_bulk_read_callback()
1616 (sc->sc_ncm.hdr.dwSignature[1] != 'C') || in cdce_ncm_bulk_read_callback()
1617 (sc->sc_ncm.hdr.dwSignature[2] != 'M') || in cdce_ncm_bulk_read_callback()
1618 (sc->sc_ncm.hdr.dwSignature[3] != 'H')) { in cdce_ncm_bulk_read_callback()
1621 sc->sc_ncm.hdr.dwSignature[0], in cdce_ncm_bulk_read_callback()
1622 sc->sc_ncm.hdr.dwSignature[1], in cdce_ncm_bulk_read_callback()
1623 sc->sc_ncm.hdr.dwSignature[2], in cdce_ncm_bulk_read_callback()
1624 sc->sc_ncm.hdr.dwSignature[3]); in cdce_ncm_bulk_read_callback()
1627 temp = UGETW(sc->sc_ncm.hdr.wBlockLength); in cdce_ncm_bulk_read_callback()
1633 temp = UGETW(sc->sc_ncm.hdr.wDptIndex); in cdce_ncm_bulk_read_callback()
1634 if ((int)(temp + sizeof(sc->sc_ncm.dpt)) > actlen) { in cdce_ncm_bulk_read_callback()
1638 usbd_copy_out(pc, temp, &(sc->sc_ncm.dpt), in cdce_ncm_bulk_read_callback()
1639 sizeof(sc->sc_ncm.dpt)); in cdce_ncm_bulk_read_callback()
1641 if ((sc->sc_ncm.dpt.dwSignature[0] != 'N') || in cdce_ncm_bulk_read_callback()
1642 (sc->sc_ncm.dpt.dwSignature[1] != 'C') || in cdce_ncm_bulk_read_callback()
1643 (sc->sc_ncm.dpt.dwSignature[2] != 'M') || in cdce_ncm_bulk_read_callback()
1644 (sc->sc_ncm.dpt.dwSignature[3] != '0')) { in cdce_ncm_bulk_read_callback()
1647 sc->sc_ncm.dpt.dwSignature[0], in cdce_ncm_bulk_read_callback()
1648 sc->sc_ncm.dpt.dwSignature[1], in cdce_ncm_bulk_read_callback()
1649 sc->sc_ncm.dpt.dwSignature[2], in cdce_ncm_bulk_read_callback()
1650 sc->sc_ncm.dpt.dwSignature[3]); in cdce_ncm_bulk_read_callback()
1653 nframes = UGETW(sc->sc_ncm.dpt.wLength) / 4; in cdce_ncm_bulk_read_callback()
1663 temp += sizeof(sc->sc_ncm.dpt); in cdce_ncm_bulk_read_callback()
1673 usbd_copy_out(pc, temp, &(sc->sc_ncm.dp), (4 * nframes)); in cdce_ncm_bulk_read_callback()
1678 offset = UGETW(sc->sc_ncm.dp[x].wFrameIndex); in cdce_ncm_bulk_read_callback()
1679 temp = UGETW(sc->sc_ncm.dp[x].wFrameLength); in cdce_ncm_bulk_read_callback()
1723 usbd_xfer_set_frame_len(xfer, 0, sc->sc_ncm.rx_max); in cdce_ncm_bulk_read_callback()