Date: Wed, 6 Jan 2010 23:42:15 +0000 (UTC) From: Pyun YongHyeon <yongari@FreeBSD.org> To: cvs-src-old@freebsd.org Subject: cvs commit: src/sys/dev/bge if_bge.c if_bgereg.h Message-ID: <201001062342.o06NgQpv052404@repoman.freebsd.org>
next in thread | raw e-mail | index | archive | help
yongari 2010-01-06 23:42:15 UTC FreeBSD src repository Modified files: (Branch: RELENG_8) sys/dev/bge if_bge.c if_bgereg.h Log: SVN rev 201697 on 2010-01-06 23:42:15Z by yongari MFC r199667-199668 r199667: Cache Rx producer/Tx consumer index as soon as we know status block update and then clear status block. Previously it used to access these index without synchronization which may cause problems when bounce buffers are used. Also add missing bus_dmamap_sync(9) in polling handler. Since we now update status block in driver, adjust bus_dmamap_sync(9) for status block. r199668: For MSI case, interrupt is not shared and we don't need to force PCI flush to get correct status block update. Add an optimized interrupt handler that is activated for MSI case. Actual interrupt handling is done by taskqueue such that the handler does not require driver lock for Rx path. The MSI capable bge(4) controllers automatically disables further interrupt once it enters interrupt state so we don't need PIO access to disable interrupt in interrupt handler. Revision Changes Path 1.226.2.11 +127 -26 src/sys/dev/bge/if_bge.c 1.83.2.7 +2 -0 src/sys/dev/bge/if_bgereg.h
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201001062342.o06NgQpv052404>