1. 21 Nov, 2008 1 commit
  2. 13 Nov, 2008 1 commit
    • Wang Chen's avatar
      netdevice: safe convert to netdev_priv() #part-2 · 4cf1653a
      Wang Chen authored
      We have some reasons to kill netdev->priv:
      1. netdev->priv is equal to netdev_priv().
      2. netdev_priv() wraps the calculation of netdev->priv's offset, obviously
         netdev_priv() is more flexible than netdev->priv.
      But we cann't kill netdev->priv, because so many drivers reference to it
      This patch is a safe convert for netdev->priv to netdev_priv(netdev).
      Since all of the netdev->priv is only for read.
      But it is too big to be sent in one mail.
      I split it to 4 parts and make every part smaller than 100,000 bytes,
      which is max size allowed by vger.
      Signed-off-by: default avatarWang Chen <wangchen@cn.fujitsu.com>
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  3. 03 Nov, 2008 1 commit
  4. 30 Oct, 2008 1 commit
  5. 27 Oct, 2008 1 commit
  6. 24 Sep, 2008 2 commits
  7. 03 Sep, 2008 1 commit
  8. 29 Jul, 2008 1 commit
    • Breno Leitao's avatar
      S2io: fix statistics flush after a MTU change · dc56e634
      Breno Leitao authored
      On s2io driver, when you change the interface MTU, it invokes a card
      reset, which flush some statistics.  This patch solves this problem, and
      also set the net_device->stats as the default statistics structure,
      instead of s2io_nic->stats.
      To do that, s2io_nic->stats turned into a staging area, where is saved
      statistics of the last hardware statistics query. So, the difference
      between the current hardware statistics and s2io_nic->stats, is the
      value that should be summed up, in order to get the correct statistics
      value, even after a reset.
      Signed-off-by: default avatarBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: default avatarJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
  9. 26 Jul, 2008 1 commit
    • FUJITA Tomonori's avatar
      dma-mapping: add the device argument to dma_mapping_error() · 8d8bb39b
      FUJITA Tomonori authored
      Add per-device dma_mapping_ops support for CONFIG_X86_64 as POWER
      architecture does:
      This enables us to cleanly fix the Calgary IOMMU issue that some devices
      are not behind the IOMMU (http://lkml.org/lkml/2008/5/8/423
      I think that per-device dma_mapping_ops support would be also helpful for
      KVM people to support PCI passthrough but Andi thinks that this makes it
      difficult to support the PCI passthrough (see the above thread).  So I
      CC'ed this to KVM camp.  Comments are appreciated.
      A pointer to dma_mapping_ops to struct dev_archdata is added.  If the
      pointer is non NULL, DMA operations in asm/dma-mapping.h use it.  If it's
      NULL, the system-wide dma_ops pointer is used as before.
      If it's useful for KVM people, I plan to implement a mechanism to register
      a hook called when a new pci (or dma capable) device is created (it works
      with hot plugging).  It enables IOMMUs to set up an appropriate
      dma_mapping_ops per device.
      The major obstacle is that dma_mapping_error doesn't take a pointer to the
      device unlike other DMA operations.  So x86 can't have dma_mapping_ops per
      device.  Note all the POWER IOMMUs use the same dma_mapping_error function
      so this is not a problem for POWER but x86 IOMMUs use different
      dma_mapping_error functions.
      The first patch adds the device argument to dma_mapping_error.  The patch
      is trivial but large since it touches lots of drivers and dma-mapping.h in
      all the architecture.
      This patch:
      dma_mapping_error() doesn't take a pointer to the device unlike other DMA
      operations.  So we can't have dma_mapping_ops per device.
      Note that POWER already has dma_mapping_ops per device but all the POWER
      IOMMUs use the same dma_mapping_error function.  x86 IOMMUs use device
      [akpm@linux-foundation.org: fix sge]
      [akpm@linux-foundation.org: fix svc_rdma]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix bnx2x]
      [akpm@linux-foundation.org: fix s2io]
      [akpm@linux-foundation.org: fix pasemi_mac]
      [akpm@linux-foundation.org: fix sdhci]
      [akpm@linux-foundation.org: build fix]
      [akpm@linux-foundation.org: fix sparc]
      [akpm@linux-foundation.org: fix ibmvscsi]
      Signed-off-by: default avatarFUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Cc: Muli Ben-Yehuda <muli@il.ibm.com>
      Cc: Andi Kleen <andi@firstfloor.org>
      Cc: Thomas Gleixner <tglx@linutronix.de>
      Cc: Ingo Molnar <mingo@elte.hu>
      Cc: Avi Kivity <avi@qumranet.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
  10. 17 Jul, 2008 2 commits
    • David S. Miller's avatar
      net: Use queue aware tests throughout. · fd2ea0a7
      David S. Miller authored
      This effectively "flips the switch" by making the core networking
      and multiqueue-aware drivers use the new TX multiqueue structures.
      Non-multiqueue drivers need no changes.  The interfaces they use such
      as netif_stop_queue() degenerate into an operation on TX queue zero.
      So everything "just works" for them.
      Code that really wants to do "X" to all TX queues now invokes a
      routine that does so, such as netif_tx_wake_all_queues(),
      netif_tx_stop_all_queues(), etc.
      pktgen and netpoll required a little bit more surgery than the others.
      In particular the pktgen changes, whilst functional, could be largely
      improved.  The initial check in pktgen_xmit() will sometimes check the
      wrong queue, which is mostly harmless.  The thing to do is probably to
      invoke fill_packet() earlier.
      The bulk of the netpoll changes is to make the code operate solely on
      the TX queue indicated by by the SKB queue mapping.
      Setting of the SKB queue mapping is entirely confined inside of
      net/core/dev.c:dev_pick_tx().  If we end up needing any kind of
      special semantics (drops, for example) it will be implemented here.
      Finally, we now have a "real_num_tx_queues" which is where the driver
      indicates how many TX queues are actually active.
      With IGB changes from Jeff Kirsher.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
    • David S. Miller's avatar
      netdev: Kill NETIF_F_MULTI_QUEUE. · 09e83b5d
      David S. Miller authored
      There is no need for a feature bit for something that
      can be tested by simply checking the TX queue count.
      Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
  11. 10 Jul, 2008 3 commits
  12. 09 Jul, 2008 1 commit
  13. 26 Jun, 2008 1 commit
    • Andi Kleen's avatar
      [netdrvr] Fix IOMMU overflow checking in s2io.c · 64c42f69
      Andi Kleen authored
      s2io has IOMMU overflow checking, but unfortunately it is wrong.
      It didn't use the standard macros, which meant that it only worked
      on POWER and SPARC because only those define DMA_ERROR_CODE. Convert it to
      use the standard macros instead.
      I also commented two more bugs in the IOMMU handling. It assumes
      that 0 DMA addresses cannot happen, but that's not true in all IOMMU setups.
      The information if a buffer has been already mapped needs to be stored
      Didn't fix those because it needs careful checking of the buffer handling
      by the maintainers.
      Cc: ram.vepa@neterion.com
      Cc: santosh.rastapur@neterion.com
      Cc: sivakumar.subramani@neterion.com
      Cc: sreenivasa.honnur@neterion.com
      Signed-off-by: default avatarAndi Kleen <ak@linux.intel.com>
      Signed-off-by: default avatarJeff Garzik <jgarzik@redhat.com>
  14. 10 Jun, 2008 1 commit
  15. 04 Jun, 2008 1 commit
  16. 30 May, 2008 1 commit
  17. 22 May, 2008 4 commits
  18. 12 May, 2008 1 commit
  19. 28 Apr, 2008 2 commits
  20. 25 Apr, 2008 4 commits
  21. 28 Mar, 2008 1 commit
  22. 25 Mar, 2008 2 commits
  23. 17 Mar, 2008 4 commits
  24. 05 Mar, 2008 1 commit
  25. 03 Feb, 2008 1 commit