aboutsummaryrefslogtreecommitdiff
path: root/sys/arm64/include/bus_dma_impl.h
diff options
context:
space:
mode:
authorJason A. Harmening <jah@FreeBSD.org>2017-07-01 05:35:29 +0000
committerJason A. Harmening <jah@FreeBSD.org>2017-07-01 05:35:29 +0000
commiteb36b1d0bc5f7ece94083e6e509da41117a76566 (patch)
tree07a2e3d5a52c83df1b8cd0a69defb89adb4b4cdf /sys/arm64/include/bus_dma_impl.h
parent545414213d777df779948c28b21d3d81c12bff20 (diff)
downloadsrc-eb36b1d0bc5f7ece94083e6e509da41117a76566.tar.gz
src-eb36b1d0bc5f7ece94083e6e509da41117a76566.zip
Clean up MD pollution of bus_dma.h:
--Remove special-case handling of sparc64 bus_dmamap* functions. Replace with a more generic mechanism that allows MD busdma implementations to generate inline mapping functions by defining WANT_INLINE_DMAMAP in <machine/bus_dma.h>. This is currently useful for sparc64, x86, and arm64, which all implement non-load dmamap operations as simple wrappers around map objects which may be bus- or device-specific. --Remove NULL-checked bus_dmamap macros. Implement the equivalent NULL checks in the inlined x86 implementation. For non-x86 platforms, these checks are a minor pessimization as those platforms do not currently allow NULL maps. NULL maps were originally allowed on arm64, which appears to have been the motivation behind adding arm[64]-specific barriers to bus_dma.h, but that support was removed in r299463. --Simplify the internal interface used by the bus_dmamap_load* variants and move it to bus_dma_internal.h --Fix some drivers that directly include sys/bus_dma.h despite the recommendations of bus_dma(9) Reviewed by: kib (previous revision), marius Differential Revision: https://reviews.freebsd.org/D10729
Notes
Notes: svn path=/head/; revision=320528
Diffstat (limited to 'sys/arm64/include/bus_dma_impl.h')
-rw-r--r--sys/arm64/include/bus_dma_impl.h2
1 files changed, 1 insertions, 1 deletions
diff --git a/sys/arm64/include/bus_dma_impl.h b/sys/arm64/include/bus_dma_impl.h
index 354290e73e26..64bac5410294 100644
--- a/sys/arm64/include/bus_dma_impl.h
+++ b/sys/arm64/include/bus_dma_impl.h
@@ -70,7 +70,7 @@ struct bus_dma_impl {
vm_paddr_t buf, bus_size_t buflen, int flags,
bus_dma_segment_t *segs, int *segp);
int (*load_buffer)(bus_dma_tag_t dmat, bus_dmamap_t map,
- void *buf, bus_size_t buflen, pmap_t pmap, int flags,
+ void *buf, bus_size_t buflen, struct pmap *pmap, int flags,
bus_dma_segment_t *segs, int *segp);
void (*map_waitok)(bus_dma_tag_t dmat, bus_dmamap_t map,
struct memdesc *mem, bus_dmamap_callback_t *callback,