aboutsummaryrefslogtreecommitdiff
path: root/sys/mips
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/mips
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/mips')
-rw-r--r--sys/mips/include/bus_dma.h1
-rw-r--r--sys/mips/mips/busdma_machdep.c10
2 files changed, 6 insertions, 5 deletions
diff --git a/sys/mips/include/bus_dma.h b/sys/mips/include/bus_dma.h
index 35dfba26ebd2..2525000179f3 100644
--- a/sys/mips/include/bus_dma.h
+++ b/sys/mips/include/bus_dma.h
@@ -30,5 +30,6 @@
#define _MIPS_BUS_DMA_H_
#include <sys/bus_dma.h>
+#include <sys/bus_dma_internal.h>
#endif /* _MIPS_BUS_DMA_H_ */
diff --git a/sys/mips/mips/busdma_machdep.c b/sys/mips/mips/busdma_machdep.c
index d8cf8cb85828..90cc376a4e17 100644
--- a/sys/mips/mips/busdma_machdep.c
+++ b/sys/mips/mips/busdma_machdep.c
@@ -930,7 +930,7 @@ _bus_dmamap_load_phys(bus_dma_tag_t dmat, bus_dmamap_t map,
* Did we fit?
*/
if (buflen != 0) {
- _bus_dmamap_unload(dmat, map);
+ bus_dmamap_unload(dmat, map);
return (EFBIG); /* XXX better return value here? */
}
return (0);
@@ -1028,14 +1028,14 @@ cleanup:
* Did we fit?
*/
if (buflen != 0) {
- _bus_dmamap_unload(dmat, map);
+ bus_dmamap_unload(dmat, map);
error = EFBIG; /* XXX better return value here? */
}
return (error);
}
void
-__bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map,
+_bus_dmamap_waitok(bus_dma_tag_t dmat, bus_dmamap_t map,
struct memdesc *mem, bus_dmamap_callback_t *callback, void *callback_arg)
{
@@ -1060,7 +1060,7 @@ _bus_dmamap_complete(bus_dma_tag_t dmat, bus_dmamap_t map,
* Release the mapping held by map.
*/
void
-_bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map)
+bus_dmamap_unload(bus_dma_tag_t dmat, bus_dmamap_t map)
{
struct bounce_page *bpage;
@@ -1233,7 +1233,7 @@ _bus_dmamap_sync_bp(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
}
void
-_bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
+bus_dmamap_sync(bus_dma_tag_t dmat, bus_dmamap_t map, bus_dmasync_op_t op)
{
struct sync_list *sl, *end;
int aligned;