Source-Changes-HG archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
[src/trunk]: src/sys/arch/arm/xscale Move the DMA tag initialization function...
details: https://anonhg.NetBSD.org/src/rev/4e295a201e0d
branches: trunk
changeset: 534674:4e295a201e0d
user: thorpej <thorpej%NetBSD.org@localhost>
date: Thu Aug 01 19:55:02 2002 +0000
description:
Move the DMA tag initialization functions into i80312.c.
diffstat:
sys/arch/arm/xscale/files.i80312 | 3 +-
sys/arch/arm/xscale/i80312.c | 55 ++++++++++++++++++++---
sys/arch/arm/xscale/i80312_pci_dma.c | 83 ------------------------------------
sys/arch/arm/xscale/i80312var.h | 4 +-
4 files changed, 49 insertions(+), 96 deletions(-)
diffs (220 lines):
diff -r f4be9c715f85 -r 4e295a201e0d sys/arch/arm/xscale/files.i80312
--- a/sys/arch/arm/xscale/files.i80312 Thu Aug 01 19:40:07 2002 +0000
+++ b/sys/arch/arm/xscale/files.i80312 Thu Aug 01 19:55:02 2002 +0000
@@ -1,4 +1,4 @@
-# $NetBSD: files.i80312,v 1.5 2002/04/12 19:02:30 thorpej Exp $
+# $NetBSD: files.i80312,v 1.6 2002/08/01 19:55:03 thorpej Exp $
#
# Configuration info for Intel i80312 Companion I/O support
#
@@ -10,5 +10,4 @@
file arch/arm/xscale/i80312.c iopxs
file arch/arm/xscale/i80312_gpio.c iopxs
file arch/arm/xscale/i80312_pci.c iopxs
-file arch/arm/xscale/i80312_pci_dma.c iopxs
file arch/arm/xscale/i80312_space.c iopxs
diff -r f4be9c715f85 -r 4e295a201e0d sys/arch/arm/xscale/i80312.c
--- a/sys/arch/arm/xscale/i80312.c Thu Aug 01 19:40:07 2002 +0000
+++ b/sys/arch/arm/xscale/i80312.c Thu Aug 01 19:55:02 2002 +0000
@@ -1,7 +1,7 @@
-/* $NetBSD: i80312.c,v 1.9 2002/05/16 01:01:33 thorpej Exp $ */
+/* $NetBSD: i80312.c,v 1.10 2002/08/01 19:55:03 thorpej Exp $ */
/*
- * Copyright (c) 2001 Wasabi Systems, Inc.
+ * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
* All rights reserved.
*
* Written by Jason R. Thorpe for Wasabi Systems, Inc.
@@ -43,6 +43,7 @@
#include <sys/systm.h>
#include <sys/device.h>
+#define _ARM32_BUS_DMA_PRIVATE
#include <machine/bus.h>
#include <arm/xscale/i80312reg.h>
@@ -63,7 +64,9 @@
*/
struct i80312_softc *i80312_softc;
-int i80312_pcibus_print(void *, const char *);
+static void i80312_pci_dma_init(struct i80312_softc *);
+
+static int i80312_pcibus_print(void *, const char *);
/*
* i80312_attach:
@@ -251,14 +254,16 @@
(1 << PCI_BRIDGE_BUS_SUBORDINATE_SHIFT));
}
- /*
- * Initialize the bus space and DMA tags and the PCI chipset tag.
- */
+ /* Initialize the bus space tags. */
i80312_io_bs_init(&sc->sc_pci_iot, sc);
i80312_mem_bs_init(&sc->sc_pci_memt, sc);
- i80312_pci_dma_init(&sc->sc_pci_dmat, sc);
+
+ /* Initialize the PCI chipset tag. */
i80312_pci_init(&sc->sc_pci_chipset, sc);
+ /* Initialize the DMA tags. */
+ i80312_pci_dma_init(sc);
+
/*
* Attach the PCI bus.
*
@@ -288,7 +293,7 @@
* Autoconfiguration cfprint routine when attaching
* to the "pcibus" attribute.
*/
-int
+static int
i80312_pcibus_print(void *aux, const char *pnp)
{
struct pcibus_attach_args *pba = aux;
@@ -300,3 +305,37 @@
return (UNCONF);
}
+
+/*
+ * i80312_pci_dma_init:
+ *
+ * Initialize the PCI DMA tag.
+ */
+static void
+i80312_pci_dma_init(struct i80312_softc *sc)
+{
+ bus_dma_tag_t dmat = &sc->sc_pci_dmat;
+ struct arm32_dma_range *dr = &sc->sc_pci_dma_range;
+
+ dr->dr_sysbase = sc->sc_sin_xlate;
+ dr->dr_busbase = sc->sc_sin_base;
+ dr->dr_len = sc->sc_sin_size;
+
+ dmat->_ranges = dr;
+ dmat->_nranges = 1;
+
+ dmat->_dmamap_create = _bus_dmamap_create;
+ dmat->_dmamap_destroy = _bus_dmamap_destroy;
+ dmat->_dmamap_load = _bus_dmamap_load;
+ dmat->_dmamap_load_mbuf = _bus_dmamap_load_mbuf;
+ dmat->_dmamap_load_uio = _bus_dmamap_load_uio;
+ dmat->_dmamap_load_raw = _bus_dmamap_load_raw;
+ dmat->_dmamap_unload = _bus_dmamap_unload;
+ dmat->_dmamap_sync = _bus_dmamap_sync;
+
+ dmat->_dmamem_alloc = _bus_dmamem_alloc;
+ dmat->_dmamem_free = _bus_dmamem_free;
+ dmat->_dmamem_map = _bus_dmamem_map;
+ dmat->_dmamem_unmap = _bus_dmamem_unmap;
+ dmat->_dmamem_mmap = _bus_dmamem_mmap;
+}
diff -r f4be9c715f85 -r 4e295a201e0d sys/arch/arm/xscale/i80312_pci_dma.c
--- a/sys/arch/arm/xscale/i80312_pci_dma.c Thu Aug 01 19:40:07 2002 +0000
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,83 +0,0 @@
-/* $NetBSD: i80312_pci_dma.c,v 1.5 2002/07/31 17:34:25 thorpej Exp $ */
-
-/*
- * Copyright (c) 2001, 2002 Wasabi Systems, Inc.
- * All rights reserved.
- *
- * Written by Jason R. Thorpe for Wasabi Systems, Inc.
- *
- * Redistribution and use in source and binary forms, with or without
- * modification, are permitted provided that the following conditions
- * are met:
- * 1. Redistributions of source code must retain the above copyright
- * notice, this list of conditions and the following disclaimer.
- * 2. Redistributions in binary form must reproduce the above copyright
- * notice, this list of conditions and the following disclaimer in the
- * documentation and/or other materials provided with the distribution.
- * 3. All advertising materials mentioning features or use of this software
- * must display the following acknowledgement:
- * This product includes software developed for the NetBSD Project by
- * Wasabi Systems, Inc.
- * 4. The name of Wasabi Systems, Inc. may not be used to endorse
- * or promote products derived from this software without specific prior
- * written permission.
- *
- * THIS SOFTWARE IS PROVIDED BY WASABI SYSTEMS, INC. ``AS IS'' AND
- * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED
- * TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
- * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL WASABI SYSTEMS, INC
- * BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- * POSSIBILITY OF SUCH DAMAGE.
- */
-
-/*
- * PCI DMA support for i80312 Companion I/O chip.
- */
-
-#include <sys/param.h>
-#include <sys/systm.h>
-#include <sys/device.h>
-#include <sys/malloc.h>
-#include <sys/mbuf.h>
-
-#include <uvm/uvm_extern.h>
-
-#define _ARM32_BUS_DMA_PRIVATE
-#include <machine/bus.h>
-
-#include <arm/xscale/i80312reg.h>
-#include <arm/xscale/i80312var.h>
-
-void
-i80312_pci_dma_init(bus_dma_tag_t dmat, void *cookie)
-{
- struct i80312_softc *sc = cookie;
- struct arm32_dma_range *dr = &sc->sc_pci_dma_range;
-
- dr->dr_sysbase = sc->sc_sin_xlate;
- dr->dr_busbase = sc->sc_sin_base;
- dr->dr_len = sc->sc_sin_size;
-
- dmat->_ranges = dr;
- dmat->_nranges = 1;
-
- dmat->_dmamap_create = _bus_dmamap_create;
- dmat->_dmamap_destroy = _bus_dmamap_destroy;
- dmat->_dmamap_load = _bus_dmamap_load;
- dmat->_dmamap_load_mbuf = _bus_dmamap_load_mbuf;
- dmat->_dmamap_load_uio = _bus_dmamap_load_uio;
- dmat->_dmamap_load_raw = _bus_dmamap_load_raw;
- dmat->_dmamap_unload = _bus_dmamap_unload;
- dmat->_dmamap_sync = _bus_dmamap_sync;
-
- dmat->_dmamem_alloc = _bus_dmamem_alloc;
- dmat->_dmamem_free = _bus_dmamem_free;
- dmat->_dmamem_map = _bus_dmamem_map;
- dmat->_dmamem_unmap = _bus_dmamem_unmap;
- dmat->_dmamem_mmap = _bus_dmamem_mmap;
-}
diff -r f4be9c715f85 -r 4e295a201e0d sys/arch/arm/xscale/i80312var.h
--- a/sys/arch/arm/xscale/i80312var.h Thu Aug 01 19:40:07 2002 +0000
+++ b/sys/arch/arm/xscale/i80312var.h Thu Aug 01 19:55:02 2002 +0000
@@ -1,4 +1,4 @@
-/* $NetBSD: i80312var.h,v 1.6 2002/07/31 17:34:25 thorpej Exp $ */
+/* $NetBSD: i80312var.h,v 1.7 2002/08/01 19:55:03 thorpej Exp $ */
/*
* Copyright (c) 2001, 2002 Wasabi Systems, Inc.
@@ -176,8 +176,6 @@
void i80312_gpio_set_val(uint8_t, uint8_t);
uint8_t i80312_gpio_get_val(void);
-void i80312_pci_dma_init(bus_dma_tag_t, void *);
-
void i80312_pci_init(pci_chipset_tag_t, void *);
#endif /* _ARM_XSCALE_I80312VAR_H_ */
Home |
Main Index |
Thread Index |
Old Index