Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1732645

[BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback

From Stefano Stabellini <sstabellini@kernel.org>
Newsgroups linux.kernel
Subject [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback
Date 2017-09-15 01:30 +0200
Message-ID <upLK1-30B-5@gated-at.bofh.it> (permalink)
Organization linux.* mail to news gateway

Show all headers | View raw


Hi all,

We are getting reports from Xen on ARM users about DMA issues. The
problem is that the commit below
(7e91c7df29b5e196de3dc6f086c8937973bd0b88) is necessary to support mmap
on Xen on ARM. It is self-contained and doesn't affect anything outside
of Xen on ARM, so I think is a good candidate for backporting. It went
upstream in 4.11.


Could you please backport the following commit:

  commit 7e91c7df29b5e196de3dc6f086c8937973bd0b88
  Author: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
  Date:   Tue Feb 7 19:58:02 2017 +0200
  
      swiotlb-xen: implement xen_swiotlb_dma_mmap callback
      
      This function creates userspace mapping for the DMA-coherent memory.
    
to the stable trees up until 3.14?


Because of 00085f1efa387a8ce100e3734920f7639c80caa3 "dma-mapping: use
unsigned long for dma_attrs", the appended patch (to be applied on top)
is required for trees older than 4.8. 


Thank you!

- Stefano


diff --git a/drivers/xen/swiotlb-xen.c b/drivers/xen/swiotlb-xen.c
index a0a819c..c6d47e5 100644
--- a/drivers/xen/swiotlb-xen.c
+++ b/drivers/xen/swiotlb-xen.c
@@ -693,7 +693,7 @@ EXPORT_SYMBOL_GPL(xen_swiotlb_set_dma_mask);
 int
 xen_swiotlb_dma_mmap(struct device *dev, struct vm_area_struct *vma,
 		     void *cpu_addr, dma_addr_t dma_addr, size_t size,
-		     unsigned long attrs)
+		     struct dma_attrs *attrs)
 {
 #if defined(CONFIG_ARM) || defined(CONFIG_ARM64)
 	if (__generic_dma_ops(dev)->mmap)
diff --git a/include/xen/swiotlb-xen.h b/include/xen/swiotlb-xen.h
index fab4fb9..4d7fdbf 100644
--- a/include/xen/swiotlb-xen.h
+++ b/include/xen/swiotlb-xen.h
@@ -62,5 +62,5 @@ xen_swiotlb_set_dma_mask(struct device *dev, u64 dma_mask);
 extern int
 xen_swiotlb_dma_mmap(struct device *dev, struct vm_area_struct *vma,
 		     void *cpu_addr, dma_addr_t dma_addr, size_t size,
-		     unsigned long attrs);
+		     struct dma_attrs *attrs);
 #endif /* __LINUX_SWIOTLB_XEN_H */

Back to linux.kernel | Previous | NextNext in thread | Find similar | Unroll thread


Thread

[BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback Stefano Stabellini <sstabellini@kernel.org> - 2017-09-15 01:30 +0200
  Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback Greg KH <gregkh@linuxfoundation.org> - 2017-09-16 03:30 +0200
    Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap  callback Stefano Stabellini <sstabellini@kernel.org> - 2017-09-18 20:10 +0200
      Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback Boris Ostrovsky <boris.ostrovsky@oracle.com> - 2017-09-18 21:00 +0200
        Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap  callback Stefano Stabellini <sstabellini@kernel.org> - 2017-09-20 00:00 +0200
      Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap  callback Stefano Stabellini <sstabellini@kernel.org> - 2017-09-21 02:40 +0200
      Re: [BACKPORT] swiotlb-xen: implement xen_swiotlb_dma_mmap callback Juergen Gross <jgross@suse.com> - 2017-09-22 14:20 +0200

csiph-web