1. 01 4月, 2015 2 次提交
  2. 20 10月, 2014 1 次提交
  3. 25 3月, 2014 1 次提交
  4. 05 3月, 2014 1 次提交
  5. 18 12月, 2013 1 次提交
  6. 12 10月, 2013 2 次提交
  7. 26 9月, 2013 1 次提交
  8. 07 5月, 2012 1 次提交
  9. 25 4月, 2012 1 次提交
    • I
      staging: octeon-ethernet: fix build errors by including interrupt.h · dc890df0
      Imre Kaloz 提交于
      This patch fixes the following build failures:
      
      drivers/staging/octeon/ethernet.c: In function 'cvm_oct_cleanup_module':
      drivers/staging/octeon/ethernet.c:799:2: error: implicit declaration of function 'free_irq'
      drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_no_more_work':
      drivers/staging/octeon/ethernet-rx.c:119:3: error: implicit declaration of function 'enable_irq'
      drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_do_interrupt':
      drivers/staging/octeon/ethernet-rx.c:136:2: error: implicit declaration of function 'disable_irq_nosync'
      drivers/staging/octeon/ethernet-rx.c: In function 'cvm_oct_rx_initialize':
      drivers/staging/octeon/ethernet-rx.c:532:2: error: implicit declaration of function 'request_irq'
      drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_initialize':
      drivers/staging/octeon/ethernet-tx.c:712:2: error: implicit declaration of function 'request_irq'
      drivers/staging/octeon/ethernet-tx.c: In function 'cvm_oct_tx_shutdown':
      drivers/staging/octeon/ethernet-tx.c:723:2: error: implicit declaration of function 'free_irq'
      Signed-off-by: NImre Kaloz <kaloz@openwrt.org>
      Acked-by: NDavid Daney <david.daney@cavium.com>
      Signed-off-by: NGreg Kroah-Hartman <gregkh@linuxfoundation.org>
      dc890df0
  10. 11 4月, 2012 1 次提交
  11. 08 12月, 2011 1 次提交
  12. 10 11月, 2011 1 次提交
  13. 27 7月, 2011 1 次提交
  14. 29 6月, 2011 1 次提交
  15. 27 2月, 2010 7 次提交
  16. 12 12月, 2009 1 次提交
  17. 25 6月, 2009 2 次提交
    • D
      Staging: octeon-ethernet: Fix race freeing transmit buffers. · a620c163
      David Daney 提交于
      The existing code had the following race:
      
      Thread-1                       Thread-2
      
      inc/read in_use
                                     inc/read in_use
      inc tx_free_list[qos].len
                                     inc tx_free_list[qos].len
      
      The actual in_use value was incremented twice, but thread-1 is going
      to free memory based on its stale value, and will free one too many
      times.  The result is that memory is freed back to the kernel while
      its packet is still in the transmit buffer.  If the memory is
      overwritten before it is transmitted, the hardware will put a valid
      checksum on it and send it out (just like it does with good packets).
      If by chance the TCP flags are clobbered but not the addresses or
      ports, the result can be a broken TCP stream.
      
      The fix is to track the number of freed packets in a single location
      (a Fetch-and-Add Unit register).  That way it can never get out of sync
      with itself.
      
      We try to free up to MAX_SKB_TO_FREE (currently 10) buffers at a time.
      If fewer are available we adjust the free count with the difference.
      The action of claiming buffers to free is atomic so two threads cannot
      claim the same buffers.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      a620c163
    • D
      Staging: octeon-ethernet: Convert to use net_device_ops. · f696a108
      David Daney 提交于
      Convert the driver to use net_device_ops as it is now mandatory.
      
      Also compensate for the removal of struct sk_buff's dst field.
      
      The changes are mostly mechanical, the content of ethernet-common.c
      was moved to ethernet.c and ethernet-common.{c,h} are removed.
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      f696a108
  18. 17 6月, 2009 1 次提交
    • D
      Staging: Add octeon-ethernet driver files. · 80ff0fd3
      David Daney 提交于
      The octeon-ethernet driver supports the sgmii, rgmii, spi, and xaui
      ports present on the Cavium OCTEON family of SOCs.  These SOCs are
      multi-core mips64 processors with existing support over in arch/mips.
      
      The driver files can be categorized into three basic groups:
      
      1) Register definitions, these are named cvmx-*-defs.h
      
      2) Main driver code, these have names that don't start cvmx-.
      
      3) Interface specific functions and other utility code, names starting
      with cvmx-
      Signed-off-by: NDavid Daney <ddaney@caviumnetworks.com>
      Signed-off-by: NRalf Baechle <ralf@linux-mips.org>
      80ff0fd3