Merge branch 'linus' into core/iommu
authorIngo Molnar <mingo@elte.hu>
Thu, 5 Mar 2009 11:47:28 +0000 (12:47 +0100)
committerIngo Molnar <mingo@elte.hu>
Thu, 5 Mar 2009 11:47:28 +0000 (12:47 +0100)
1  2 
arch/ia64/hp/common/sba_iommu.c
arch/x86/include/asm/dma-mapping.h
arch/x86/kernel/pci-gart_64.c
drivers/pci/intel-iommu.c
include/linux/intel-iommu.h

@@@ -907,15 -906,13 +907,15 @@@ sba_mark_invalid(struct ioc *ioc, dma_a
   * @dir:  R/W or both.
   * @attrs: optional dma attributes
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -dma_addr_t
 -sba_map_single_attrs(struct device *dev, void *addr, size_t size, int dir,
 -                   struct dma_attrs *attrs)
 +static dma_addr_t sba_map_page(struct device *dev, struct page *page,
 +                             unsigned long poff, size_t size,
 +                             enum dma_data_direction dir,
 +                             struct dma_attrs *attrs)
  {
        struct ioc *ioc;
 +      void *addr = page_address(page) + poff;
        dma_addr_t iovp;
        dma_addr_t offset;
        u64 *pdir_start;
@@@ -1034,10 -1024,10 +1034,10 @@@ sba_mark_clean(struct ioc *ioc, dma_add
   * @dir:  R/W or both.
   * @attrs: optional dma attributes
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -void sba_unmap_single_attrs(struct device *dev, dma_addr_t iova, size_t size,
 -                          int dir, struct dma_attrs *attrs)
 +static void sba_unmap_page(struct device *dev, dma_addr_t iova, size_t size,
 +                         enum dma_data_direction dir, struct dma_attrs *attrs)
  {
        struct ioc *ioc;
  #if DELAYED_RESOURCE_CNT > 0
@@@ -1117,9 -1102,9 +1117,9 @@@ void sba_unmap_single_attrs(struct devi
   * @size:  number of bytes mapped in driver buffer.
   * @dma_handle:  IOVA of new buffer.
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -void *
 +static void *
  sba_alloc_coherent (struct device *dev, size_t size, dma_addr_t *dma_handle, gfp_t flags)
  {
        struct ioc *ioc;
   * @vaddr:  virtual address IOVA of "consistent" buffer.
   * @dma_handler:  IO virtual address of "consistent" buffer.
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -void sba_free_coherent (struct device *dev, size_t size, void *vaddr, dma_addr_t dma_handle)
 +static void sba_free_coherent (struct device *dev, size_t size, void *vaddr,
 +                             dma_addr_t dma_handle)
  {
        sba_unmap_single_attrs(dev, dma_handle, size, 0, NULL);
        free_pages((unsigned long) vaddr, get_order(size));
@@@ -1436,11 -1420,10 +1436,11 @@@ sba_coalesce_chunks(struct ioc *ioc, st
   * @dir:  R/W or both.
   * @attrs: optional dma attributes
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist, int nents,
 -                   int dir, struct dma_attrs *attrs)
 +static int sba_map_sg_attrs(struct device *dev, struct scatterlist *sglist,
 +                          int nents, enum dma_data_direction dir,
 +                          struct dma_attrs *attrs)
  {
        struct ioc *ioc;
        int coalesced, filled = 0;
   * @dir:  R/W or both.
   * @attrs: optional dma attributes
   *
-  * See Documentation/DMA-mapping.txt
+  * See Documentation/PCI/PCI-DMA-mapping.txt
   */
 -void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist,
 -                      int nents, int dir, struct dma_attrs *attrs)
 +static void sba_unmap_sg_attrs(struct device *dev, struct scatterlist *sglist,
 +                             int nents, enum dma_data_direction dir,
 +                             struct dma_attrs *attrs)
  {
  #ifdef ASSERT_PDIR_SANITY
        struct ioc *ioc;
Simple merge
Simple merge
Simple merge
@@@ -328,6 -329,13 +329,6 @@@ extern int qi_flush_iotlb(struct intel_
                          unsigned int size_order, u64 type,
                          int non_present_entry_flush);
  
- extern void qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu);
+ extern int qi_submit_sync(struct qi_desc *desc, struct intel_iommu *iommu);
  
 -extern void *intel_alloc_coherent(struct device *, size_t, dma_addr_t *, gfp_t);
 -extern void intel_free_coherent(struct device *, size_t, void *, dma_addr_t);
 -extern dma_addr_t intel_map_single(struct device *, phys_addr_t, size_t, int);
 -extern void intel_unmap_single(struct device *, dma_addr_t, size_t, int);
 -extern int intel_map_sg(struct device *, struct scatterlist *, int, int);
 -extern void intel_unmap_sg(struct device *, struct scatterlist *, int, int);
 -
  #endif