Date: Tue, 5 Mar 2013 20:00:11 +0000 (UTC) From: Oleksandr Tymoshenko <gonzo@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org Subject: svn commit: r247855 - head/sys/arm/broadcom/bcm2835 Message-ID: <201303052000.r25K0BIn007618@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: gonzo Date: Tue Mar 5 20:00:11 2013 New Revision: 247855 URL: http://svnweb.freebsd.org/changeset/base/247855 Log: - Reset DMA channel if error occured - Initialize info field in bcm_dma_reset Submitted by: Daisuke Aoyama <aoyama@peach.ne.jp> Modified: head/sys/arm/broadcom/bcm2835/bcm2835_dma.c Modified: head/sys/arm/broadcom/bcm2835/bcm2835_dma.c ============================================================================== --- head/sys/arm/broadcom/bcm2835/bcm2835_dma.c Tue Mar 5 19:37:29 2013 (r247854) +++ head/sys/arm/broadcom/bcm2835/bcm2835_dma.c Tue Mar 5 20:00:11 2013 (r247855) @@ -199,6 +199,7 @@ bcm_dma_reset(device_t dev, int ch) /* Reset control block */ cb = sc->sc_dma_ch[ch].cb; bzero(cb, sizeof(cb)); + cb->info = INFO_WAIT_RESP; } static int @@ -615,6 +616,7 @@ bcm_dma_intr(void *arg) debug & DEBUG_ERROR_MASK, ch->ch); bus_write_4(sc->sc_mem, BCM_DMA_DEBUG(ch->ch), debug & DEBUG_ERROR_MASK); + bcm_dma_reset(sc->sc_dev, ch->ch); } if (cs & CS_INT) {
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201303052000.r25K0BIn007618>