PERFORCE change 93064 for review
Olivier Houchard
cognet at FreeBSD.org
Thu Mar 9 13:34:42 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=93064
Change 93064 by cognet at cognet on 2006/03/09 21:33:46
Call bus_dmamap_sync on the rx descriptors map after we modified it,
to be sure the adapter sees the new values.
Affected files ...
.. //depot/projects/arm/src/sys/arm/at91/if_ate.c#30 edit
Differences ...
==== //depot/projects/arm/src/sys/arm/at91/if_ate.c#30 (text+ko) ====
@@ -608,9 +608,11 @@
if (i == ATE_MAX_RX_BUFFERS - 1)
sc->rx_descs[i].addr |=
ETH_WRAP_BIT;
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREREAD);
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
+ bus_dmamap_sync(sc->rx_desc_tag,
+ sc->rx_desc_map,
+ BUS_DMASYNC_PREWRITE);
+ bus_dmamap_sync(sc->rxtag,
+ sc->rx_map[i],
BUS_DMASYNC_PREWRITE);
continue;
}
@@ -627,10 +629,9 @@
printf("Failed to get another mbuf -- discarding packet\n");
sc->rx_mbuf[i] = mb;
sc->rx_descs[i].addr &= ~ETH_CPU_OWNER;
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREREAD);
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREWRITE);
+ bus_dmamap_sync(sc->rx_desc_tag,
+ sc->rx_desc_map,
+ BUS_DMASYNC_PREWRITE);
continue;
}
bus_dmamap_unload(sc->rxtag, sc->rx_map[i]);
@@ -640,10 +641,9 @@
printf("Failed to load mbuf -- discarding packet -- reload old?\n");
sc->rx_mbuf[i] = mb;
sc->rx_descs[i].addr &= ~ETH_CPU_OWNER;
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREREAD);
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREWRITE);
+ bus_dmamap_sync(sc->rx_desc_tag,
+ sc->rx_desc_map,
+ BUS_DMASYNC_PREWRITE);
continue;
}
mb->m_len = rx_stat & ETH_LEN_MASK;
@@ -658,9 +658,9 @@
sc->rx_descs[i].addr = seg.ds_addr;
if (i == ATE_MAX_RX_BUFFERS - 1)
sc->rx_descs[i].addr |= ETH_WRAP_BIT;
- else
- bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
- BUS_DMASYNC_PREREAD);
+ bus_dmamap_sync(sc->rx_desc_tag,
+ sc->rx_desc_map,
+ BUS_DMASYNC_PREWRITE);
bus_dmamap_sync(sc->rxtag, sc->rx_map[i],
BUS_DMASYNC_PREWRITE);
(*sc->ifp->if_input)(sc->ifp, mb);
More information about the p4-projects
mailing list