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>