Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/netbsd-2-0]: src/sys/arch/alpha/pci Pull up revision 1.16 (requested by ...
details: https://anonhg.NetBSD.org/src/rev/e6b3d6d410d4
branches: netbsd-2-0
changeset: 561809:e6b3d6d410d4
user: he <he%NetBSD.org@localhost>
date: Fri Jul 02 22:41:04 2004 +0000
description:
Pull up revision 1.16 (requested by mycroft in ticket #582):
Actually initialize the direct-mapped DMA window, which is
clearly not set up by the firmware on the Multia. Now
devices like the built-in tlp actually work.
diffstat:
sys/arch/alpha/pci/lca_dma.c | 17 ++++++++---------
1 files changed, 8 insertions(+), 9 deletions(-)
diffs (45 lines):
diff -r 79026ac756c0 -r e6b3d6d410d4 sys/arch/alpha/pci/lca_dma.c
--- a/sys/arch/alpha/pci/lca_dma.c Fri Jul 02 22:38:26 2004 +0000
+++ b/sys/arch/alpha/pci/lca_dma.c Fri Jul 02 22:41:04 2004 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: lca_dma.c,v 1.15 2001/07/19 18:47:38 thorpej Exp $ */
+/* $NetBSD: lca_dma.c,v 1.15.24.1 2004/07/02 22:41:04 he Exp $ */
/*-
* Copyright (c) 1997, 1998 The NetBSD Foundation, Inc.
@@ -39,7 +39,7 @@
#include <sys/cdefs.h> /* RCS ID & Copyright macro defns */
-__KERNEL_RCSID(0, "$NetBSD: lca_dma.c,v 1.15 2001/07/19 18:47:38 thorpej Exp $");
+__KERNEL_RCSID(0, "$NetBSD: lca_dma.c,v 1.15.24.1 2004/07/02 22:41:04 he Exp $");
#include <sys/param.h>
#include <sys/systm.h>
@@ -160,11 +160,12 @@
t->_dmamem_unmap = _bus_dmamem_unmap;
t->_dmamem_mmap = _bus_dmamem_mmap;
- /*
- * The firmware has set up window 1 as a 1G direct-mapped DMA
- * window beginning at 1G. We leave it alone. Disable
- * window 0.
- */
+ /* Initialize window 1 as a direct-mapped window. */
+ REGVAL64(LCA_IOC_W_BASE1) = LCA_DIRECT_MAPPED_BASE | IOC_W_BASE_WEN;
+ REGVAL64(LCA_IOC_W_MASK1) = IOC_W_MASK_1G;
+ alpha_mb();
+
+ /* Disable window 0 while we set it up. */
REGVAL64(LCA_IOC_W_BASE0) = 0;
alpha_mb();
@@ -181,8 +182,6 @@
*/
REGVAL64(LCA_IOC_W_BASE0) = LCA_SGMAP_MAPPED_BASE |
IOC_W_BASE_SG | IOC_W_BASE_WEN;
- alpha_mb();
-
REGVAL64(LCA_IOC_W_MASK0) = IOC_W_MASK_8M;
alpha_mb();
Home |
Main Index |
Thread Index |
Old Index