summaryrefslogtreecommitdiffstats
path: root/sys/conf
diff options
context:
space:
mode:
authorian <ian@FreeBSD.org>2015-10-21 15:06:48 +0000
committerian <ian@FreeBSD.org>2015-10-21 15:06:48 +0000
commitb17e7488f4290ffa56e517dccf0777828aec2e5b (patch)
treede6bbefc3698c45c5670051df007f46a7067d17e /sys/conf
parentfecc322187680be81bc3daf9521c7ad185a16a09 (diff)
downloadFreeBSD-src-b17e7488f4290ffa56e517dccf0777828aec2e5b.zip
FreeBSD-src-b17e7488f4290ffa56e517dccf0777828aec2e5b.tar.gz
Switch mips busdma to using the common busdma_buffalloc code. This amounts
to copying in some code from the armv4 busdma, and adapting a few variable and flag names to match the surrounding mips code. Instead of keeping a local cache of prealloced busdma_map structs on a mutex-protected list, set up an uma zone to cache them. Instead of all memory allocations using M_DEVBUF, use new categories M_BUSDMA for allocations of metadata (tags, maps, segment tracking lists), and M_BOUNCE for bounce pages. When buffers are allocated out of the busdma_bufalloc zones the alignment and size of the buffers is known, and the code can skip doing any "partial cacheline flush" logic to preserve data that may be adjacent to the DMA buffer but contain non-DMA data. Reviewed by: adrian, imp
Diffstat (limited to 'sys/conf')
-rw-r--r--sys/conf/files.mips1
1 files changed, 1 insertions, 0 deletions
diff --git a/sys/conf/files.mips b/sys/conf/files.mips
index 76ad371..d0dd23b 100644
--- a/sys/conf/files.mips
+++ b/sys/conf/files.mips
@@ -50,6 +50,7 @@ mips/mips/vm_machdep.c standard
# misc opt-in bits
kern/kern_clocksource.c standard
kern/link_elf_obj.c standard
+kern/subr_busdma_bufalloc.c standard
kern/subr_dummy_vdso_tc.c standard
kern/subr_sfbuf.c optional mips | mipsel | mipsn32
OpenPOWER on IntegriCloud