PERFORCE change 91781 for review
Olivier Houchard
cognet at FreeBSD.org
Tue Feb 14 18:31:30 PST 2006
http://perforce.freebsd.org/chv.cgi?CH=91781
Change 91781 by cognet at cognet on 2006/02/15 02:31:05
Implement a dummy barrier function.
XXX: stubs should be provided elsewhere for this kind of things.
Handle USB memory at rman level.
Affected files ...
.. //depot/projects/arm/src/sys/arm/at91/at91.c#6 edit
.. //depot/projects/arm/src/sys/arm/at91/at91var.h#3 edit
Differences ...
==== //depot/projects/arm/src/sys/arm/at91/at91.c#6 (text+ko) ====
@@ -84,6 +84,12 @@
return (0);
}
+static void
+at91_barrier(void *t, bus_space_handle_t bsh, bus_size_t size, bus_size_t b,
+ int a)
+{
+}
+
bs_protos(generic);
bs_protos(generic_armv4);
@@ -101,7 +107,7 @@
NULL,
/* barrier */
- NULL,
+ at91_barrier,
/* read (single) */
generic_bs_r_1,
@@ -228,6 +234,8 @@
sc->sc_irq_rman.rm_descr = "AT91RM92 IRQs";
sc->sc_mem_rman.rm_type = RMAN_ARRAY;
sc->sc_mem_rman.rm_descr = "AT91RM92 Memory";
+ sc->sc_usbmem_rman.rm_type = RMAN_ARRAY;
+ sc->sc_usbmem_rman.rm_descr = "AT91RM92 USB Memory-mapped regs";
if (rman_init(&sc->sc_irq_rman) != 0 ||
rman_manage_region(&sc->sc_irq_rman, 1, 31) != 0)
panic("at91_attach: failed to set up IRQ rman");
@@ -235,6 +243,10 @@
rman_manage_region(&sc->sc_mem_rman, 0xfff00000ul,
0xfffffffful) != 0)
panic("at91_attach: failed to set up memory rman");
+ if (rman_init(&sc->sc_usbmem_rman) != 0 ||
+ rman_manage_region(&sc->sc_usbmem_rman, 0x00300000,
+ 0x003fffff) != 0)
+ panic("at91_attach: failed to set up USB memory rman");
for (i = 0; i < 32; i++) {
bus_space_write_4(sc->sc_st, sc->sc_sys_sh, IC_SVR +
@@ -340,8 +352,12 @@
start, end, count, flags, child);
break;
case SYS_RES_MEMORY:
- rle->res = rman_reserve_resource(&sc->sc_mem_rman,
- start, end, count, flags, child);
+ if (start >= 0x00300000 && start <= 0x003fffff)
+ rle->res = rman_reserve_resource(&sc->sc_usbmem_rman,
+ start, end, count, flags, child);
+ else
+ rle->res = rman_reserve_resource(&sc->sc_mem_rman,
+ start, end, count, flags, child);
rman_set_bustag(rle->res, &at91_bs_tag);
rman_set_bushandle(rle->res, start);
break;
==== //depot/projects/arm/src/sys/arm/at91/at91var.h#3 (text+ko) ====
@@ -36,6 +36,7 @@
bus_space_handle_t sc_sys_sh;
struct rman sc_irq_rman;
struct rman sc_mem_rman;
+ struct rman sc_usbmem_rman;
};
struct at91_ivar {
More information about the p4-projects
mailing list