Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Stefano Stabellini
On Thu, 12 Sep 2013, Catalin Marinas wrote: > On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: > > On Wed, 11 Sep 2013, Catalin Marinas wrote: > > > static inline void set_dma_ops(struct device *dev, struct dma_map_ops > > > *ops) > > > { > > > BUG_ON(!dev); > > > @@ -32,7

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Catalin Marinas
On Thu, Sep 12, 2013 at 03:44:50PM +0100, Stefano Stabellini wrote: > On Thu, 12 Sep 2013, Catalin Marinas wrote: > > On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: > > > On Wed, 11 Sep 2013, Catalin Marinas wrote: > > > > static inline void set_dma_ops(struct device *dev,

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Catalin Marinas
On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: > On Wed, 11 Sep 2013, Catalin Marinas wrote: > > static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops) > > { > > BUG_ON(!dev); > > @@ -32,7 +39,7 @@ static inline void set_dma_ops(struct device *dev,

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Catalin Marinas
On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: On Wed, 11 Sep 2013, Catalin Marinas wrote: static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops) { BUG_ON(!dev); @@ -32,7 +39,7 @@ static inline void set_dma_ops(struct device *dev, struct

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Catalin Marinas
On Thu, Sep 12, 2013 at 03:44:50PM +0100, Stefano Stabellini wrote: On Thu, 12 Sep 2013, Catalin Marinas wrote: On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: On Wed, 11 Sep 2013, Catalin Marinas wrote: static inline void set_dma_ops(struct device *dev, struct

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-12 Thread Stefano Stabellini
On Thu, 12 Sep 2013, Catalin Marinas wrote: On Wed, Sep 11, 2013 at 06:34:17PM +0100, Stefano Stabellini wrote: On Wed, 11 Sep 2013, Catalin Marinas wrote: static inline void set_dma_ops(struct device *dev, struct dma_map_ops *ops) { BUG_ON(!dev); @@ -32,7 +39,7 @@ static

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-11 Thread Stefano Stabellini
On Wed, 11 Sep 2013, Catalin Marinas wrote: > On Mon, Sep 09, 2013 at 05:46:59PM +0100, Stefano Stabellini wrote: > > On Mon, 9 Sep 2013, Catalin Marinas wrote: > > > >>> They could also happen in a DomU if we assign a physical device to it > > > >>> (and an SMMU is not available). > > > >> > > >

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-11 Thread Catalin Marinas
On Mon, Sep 09, 2013 at 05:46:59PM +0100, Stefano Stabellini wrote: > On Mon, 9 Sep 2013, Catalin Marinas wrote: > > >>> They could also happen in a DomU if we assign a physical device to it > > >>> (and an SMMU is not available). > > >> > > >> The problem is that you don't necessarily know one

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-11 Thread Catalin Marinas
On Mon, Sep 09, 2013 at 05:46:59PM +0100, Stefano Stabellini wrote: On Mon, 9 Sep 2013, Catalin Marinas wrote: They could also happen in a DomU if we assign a physical device to it (and an SMMU is not available). The problem is that you don't necessarily know one kind of coherency

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-11 Thread Stefano Stabellini
On Wed, 11 Sep 2013, Catalin Marinas wrote: On Mon, Sep 09, 2013 at 05:46:59PM +0100, Stefano Stabellini wrote: On Mon, 9 Sep 2013, Catalin Marinas wrote: They could also happen in a DomU if we assign a physical device to it (and an SMMU is not available). The problem is that

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-09 Thread Stefano Stabellini
On Mon, 9 Sep 2013, Catalin Marinas wrote: > >>> They could also happen in a DomU if we assign a physical device to it > >>> (and an SMMU is not available). > >> > >> The problem is that you don't necessarily know one kind of coherency you > >> know for a physical device. As I said, we plan to do

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-09 Thread Catalin Marinas
On 6 Sep 2013, at 17:52, Stefano Stabellini wrote: > On Fri, 6 Sep 2013, Catalin Marinas wrote: >> On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: >>> On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: > On

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-09 Thread Catalin Marinas
On 6 Sep 2013, at 17:52, Stefano Stabellini stefano.stabell...@eu.citrix.com wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-09 Thread Stefano Stabellini
On Mon, 9 Sep 2013, Catalin Marinas wrote: They could also happen in a DomU if we assign a physical device to it (and an SMMU is not available). The problem is that you don't necessarily know one kind of coherency you know for a physical device. As I said, we plan to do this DT-driven.

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: > On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: > > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > > On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: > > > > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > > > > On

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: > > > On Thu, 5 Sep 2013, Catalin Marinas wrote: > > > > On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: > > > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > > > On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: > On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: > > On Fri, 6 Sep 2013, Catalin Marinas wrote: > > > On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: > > > > On Thu, 5 Sep 2013, Catalin Marinas wrote: > > > > > On

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: > On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: > > On Thu, 5 Sep 2013, Catalin Marinas wrote: > > > On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: > > > > xen_swiotlb_alloc_coherent needs to allocate a coherent

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: > On Thu, 5 Sep 2013, Catalin Marinas wrote: > > On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: > > > xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu > > > and devices. On native x86 and

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: On Thu, 5 Sep 2013, Catalin Marinas wrote: On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu and devices. On native x86 and ARMv8 is

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: On Thu, 5 Sep 2013, Catalin Marinas wrote: On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: On Thu, 5 Sep 2013, Catalin Marinas wrote: On Thu, Aug 29,

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Catalin Marinas
On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Thu, Sep 05, 2013 at 05:43:33PM +0100, Stefano Stabellini wrote: On Thu, 5 Sep 2013, Catalin Marinas wrote: On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-06 Thread Stefano Stabellini
On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 05:09:52PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Fri, Sep 06, 2013 at 03:59:02PM +0100, Stefano Stabellini wrote: On Fri, 6 Sep 2013, Catalin Marinas wrote: On Thu, Sep 05,

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-05 Thread Stefano Stabellini
On Thu, 5 Sep 2013, Catalin Marinas wrote: > On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: > > xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu > > and devices. On native x86 and ARMv8 is sufficient to call > > __get_free_pages in order to get a coherent

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-05 Thread Catalin Marinas
On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: > xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu > and devices. On native x86 and ARMv8 is sufficient to call > __get_free_pages in order to get a coherent buffer, while on ARM we need > to call

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-05 Thread Catalin Marinas
On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu and devices. On native x86 and ARMv8 is sufficient to call __get_free_pages in order to get a coherent buffer, while on ARM we need to call

Re: [PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-09-05 Thread Stefano Stabellini
On Thu, 5 Sep 2013, Catalin Marinas wrote: On Thu, Aug 29, 2013 at 07:32:32PM +0100, Stefano Stabellini wrote: xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu and devices. On native x86 and ARMv8 is sufficient to call __get_free_pages in order to get a coherent

[PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-08-29 Thread Stefano Stabellini
xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu and devices. On native x86 and ARMv8 is sufficient to call __get_free_pages in order to get a coherent buffer, while on ARM we need to call arm_dma_ops.alloc. Introduce xen_alloc_coherent_pages to abstract the arch specific

[PATCH v5 11/13] xen: introduce xen_alloc/free_coherent_pages

2013-08-29 Thread Stefano Stabellini
xen_swiotlb_alloc_coherent needs to allocate a coherent buffer for cpu and devices. On native x86 and ARMv8 is sufficient to call __get_free_pages in order to get a coherent buffer, while on ARM we need to call arm_dma_ops.alloc. Introduce xen_alloc_coherent_pages to abstract the arch specific