svn commit: r220249 - head/sys/dev/age
Pyun YongHyeon
yongari at FreeBSD.org
Fri Apr 1 16:45:26 UTC 2011
Author: yongari
Date: Fri Apr 1 16:45:26 2011
New Revision: 220249
URL: http://svn.freebsd.org/changeset/base/220249
Log:
64bit DMA caused data corruption. Unfortunately there is no known
workaround to use 64bit DMA.
Disable 64bit DMA on Attansic L1 controller.
Tested by: Yamagi Burmeister (lists <> yamagi dot org)
MFC after: 1 week
Modified:
head/sys/dev/age/if_age.c
Modified: head/sys/dev/age/if_age.c
==============================================================================
--- head/sys/dev/age/if_age.c Fri Apr 1 16:06:19 2011 (r220248)
+++ head/sys/dev/age/if_age.c Fri Apr 1 16:45:26 2011 (r220249)
@@ -1092,11 +1092,14 @@ again:
* Create Tx/Rx buffer parent tag.
* L1 supports full 64bit DMA addressing in Tx/Rx buffers
* so it needs separate parent DMA tag.
+ * XXX
+ * It seems enabling 64bit DMA causes data corruption. Limit
+ * DMA address space to 32bit.
*/
error = bus_dma_tag_create(
bus_get_dma_tag(sc->age_dev), /* parent */
1, 0, /* alignment, boundary */
- BUS_SPACE_MAXADDR, /* lowaddr */
+ BUS_SPACE_MAXADDR_32BIT, /* lowaddr */
BUS_SPACE_MAXADDR, /* highaddr */
NULL, NULL, /* filter, filterarg */
BUS_SPACE_MAXSIZE_32BIT, /* maxsize */
More information about the svn-src-head
mailing list