Date: Wed, 15 Feb 2006 02:31:28 GMT From: Olivier Houchard <cognet@FreeBSD.org> To: Perforce Change Reviews <perforce@freebsd.org> Subject: PERFORCE change 91781 for review Message-ID: <200602150231.k1F2VSUK063929@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=91781 Change 91781 by cognet@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 {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200602150231.k1F2VSUK063929>