1. 08 1月, 2009 1 次提交
  2. 19 11月, 2008 1 次提交
  3. 31 10月, 2008 1 次提交
    • M
      powerpc: Update remaining dma_mapping_ops to use map/unmap_page · f9226d57
      Mark Nelson 提交于
      After the merge of the 32 and 64bit DMA code, dma_direct_ops lost
      their map/unmap_single() functions but gained map/unmap_page().  This
      caused a problem for Cell because Cell's dma_iommu_fixed_ops called
      the dma_direct_ops if the fixed linear mapping was to be used or the
      iommu ops if the dynamic window was to be used.  So in order to fix
      this problem we need to update the 64bit DMA code to use
      map/unmap_page.
      
      First, we update the generic IOMMU code so that iommu_map_single()
      becomes iommu_map_page() and iommu_unmap_single() becomes
      iommu_unmap_page().  Then we propagate these changes up through all
      the callers of these two functions and in the process update all the
      dma_mapping_ops so that they have map/unmap_page rahter than
      map/unmap_single.  We can do this because on 64bit there is no HIGHMEM
      memory so map/unmap_page ends up performing exactly the same function
      as map/unmap_single, just taking different arguments.
      
      This has no affect on drivers because the dma_map_single_attrs() just
      ends up calling the map_page() function of the appropriate
      dma_mapping_ops and similarly the dma_unmap_single_attrs() calls
      unmap_page().
      
      This fixes an oops on Cell blades, which oops on boot without this
      because they call dma_direct_ops.map_single, which is NULL.
      Signed-off-by: NMark Nelson <markn@au1.ibm.com>
      Signed-off-by: NPaul Mackerras <paulus@samba.org>
      f9226d57
  4. 25 9月, 2008 1 次提交
  5. 25 7月, 2008 2 次提交
    • R
      powerpc/pseries: iommu enablement for CMO · 6490c490
      Robert Jennings 提交于
      To support Cooperative Memory Overcommitment (CMO), we need to check
      for failure from some of the tce hcalls.
      
      These changes for the pseries platform affect the powerpc architecture;
      patches for the other affected platforms are included in this patch.
      
      pSeries platform IOMMU code changes:
       * platform TCE functions must handle H_NOT_ENOUGH_RESOURCES errors and
         return an error.
      
      Architecture IOMMU code changes:
       * Calls to ppc_md.tce_build need to check return values and return
         DMA_MAPPING_ERROR for transient errors.
      
      Architecture changes:
       * struct machdep_calls for tce_build*_pSeriesLP functions need to change
         to indicate failure.
       * all other platforms will need updates to iommu functions to match the new
         calling semantics; they will return 0 on success.  The other platforms
         default configs have been built, but no further testing was performed.
      Signed-off-by: NRobert Jennings <rcj@linux.vnet.ibm.com>
      Acked-by: NOlof Johansson <olof@lixom.net>
      Acked-by: NPaul Mackerras <paulus@samba.org>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      6490c490
    • M
      powerpc/cell: Fixed IOMMU mapping uses weak ordering for a pcie endpoint · 7886250e
      Mark Nelson 提交于
      At the moment the fixed mapping is by default strongly ordered (the
      iommu_fixed=weak boot option must be used to make the fixed mapping weakly
      ordered). If we're on a setup where the southbridge is being used in
      endpoint mode (triblade and CAB boards) the default should be a weakly
      ordered fixed mapping.
      
      This adds a check so that if a node of type pcie-endpoint can be found in
      the device tree the fixed mapping is set to be weak by default (but can be
      overridden using iommu_fixed=strong).
      Signed-off-by: NMark Nelson <markn@au1.ibm.com>
      Acked-by: NArnd Bergmann <arnd@arndb.de>
      Signed-off-by: NBenjamin Herrenschmidt <benh@kernel.crashing.org>
      7886250e
  6. 22 7月, 2008 2 次提交
  7. 09 7月, 2008 1 次提交
  8. 01 4月, 2008 1 次提交
  9. 20 3月, 2008 1 次提交
  10. 03 3月, 2008 8 次提交
  11. 14 2月, 2008 1 次提交
  12. 08 2月, 2008 4 次提交
  13. 31 1月, 2008 6 次提交
  14. 25 1月, 2008 3 次提交
  15. 17 1月, 2008 1 次提交
  16. 20 12月, 2007 1 次提交
  17. 19 12月, 2007 1 次提交
  18. 11 12月, 2007 1 次提交
  19. 09 10月, 2007 1 次提交
  20. 13 4月, 2007 1 次提交
  21. 09 3月, 2007 1 次提交