cvs commit: src/sys/dev/ti if_ti.c if_tireg.h

Scott Long scottl at FreeBSD.org
Tue Dec 13 16:03:48 PST 2005


scottl      2005-12-14 00:03:41 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/ti           if_ti.c if_tireg.h 
  Log:
  Fix the Tigon I/II driver to support 64-bit DMA.  In the process, convert it
  to use busdma.  Unlike most of the other drivers, but similar to the
  if_em driver, pre-allocate the dmamaps at init time instead of allocating
  them on the fly when descriptors need to be filled.  This isn't ideal right
  now because a map is allocated for every descriptor slot in the tx, rx, mini,
  and jumbo rings (which is a lot!) in order to simplify the bookkeeping, even
  though the driver might support filling only a subset of those slots.
  Luckily, maps are typically NULL on i386 and amd64, so the cost isn't
  very high.  It could be an issue with sparc64, but the driver isn't endian
  clean either, and that is a much bigger problem to solve first.
  
  Note that jumbo frame support is under-tested, and I'm not even sure if
  it till really works correctly given the evil VM magic that is does.
  The changes here attempt to preserve the existing semanitcs.
  
  Thanks to Martin Nillson for contributing the Netgear card for this work.
  
  MFC-After: 3 weeks
  
  Revision  Changes    Path
  1.117     +321 -86   src/sys/dev/ti/if_ti.c
  1.34      +26 -13    src/sys/dev/ti/if_tireg.h


More information about the cvs-src mailing list