summaryrefslogtreecommitdiff
path: root/sys/arch/alpha/pci/cia_dma.c
diff options
context:
space:
mode:
authorBrad Smith <brad@cvs.openbsd.org>2006-04-04 21:20:41 +0000
committerBrad Smith <brad@cvs.openbsd.org>2006-04-04 21:20:41 +0000
commit847f0d652dcf6c9019be074ee1f04b6ed4ff788a (patch)
tree477cef55159c6b92d441b89938f28d87e5b6c5e3 /sys/arch/alpha/pci/cia_dma.c
parent6e1fce54ffe410977ee0c4d562ab9a698eb55496 (diff)
Add a `prefetch threshold' member to the bus_dma_tag_t, so that
eventually we can determine whether or not to allocate a spill page on a per-mapping basis. From NetBSD ok martin@
Diffstat (limited to 'sys/arch/alpha/pci/cia_dma.c')
-rw-r--r--sys/arch/alpha/pci/cia_dma.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sys/arch/alpha/pci/cia_dma.c b/sys/arch/alpha/pci/cia_dma.c
index 37394c9e799..5cc6c2a3fb4 100644
--- a/sys/arch/alpha/pci/cia_dma.c
+++ b/sys/arch/alpha/pci/cia_dma.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: cia_dma.c,v 1.6 2006/03/20 01:00:58 martin Exp $ */
+/* $OpenBSD: cia_dma.c,v 1.7 2006/04/04 21:20:40 brad Exp $ */
/* $NetBSD: cia_dma.c,v 1.16 2000/06/29 08:58:46 mrg Exp $ */
/*-
@@ -90,6 +90,9 @@ void cia_bus_dmamap_unload_sgmap(bus_dma_tag_t, bus_dmamap_t);
#define CIA_SGMAP_MAPPED_BASE (8*1024*1024)
#define CIA_SGMAP_MAPPED_SIZE (8*1024*1024)
+/* ALCOR/ALGOR2/PYXIS have a 256-byte out-bound DMA prefetch threshold. */
+#define CIA_SGMAP_PFTHRESH 256
+
void cia_tlb_invalidate(void);
void cia_broken_pyxis_tlb_invalidate(void);
@@ -144,6 +147,7 @@ cia_dma_init(ccp)
t->_next_window = NULL;
t->_boundary = 0;
t->_sgmap = &ccp->cc_sgmap;
+ t->_pfthresh = CIA_SGMAP_PFTHRESH;
t->_get_tag = cia_dma_get_tag;
t->_dmamap_create = alpha_sgmap_dmamap_create;
t->_dmamap_destroy = alpha_sgmap_dmamap_destroy;