1. 30 7月, 2008 1 次提交
    • B
      S2io: fix statistics flush after a MTU change · dc56e634
      Breno Leitao 提交于
      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: NBreno Leitao <leitao@linux.vnet.ibm.com>
      Signed-off-by: NJay Vosburgh <fubar@us.ibm.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      dc56e634
  2. 27 7月, 2008 1 次提交
    • F
      dma-mapping: add the device argument to dma_mapping_error() · 8d8bb39b
      FUJITA Tomonori 提交于
      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
      argument.
      
      [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: NFUJITA 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: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8d8bb39b
  3. 18 7月, 2008 2 次提交
    • D
      net: Use queue aware tests throughout. · fd2ea0a7
      David S. Miller 提交于
      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: NDavid S. Miller <davem@davemloft.net>
      fd2ea0a7
    • D
      netdev: Kill NETIF_F_MULTI_QUEUE. · 09e83b5d
      David S. Miller 提交于
      There is no need for a feature bit for something that
      can be tested by simply checking the TX queue count.
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      09e83b5d
  4. 11 7月, 2008 3 次提交
  5. 09 7月, 2008 1 次提交
  6. 27 6月, 2008 1 次提交
    • A
      [netdrvr] Fix IOMMU overflow checking in s2io.c · 64c42f69
      Andi Kleen 提交于
      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
      elsewhere.
      
      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: NAndi Kleen <ak@linux.intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      64c42f69
  7. 11 6月, 2008 1 次提交
  8. 04 6月, 2008 1 次提交
  9. 31 5月, 2008 1 次提交
  10. 22 5月, 2008 4 次提交
  11. 13 5月, 2008 1 次提交
  12. 29 4月, 2008 2 次提交
  13. 25 4月, 2008 4 次提交
  14. 29 3月, 2008 1 次提交
  15. 26 3月, 2008 2 次提交
  16. 17 3月, 2008 4 次提交
  17. 05 3月, 2008 1 次提交
  18. 03 2月, 2008 1 次提交
  19. 29 1月, 2008 5 次提交
  20. 19 1月, 2008 1 次提交
  21. 09 1月, 2008 1 次提交
  22. 15 12月, 2007 1 次提交
    • A
      drivers/net/s2io.c section fixes · 33390a70
      Adrian Bunk 提交于
      Code used by the non-__devinit s2io_open() mustn't be __devinit.
      
      This patch fixes the following section mismatch with CONFIG_HOTPLUG=n:
      
      <--  snip  -->
      
      ...
      WARNING: vmlinux.o(.text+0x6f6e3e): Section mismatch: reference to .init.text.20:s2io_test_intr (between 's2io_open' and 's2io_ethtool_sset')
      ...
      
      <--  snip  -->
      Signed-off-by: NAdrian Bunk <bunk@kernel.org>
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      33390a70