cvs commit: src/sys/alpha/alpha busdma_machdep.c
src/sys/alpha/include md_var.h src/sys/alpha/pci cia.c
John Baldwin
jhb at FreeBSD.org
Mon Dec 10 12:14:17 PST 2007
jhb 2007-12-10 20:14:16 UTC
FreeBSD src repository
Modified files: (Branch: RELENG_6)
sys/alpha/alpha busdma_machdep.c
sys/alpha/include md_var.h
sys/alpha/pci cia.c
Log:
- Add a workaround for the DMA bugs on some alpha chipsets that ATA DMA
trips over often. Specifically, in these chipsets DMA transfers that
cross a page boundary result in data corruption. The workaround is to
not allow any DMA transfers for non-static DMA maps (i.e. "real"
transfers as opposed to work areas allocated with bus_dmamem_alloc()) to
cross a page in a single S/G element. This behavior is enabled by
setting 'busdma_pyxis_bug' to 1.
- Add a new tunable 'machdep.busdma_pyxis_bug' that can be used to enable
the workaround from the loader. This can be used to enable it on
chipsets where we don't automatically enable it.
- Auto-enable the workaround for buggy PYXIS 1 chipsets supported via
cia(4).
PR: alpha/75317
Revision Changes Path
1.51.2.3 +23 -6 src/sys/alpha/alpha/busdma_machdep.c
1.23.10.1 +1 -0 src/sys/alpha/include/md_var.h
1.44.2.1 +1 -0 src/sys/alpha/pci/cia.c
More information about the cvs-src
mailing list