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

Pyun YongHyeon yongari at FreeBSD.org
Tue Dec 27 18:57:20 PST 2005


yongari     2005-12-28 02:57:19 UTC

  FreeBSD src repository

  Modified files:
    sys/dev/ti           if_ti.c if_tireg.h 
  Log:
  Bring big-endian architecture support for ti(4).
   . remove unnecessay header files after Scott's bus_dma(9) commit.
   . remove global variable tis which was introduced at the time of
     zero_copy(9) changes. The variable tis was not used at all. The
     same applyes to ti_links in softc so axe it.
   . deregister variables.
   . axe ti_vhandle and switch to use explicit register access for
     accessing NIC local memory. Creates three variants of ti_mem to
     read/write NIC local memory(ti_mem_read, ti_mem_write) and clearing
     NIC local memory(ti_mem_zero). This greatly enhances code
     readability and have ti(4) drop using shared memory scheme for
     Tigon 1. As Tigon 1 switched to use explicit register access for Tx,
     axe ti_tx_ring_nic/ti_cmd_ring in softc.(Tigon 2 used to host ring
     scheme which means there is no need to access NIC local memory via
     register access for Tx and NIC would DMA the modified Tx rings into
     its local memory.) [1]
   . introduce new macro TI_EVENT_*/TI_CMD_* to handle NIC envent/command.
     Instead of using bit fields assginment for accessing the event, use
     shift operations to set/get it. [1]
   . add additional check for valid DMA tags in ti_free_dmamaps().
   . add missing bus_dmamap_sync/bus_dmamap_unload in ti_free_*_ring_*.
   . fix locking nits(MTX_RECURSE mutex) and make ti(4) MPSAFE.
   . change data type of ti_rdata_phys to bus_addr_t and don't blindly
     cast to uint32_t.
   . rearrange detach path and make ti(4) survive during device detach.
   . for Tigon 1, use explicit register access for checking Tx descriptors
     in ti_encap()/ti_txeof(). [1]
   . properly call bus_dmamap_sync(9) for updating statistics.
   . remove extra semicolon in ti_encap()
   . rewrite loading MAC address to work on strict-alignment architectures.
   . move TI_RD_OFF macro to if_tireg.h
   . axe ETHER_ALIGN as it's already defined in <net/ethernet.h>.
   . make macros immuine from expansion by adding parenthesis and do-while.
   . remove alpha specific hack as vtophys(9) is no longer used in ti(4)
     after Scott's bus_dma(9) fix.
  
  Reviewed by:    scottl
  Obtained from:  OpenBSD [1]
  
  Revision  Changes    Path
  1.119     +266 -177  src/sys/dev/ti/if_ti.c
  1.35      +47 -66    src/sys/dev/ti/if_tireg.h


More information about the cvs-src mailing list