at91_spi.c (166901) | at91_spi.c (167082) |
---|---|
1/*- 2 * Copyright (c) 2006 M. Warner Losh. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 9 unchanged lines hidden (view full) --- 18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 */ 24 25#include <sys/cdefs.h> | 1/*- 2 * Copyright (c) 2006 M. Warner Losh. All rights reserved. 3 * 4 * Redistribution and use in source and binary forms, with or without 5 * modification, are permitted provided that the following conditions 6 * are met: 7 * 1. Redistributions of source code must retain the above copyright 8 * notice, this list of conditions and the following disclaimer. --- 9 unchanged lines hidden (view full) --- 18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, 19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY 20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT 21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF 22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. 23 */ 24 25#include <sys/cdefs.h> |
26__FBSDID("$FreeBSD: head/sys/arm/at91/at91_spi.c 166901 2007-02-23 12:19:07Z piso $"); | 26__FBSDID("$FreeBSD: head/sys/arm/at91/at91_spi.c 167082 2007-02-27 17:15:39Z jhb $"); |
27 28#include <sys/param.h> 29#include <sys/systm.h> 30#include <sys/bus.h> 31#include <sys/conf.h> 32#include <sys/kernel.h> 33#include <sys/mbuf.h> 34#include <sys/malloc.h> --- 208 unchanged lines hidden (view full) --- 243 bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); 244 mode[i++] = BUS_DMASYNC_POSTREAD; 245 } 246 WR4(sc, SPI_IER, SPI_SR_ENDRX); 247 WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN); 248 249 rxdone = sc->rxdone; 250 do { | 27 28#include <sys/param.h> 29#include <sys/systm.h> 30#include <sys/bus.h> 31#include <sys/conf.h> 32#include <sys/kernel.h> 33#include <sys/mbuf.h> 34#include <sys/malloc.h> --- 208 unchanged lines hidden (view full) --- 243 bus_dmamap_sync(sc->dmatag, sc->map[i], BUS_DMASYNC_PREREAD); 244 mode[i++] = BUS_DMASYNC_POSTREAD; 245 } 246 WR4(sc, SPI_IER, SPI_SR_ENDRX); 247 WR4(sc, PDC_PTCR, PDC_PTCR_TXTEN | PDC_PTCR_RXTEN); 248 249 rxdone = sc->rxdone; 250 do { |
251 err = msleep(&sc->rxdone, NULL, PCATCH | PZERO, "spi", hz); | 251 err = tsleep(&sc->rxdone, PCATCH | PZERO, "spi", hz); |
252 } while (rxdone == sc->rxdone && err != EINTR); 253 WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); 254 if (err == 0) { 255 for (j = 0; j < i; j++) 256 bus_dmamap_sync(sc->dmatag, sc->map[j], mode[j]); 257 } 258 for (j = 0; j < i; j++) 259 bus_dmamap_unload(sc->dmatag, sc->map[j]); --- 45 unchanged lines hidden --- | 252 } while (rxdone == sc->rxdone && err != EINTR); 253 WR4(sc, PDC_PTCR, PDC_PTCR_TXTDIS | PDC_PTCR_RXTDIS); 254 if (err == 0) { 255 for (j = 0; j < i; j++) 256 bus_dmamap_sync(sc->dmatag, sc->map[j], mode[j]); 257 } 258 for (j = 0; j < i; j++) 259 bus_dmamap_unload(sc->dmatag, sc->map[j]); --- 45 unchanged lines hidden --- |