1. 09 1月, 2009 1 次提交
  2. 30 12月, 2008 3 次提交
  3. 26 12月, 2008 5 次提交
  4. 23 12月, 2008 1 次提交
  5. 22 12月, 2008 2 次提交
  6. 29 11月, 2008 1 次提交
  7. 26 11月, 2008 2 次提交
    • I
      mlx4: fix warning in drivers/net/mlx4/mcg.c · e6a17622
      Ingo Molnar 提交于
      fix warning:
      
        drivers/net/mlx4/mcg.c: In function ‘mlx4_multicast_attach’:
        drivers/net/mlx4/mcg.c:217: warning: integer overflow in expression
      
      there was no real danger of overflow here though.
      
      md5:
         db8eb55620f886c03854a2abb2ce6c3f  mcg.o.before.asm
         db8eb55620f886c03854a2abb2ce6c3f  mcg.o.after.asm
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      e6a17622
    • I
      mlx4: fix error path in drivers/net/mlx4/en_rx.c · b58515be
      Ingo Molnar 提交于
      this warning:
      
        drivers/net/mlx4/en_rx.c: In function ‘mlx4_en_activate_rx_rings’:
        drivers/net/mlx4/en_rx.c:412: warning: ‘err’ may be used uninitialized in this function
      
      Triggers because 'err' is uninitialized in the following input
      conditions: priv->rx_ring_num is zero and mlx4_en_fill_rx_buffers()
      fails.
      
      But even if ->rx_ring_num is nonzero, 'err' will be zero if
      mlx4_en_fill_rx_buffers() fails and mlx4_en_activate_rx_rings() returns
      success - incorrectly.
      
      So it's best to keep the error code uptodate on mlx4_en_fill_rx_buffers()
      calls as well.
      Signed-off-by: NIngo Molnar <mingo@elte.hu>
      Signed-off-by: NDavid S. Miller <davem@davemloft.net>
      b58515be
  8. 22 11月, 2008 1 次提交
  9. 16 11月, 2008 1 次提交
  10. 11 11月, 2008 1 次提交
  11. 07 11月, 2008 1 次提交
  12. 05 11月, 2008 1 次提交
  13. 04 11月, 2008 1 次提交
  14. 30 10月, 2008 1 次提交
  15. 29 10月, 2008 1 次提交
  16. 28 10月, 2008 2 次提交
  17. 23 10月, 2008 6 次提交
  18. 11 10月, 2008 1 次提交
  19. 25 9月, 2008 1 次提交
    • A
      drivers/net/mlx4/alloc.c needs mm.h · 6526128c
      Andrew Morton 提交于
      sparc32 allmodconfig with linux-next:
      
      drivers/net/mlx4/alloc.c: In function 'mlx4_buf_alloc':
      drivers/net/mlx4/alloc.c:164: error: 'PAGE_KERNEL' undeclared (first use in this function)
      drivers/net/mlx4/alloc.c:164: error: (Each undeclared identifier is reported only once
      drivers/net/mlx4/alloc.c:164: error: for each function it appears in.)
      
      this is due to some header shuffle in linux-next.  I didn't look to see what
      it was.  I'd sugges that this patch be merged ahead of a linux-next merge to
      avoid bisection breaks.
      
      We strictly only need asm/pgtable.h, but going direct to asm includes always
      seems grubby.
      
      Cc: Jeff Garzik <jeff@garzik.org>
      Cc: "David S. Miller" <davem@davemloft.net>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      6526128c
  20. 16 9月, 2008 1 次提交
  21. 03 9月, 2008 1 次提交
  22. 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
  23. 26 7月, 2008 1 次提交
  24. 25 7月, 2008 1 次提交
    • A
      PAGE_ALIGN(): correctly handle 64-bit values on 32-bit architectures · 27ac792c
      Andrea Righi 提交于
      On 32-bit architectures PAGE_ALIGN() truncates 64-bit values to the 32-bit
      boundary. For example:
      
      	u64 val = PAGE_ALIGN(size);
      
      always returns a value < 4GB even if size is greater than 4GB.
      
      The problem resides in PAGE_MASK definition (from include/asm-x86/page.h for
      example):
      
      #define PAGE_SHIFT      12
      #define PAGE_SIZE       (_AC(1,UL) << PAGE_SHIFT)
      #define PAGE_MASK       (~(PAGE_SIZE-1))
      ...
      #define PAGE_ALIGN(addr)       (((addr)+PAGE_SIZE-1)&PAGE_MASK)
      
      The "~" is performed on a 32-bit value, so everything in "and" with
      PAGE_MASK greater than 4GB will be truncated to the 32-bit boundary.
      Using the ALIGN() macro seems to be the right way, because it uses
      typeof(addr) for the mask.
      
      Also move the PAGE_ALIGN() definitions out of include/asm-*/page.h in
      include/linux/mm.h.
      
      See also lkml discussion: http://lkml.org/lkml/2008/6/11/237
      
      [akpm@linux-foundation.org: fix drivers/media/video/uvc/uvc_queue.c]
      [akpm@linux-foundation.org: fix v850]
      [akpm@linux-foundation.org: fix powerpc]
      [akpm@linux-foundation.org: fix arm]
      [akpm@linux-foundation.org: fix mips]
      [akpm@linux-foundation.org: fix drivers/media/video/pvrusb2/pvrusb2-dvb.c]
      [akpm@linux-foundation.org: fix drivers/mtd/maps/uclinux.c]
      [akpm@linux-foundation.org: fix powerpc]
      Signed-off-by: NAndrea Righi <righi.andrea@gmail.com>
      Cc: <linux-arch@vger.kernel.org>
      Signed-off-by: NAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      27ac792c
  25. 23 7月, 2008 2 次提交
    • R
      mlx4_core: Improve error message when not enough UAR pages are available · 76442640
      Roland Dreier 提交于
      If an mlx4 device with default FW (which gives a UAR BAR size of 8 MB)
      is used in a system with 64 KB pages, then there are only 8192/64==128
      UAR pages available.  However, the first 128 UAR pages are reserved
      for use with event queue doorbells, so no UAR pages are available to
      do anything else with, which means that the driver cannot work.
      
      The current driver fails with a fairly cryptic "Failed to allocate
      driver access region, aborting" message in this situation.  Fix the
      driver to detect the problem earlier and print out a clearer
      description of the problem and a suggestion of how to fix it (use a
      new firmware image).
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      76442640
    • R
      IB/mlx4: Add support for memory management extensions and local DMA L_Key · 95d04f07
      Roland Dreier 提交于
      Add support for the following operations to mlx4 when device firmware
      supports them:
      
       - Send with invalidate and local invalidate send queue work requests;
       - Allocate/free fast register MRs;
       - Allocate/free fast register MR page lists;
       - Fast register MR send queue work requests;
       - Local DMA L_Key.
      Signed-off-by: NRoland Dreier <rolandd@cisco.com>
      95d04f07