1. 16 12月, 2008 1 次提交
  2. 03 12月, 2008 1 次提交
    • B
      powerpc: Add sync_*_for_* to dma_ops · 15e09c0e
      Becky Bruce 提交于
      We need to swap these out once we start using swiotlb, so add
      them to dma_ops.  Create CONFIG_PPC_NEED_DMA_SYNC_OPS Kconfig
      option; this is currently enabled automatically if we're
      CONFIG_NOT_COHERENT_CACHE.  In the future, this will also
      be enabled for builds that need swiotlb.  If PPC_NEED_DMA_SYNC_OPS
      is not defined, the dma_sync_*_for_* ops compile to nothing.
      Otherwise, they access the dma_ops pointers for the sync ops.
      
      This patch also changes dma_sync_single_range_* to actually
      sync the range - previously it was using a generous
      dma_sync_single.  dma_sync_single_* is now implemented
      as a dma_sync_single_range with an offset of 0.
      Signed-off-by: NBecky Bruce <becky.bruce@freescale.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      15e09c0e
  3. 06 11月, 2008 1 次提交
  4. 25 9月, 2008 1 次提交
    • B
      powerpc: Merge 32 and 64-bit dma code · 4fc665b8
      Becky Bruce 提交于
      We essentially adopt the 64-bit dma code, with some changes to support
      32-bit systems, including HIGHMEM.  dma functions on 32-bit are now
      invoked via accessor functions which call the correct op for a device based
      on archdata dma_ops.  If there is no archdata dma_ops, this defaults
      to dma_direct_ops.
      
      In addition, the dma_map/unmap_page functions are added to dma_ops
      because we can't just fall back on map/unmap_single when HIGHMEM is
      enabled. In the case of dma_direct_*, we stop using map/unmap_single
      and just use the page version - this saves a lot of ugly
      ifdeffing.  We leave map/unmap_single in the dma_ops definition,
      though, because they are needed by the iommu code, which does not
      implement map/unmap_page.  Ideally, going forward, we will completely
      eliminate map/unmap_single and just have map/unmap_page, if it's
      workable for 64-bit.
      Signed-off-by: NBecky Bruce <becky.bruce@freescale.com>
      Signed-off-by: NKumar Gala <galak@kernel.crashing.org>
      4fc665b8
  5. 04 8月, 2008 1 次提交
  6. 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
  7. 09 7月, 2008 2 次提交
  8. 31 1月, 2008 1 次提交
  9. 25 1月, 2008 1 次提交
  10. 20 12月, 2007 1 次提交
    • M
      [POWERPC] Implement pci_set_dma_mask() in terms of the dma_ops · 84631f37
      Michael Ellerman 提交于
      PowerPC currently doesn't implement pci_set_dma_mask(), which means drivers
      calling it will get the generic version in drivers/pci/pci.c.
      
      The powerpc dma mapping ops include a dma_set_mask() hook, which luckily is
      not implemented by anyone - so there is no bug in the fact that the hook
      is currently never called.
      
      However in future we'll add implementation(s) of dma_set_mask(), and so we
      need pci_set_dma_mask() to call the hook.
      
      To save adding a hook to the dma mapping ops, pci-set_consistent_dma_mask()
      simply calls the dma_set_mask() hook and then copies the new mask into
      dev.coherenet_dma_mask.
      Signed-off-by: NMichael Ellerman <michael@ellerman.id.au>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      84631f37
  11. 23 10月, 2007 1 次提交
    • O
      powerpc: Fix fallout from sg_page() changes · 5edadbd0
      Olof Johansson 提交于
      Fix fallout from 18dabf47:
      
      In file included from include/linux/dma-mapping.h:52,
                       from drivers/base/dma-mapping.c:10:
      include/asm/dma-mapping.h: In function 'dma_map_sg':
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:288: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:289: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h:290: error: 'struct scatterlist' has no member named 'page'
      include/asm/dma-mapping.h: In function 'dma_sync_sg_for_cpu':
      include/asm/dma-mapping.h:331: error: 'struct scatterlist' has no member named 'page'
      
      drivers/scsi/ps3rom.c: In function 'fetch_to_dev_buffer':
      drivers/scsi/ps3rom.c:150: error: 'struct scatterlist' has no member named 'page'
      Signed-off-by: NOlof Johansson <olof@lixom.net>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      5edadbd0
  12. 17 10月, 2007 1 次提交
  13. 16 10月, 2007 2 次提交
  14. 17 8月, 2007 1 次提交
  15. 10 8月, 2007 1 次提交
  16. 12 7月, 2007 1 次提交
  17. 31 1月, 2007 1 次提交
  18. 08 12月, 2006 2 次提交
  19. 04 12月, 2006 2 次提交
  20. 26 4月, 2006 1 次提交
  21. 08 2月, 2006 1 次提交
  22. 09 1月, 2006 2 次提交
  23. 18 11月, 2005 2 次提交
  24. 28 10月, 2005 1 次提交
  25. 09 10月, 2005 1 次提交
  26. 05 9月, 2005 1 次提交
  27. 28 7月, 2005 1 次提交
  28. 17 4月, 2005 1 次提交
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4