svn commit: r247855 - head/sys/arm/broadcom/bcm2835

Oleksandr Tymoshenko gonzo at FreeBSD.org
Tue Mar 5 20:00:12 UTC 2013


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 at 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) {


More information about the svn-src-all mailing list