Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 18 Jul 2006 23:10:57 GMT
From:      Olivier Houchard <cognet@FreeBSD.org>
To:        Perforce Change Reviews <perforce@freebsd.org>
Subject:   PERFORCE change 101889 for review
Message-ID:  <200607182310.k6INAvqm042932@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=101889

Change 101889 by cognet@cognet on 2006/07/18 23:10:11

	Add some code to use rman to manage the memory mapped registers from
	the IXP425.
	This code is untested, we will need it for the ethernet driver as the
	ethernet adapter is directly on the chip.

Affected files ...

.. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#3 edit
.. //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#2 edit

Differences ...

==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425.c#3 (text+ko) ====

@@ -121,6 +121,12 @@
 	    rman_manage_region(&sc->sc_irq_rman, 0, 31) != 0)
 		panic("ixp425_attach: failed to set up IRQ rman");
 
+	sc->sc_sysmem_rman.rm_type = RMAN_ARRAY;
+	sc->sc_sysmem_rman.rm_descr = "IXP425 System memory";
+	if (rman_init(&sc->sc_sysmem_rman) != 0 ||
+	    rman_manage_region(&sc->sc_sysmem_rman, IXP425_IO_VBASE,
+	    IXP425_IO_VBASE + IXP425_IO_SIZE) != 0)
+		panic("ixp425_attach: failed to set up sys mem rman");
 	device_add_child(dev, "ixpclk", 0);
 	bus_generic_probe(dev);
 	bus_generic_attach(dev);
@@ -204,6 +210,15 @@
 			rman_set_rid(rv, *rid);
 		return (rv);
 	}
+	if (type == SYS_RES_MEMORY) {
+		rv = rman_reserve_resource(&sc->sc_sysmem_rman,
+		    start, end, count, flags, child);
+		if (rv != NULL) {
+			rman_set_bustag(rv, &ixp425_bs_tag);
+			rman_set_bushandle(rv, start);
+			return (rv);
+		}
+	}
 	return (NULL);
 }
 

==== //depot/projects/arm/src/sys/arm/xscale/ixp425/ixp425var.h#2 (text+ko) ====

@@ -80,6 +80,7 @@
 	struct bus_space sc_pci_memt;
 	vm_offset_t sc_pci_va;
 	struct rman sc_irq_rman;
+	struct rman sc_sysmem_rman;
 
 	/* GPIO configuration */
 	u_int32_t sc_gpio_out;



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200607182310.k6INAvqm042932>