Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 6 Apr 2008 14:42:17 GMT
From:      Oleksandr Tymoshenko <gonzo@FreeBSD.org>
To:        Perforce Change Reviews <perforce@FreeBSD.org>
Subject:   PERFORCE change 139455 for review
Message-ID:  <200804061442.m36EgHsD079485@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
http://perforce.freebsd.org/chv.cgi?CH=139455

Change 139455 by gonzo@gonzo_jeeves on 2008/04/06 14:41:17

	o ACK TX interrupt by writing to Status register of DMA channel 1 (tx)
	o sync TX descriptors after all operations has been performed on them
	o We should care only about F and E interrupts for TX descriptor.

Affected files ...

.. //depot/projects/mips2-jnpr/src/sys/mips/mips32/idt/if_kr.c#3 edit

Differences ...

==== //depot/projects/mips2-jnpr/src/sys/mips/mips32/idt/if_kr.c#3 (text+ko) ====

@@ -1425,6 +1425,9 @@
 	}
 
 	sc->kr_cdata.kr_tx_cons = cons;
+
+	bus_dmamap_sync(sc->kr_cdata.kr_tx_ring_tag,
+	    sc->kr_cdata.kr_tx_ring_map, BUS_DMASYNC_PREWRITE);
 }
 
 
@@ -1574,9 +1577,11 @@
 			device_printf(sc->kr_dev, "DMA error\n");
 	}
 
-	/* Enable F, H, E interrupts */
+	KR_DMA_WRITE_REG(KR_DMA_TXCHAN, DMA_S, ~status);
+
+	/* Enable F, E interrupts */
 	KR_DMA_CLEARBITS_REG(KR_DMA_TXCHAN, DMA_SM, 
-	    DMA_SM_D | DMA_SM_H | DMA_SM_E);
+	    DMA_SM_F | DMA_SM_E);
 
 	KR_UNLOCK(sc);
 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200804061442.m36EgHsD079485>