Skip site navigation (1)Skip section navigation (2)
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>