aboutsummaryrefslogtreecommitdiff
path: root/sys/powerpc
diff options
context:
space:
mode:
authorAdrian Chadd <adrian@FreeBSD.org>2026-04-01 00:23:56 +0000
committerAdrian Chadd <adrian@FreeBSD.org>2026-05-01 21:14:59 +0000
commitc7040d3eaa03a9dd27fde69ccf585a76dfbb2c6c (patch)
treeef50af626c0364e06fb4e717ea4e7e9305e99fcd /sys/powerpc
parent7c57d2499ceee81aa386430d4d9e6d9080d50f94 (diff)
Diffstat (limited to 'sys/powerpc')
-rw-r--r--sys/powerpc/powerpc/busdma_bounce.c31
1 files changed, 14 insertions, 17 deletions
diff --git a/sys/powerpc/powerpc/busdma_bounce.c b/sys/powerpc/powerpc/busdma_bounce.c
index df66f69b9f02..39e40b3a4284 100644
--- a/sys/powerpc/powerpc/busdma_bounce.c
+++ b/sys/powerpc/powerpc/busdma_bounce.c
@@ -32,9 +32,9 @@
#include <sys/param.h>
#include <sys/systm.h>
+#include <sys/domainset.h>
#include <sys/malloc.h>
#include <sys/bus.h>
-#include <sys/domainset.h>
#include <sys/interrupt.h>
#include <sys/kernel.h>
#include <sys/ktr.h>
@@ -68,6 +68,18 @@ enum {
BF_COHERENT = 0x10,
};
+struct bounce_page;
+struct bounce_zone;
+
+struct bus_dma_tag {
+ struct bus_dma_tag_common common;
+ int map_count;
+ int bounce_flags;
+ struct bounce_zone *bounce_zone;
+ device_t iommu;
+ void *iommu_cookie;
+};
+
struct bus_dmamap {
STAILQ_HEAD(, bounce_page) bpages;
int pagesneeded;
@@ -86,8 +98,7 @@ struct bus_dmamap {
static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata");
#define dmat_alignment(dmat) ((dmat)->common.alignment)
-/* XXX TODO: bounce flags? */
-#define dmat_bounce_flags(dmat) (0)
+#define dmat_bounce_flags(dmat) ((dmat)->bounce_flags)
#define dmat_boundary(dmat) ((dmat)->common.boundary)
#define dmat_domain(dmat) ((dmat)->common.domain)
#define dmat_flags(dmat) ((dmat)->common.flags)
@@ -98,20 +109,6 @@ static MALLOC_DEFINE(M_BUSDMA, "busdma", "busdma metadata");
#define dmat_maxsegsz(dmat) ((dmat)->common.maxsegsz)
#define dmat_nsegments(dmat) ((dmat)->common.nsegments)
-/*
- * Note: at this point the code requires a 'struct bus_dma_tag' to exist
- * or the included code will not function correctly.
- */
-
-struct bus_dma_tag {
- struct bus_dma_tag_common common;
- int map_count;
- int bounce_flags;
- struct bounce_zone *bounce_zone;
- device_t iommu;
- void *iommu_cookie;
-};
-
static SYSCTL_NODE(_hw, OID_AUTO, busdma, CTLFLAG_RD | CTLFLAG_MPSAFE, 0,
"Busdma parameters");