Changeset View
Changeset View
Standalone View
Standalone View
sys/dev/dwc/dwc1000_dma.c
| Show First 20 Lines • Show All 384 Lines • ▼ Show 20 Lines | dwc_rxfinish_one(struct dwc_softc *sc, struct dwc_hwdesc *desc, | ||||
| bus_dmamap_unload(sc->rxbuf_tag, map->map); | bus_dmamap_unload(sc->rxbuf_tag, map->map); | ||||
| /* Received packet is valid, process it */ | /* Received packet is valid, process it */ | ||||
| m->m_pkthdr.rcvif = ifp; | m->m_pkthdr.rcvif = ifp; | ||||
| m->m_pkthdr.len = len; | m->m_pkthdr.len = len; | ||||
| m->m_len = len; | m->m_len = len; | ||||
| if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); | if_inc_counter(ifp, IFCOUNTER_IPACKETS, 1); | ||||
| if ((if_getcapenable(ifp) & IFCAP_RXCSUM) != 0 && | if ((if_getcapenable(ifp) & (IFCAP_RXCSUM | IFCAP_RXCSUM_IPV6)) != 0 && | ||||
| (rdesc0 & RDESC0_FT) != 0) { | (rdesc0 & RDESC0_FT) != 0) { | ||||
| m->m_pkthdr.csum_flags = CSUM_IP_CHECKED; | m->m_pkthdr.csum_flags = CSUM_IP_CHECKED; | ||||
| if ((rdesc0 & RDESC0_ICE) == 0) | if ((rdesc0 & RDESC0_ICE) == 0) | ||||
| m->m_pkthdr.csum_flags |= CSUM_IP_VALID; | m->m_pkthdr.csum_flags |= CSUM_IP_VALID; | ||||
| if ((rdesc0 & RDESC0_PCE) == 0) { | if ((rdesc0 & RDESC0_PCE) == 0) { | ||||
| m->m_pkthdr.csum_flags |= | m->m_pkthdr.csum_flags |= | ||||
| CSUM_DATA_VALID | CSUM_PSEUDO_HDR; | CSUM_DATA_VALID | CSUM_PSEUDO_HDR; | ||||
| m->m_pkthdr.csum_data = 0xffff; | m->m_pkthdr.csum_data = 0xffff; | ||||
| } | } | ||||
| ▲ Show 20 Lines • Show All 480 Lines • Show Last 20 Lines | |||||