Module Name: src
Committed By: riastradh
Date: Mon Aug 27 15:11:58 UTC 2018
Modified Files:
src/sys/external/bsd/drm2/include/drm: bus_dma_hacks.h
Log Message:
Use PHYS_TO_BUS_MEM in generic bus_dmamap_load_pglist code.
For arm and x86, this is a noop. For powerpc, it is defined by some
relevant header file.
To generate a diff of this commit:
cvs rdiff -u -r1.10 -r1.11 \
src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
Modified files:
Index: src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h
diff -u src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h:1.10 src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h:1.11
--- src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h:1.10 Mon Aug 27 07:17:47 2018
+++ src/sys/external/bsd/drm2/include/drm/bus_dma_hacks.h Mon Aug 27 15:11:58 2018
@@ -1,4 +1,4 @@
-/* $NetBSD: bus_dma_hacks.h,v 1.10 2018/08/27 07:17:47 riastradh Exp $ */
+/* $NetBSD: bus_dma_hacks.h,v 1.11 2018/08/27 15:11:58 riastradh Exp $ */
/*-
* Copyright (c) 2013 The NetBSD Foundation, Inc.
@@ -41,11 +41,14 @@
#include <uvm/uvm_extern.h>
#if defined(__i386__) || defined(__x86_64__)
-#include <x86/bus_private.h>
-#include <x86/machdep.h>
+# include <x86/bus_private.h>
+# include <x86/machdep.h>
+# define PHYS_TO_BUS_MEM(dmat, paddr) (paddr)
#elif defined(__arm__) || defined(__aarch64__)
+# define PHYS_TO_BUS_MEM(dmat, paddr) (paddr)
+#elif defined(__powerpc__)
#else
-#error DRM GEM/TTM need new MI bus_dma APIs! Halp!
+# error DRM GEM/TTM need new MI bus_dma APIs! Halp!
#endif
static inline int
@@ -87,7 +90,10 @@ bus_dmamap_load_pglist(bus_dma_tag_t tag
seg = 0;
TAILQ_FOREACH(page, pglist, pageq.queue) {
- segs[seg].ds_addr = VM_PAGE_TO_PHYS(page);
+ paddr_t paddr = VM_PAGE_TO_PHYS(page);
+ bus_addr_t baddr = PHYS_TO_BUS_MEM(tag, paddr);
+
+ segs[seg].ds_addr = baddr;
segs[seg].ds_len = PAGE_SIZE;
seg++;
}