summaryrefslogtreecommitdiff
path: root/sys/arch/sgi/include
diff options
context:
space:
mode:
authorMiod Vallat <miod@cvs.openbsd.org>2009-07-17 18:06:52 +0000
committerMiod Vallat <miod@cvs.openbsd.org>2009-07-17 18:06:52 +0000
commita6e6be278ab9f3522f60c3dbe43c13a2c5613f41 (patch)
tree86567eacd011625c497e805dc558864d83f73b4b /sys/arch/sgi/include
parentb5bbaedc253e1406375563930e7f02d209b16642 (diff)
Update bus_dma to the better codebase found on almost all other platforms,
where the common part to all bus_dmamap_load*() functions is implemented in in an internal load_buffer routine. This allows the xbridge-specific dma code to only provide this function, instead of three; and this also brings us a working bus_dmamap_load_uio() on all supported sgi machines, which in turns make crpyto(4) devices really work. Tested with hifn(4).
Diffstat (limited to 'sys/arch/sgi/include')
-rw-r--r--sys/arch/sgi/include/bus.h6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arch/sgi/include/bus.h b/sys/arch/sgi/include/bus.h
index 6b5d7490712..1f6e5585f5c 100644
--- a/sys/arch/sgi/include/bus.h
+++ b/sys/arch/sgi/include/bus.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: bus.h,v 1.15 2009/05/31 17:42:13 miod Exp $ */
+/* $OpenBSD: bus.h,v 1.16 2009/07/17 18:06:49 miod Exp $ */
/*
* Copyright (c) 2003-2004 Opsycon AB Sweden. All rights reserved.
@@ -370,6 +370,8 @@ struct machine_bus_dma_tag {
struct uio *, int);
int (*_dmamap_load_raw)(bus_dma_tag_t , bus_dmamap_t,
bus_dma_segment_t *, int, bus_size_t, int);
+ int (*_dmamap_load_buffer)(bus_dma_tag_t, bus_dmamap_t, void *,
+ bus_size_t, struct proc *, int, paddr_t *, int *, int);
void (*_dmamap_unload)(bus_dma_tag_t , bus_dmamap_t);
void (*_dmamap_sync)(bus_dma_tag_t , bus_dmamap_t,
bus_addr_t, bus_size_t, int);
@@ -432,6 +434,8 @@ int _dmamap_load_mbuf(bus_dma_tag_t, bus_dmamap_t, struct mbuf *, int);
int _dmamap_load_uio(bus_dma_tag_t, bus_dmamap_t, struct uio *, int);
int _dmamap_load_raw(bus_dma_tag_t, bus_dmamap_t,
bus_dma_segment_t *, int, bus_size_t, int);
+int _dmamap_load_buffer(bus_dma_tag_t, bus_dmamap_t, void *,
+ bus_size_t, struct proc *, int, paddr_t *, int *, int);
void _dmamap_unload(bus_dma_tag_t, bus_dmamap_t);
void _dmamap_sync(bus_dma_tag_t, bus_dmamap_t, bus_addr_t,
bus_size_t, int);