All of lore.kernel.org
 help / color / mirror / Atom feed
From: konrad.wilk@oracle.com (Konrad Rzeszutek Wilk)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 1/8] arm: make SWIOTLB available
Date: Wed, 31 Jul 2013 20:32:54 -0400	[thread overview]
Message-ID: <334c4fe7-e40c-489c-84db-9bb58c705d44@email.android.com> (raw)
In-Reply-To: <1375292732-7627-1-git-send-email-stefano.stabellini@eu.citrix.com>

Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
>Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>CC: will.deacon at arm.com
>CC: linux at arm.linux.org.uk
>---
> arch/arm/Kconfig                   |    7 +++++++
> arch/arm/include/asm/dma-mapping.h |   24 ++++++++++++++++++++++++
> 2 files changed, 31 insertions(+), 0 deletions(-)
>
>diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>index ba412e0..05125ab 100644
>--- a/arch/arm/Kconfig
>+++ b/arch/arm/Kconfig
>@@ -1832,6 +1832,13 @@ config CC_STACKPROTECTOR
> 	  neutralized via a kernel panic.
> 	  This feature requires gcc version 4.2 or above.
> 
>+config SWIOTLB
>+	def_bool y
>+	select NEED_SG_DMA_LENGTH
>+
>+config IOMMU_HELPER
>+	def_bool SWIOTLB
>+

Could you explain the purpose of these two a bit more please? 

> config XEN_DOM0
> 	def_bool y
> 	depends on XEN
>diff --git a/arch/arm/include/asm/dma-mapping.h
>b/arch/arm/include/asm/dma-mapping.h
>index 5b579b9..ad89e0f 100644
>--- a/arch/arm/include/asm/dma-mapping.h
>+++ b/arch/arm/include/asm/dma-mapping.h
>@@ -86,6 +86,30 @@ static inline dma_addr_t virt_to_dma(struct device
>*dev, void *addr)
> }
> #endif
> 
>+static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t
>paddr)
>+{
>+	unsigned int offset = paddr & ~PAGE_MASK;
>+	return pfn_to_dma(dev, paddr >> PAGE_SHIFT) + offset;
>+}
>+
>+static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t
>dev_addr)
>+{
>+	unsigned int offset = dev_addr & ~PAGE_MASK;
>+	return (dma_to_pfn(dev, dev_addr) << PAGE_SHIFT) + offset;
>+}
>+
>+static inline bool dma_capable(struct device *dev, dma_addr_t addr,
>size_t size)
>+{
>+	if (!dev->dma_mask)
>+		return 0;
>+
>+	return addr + size - 1 <= *dev->dma_mask;
>+}
>+
>+static inline void dma_mark_clean(void *addr, size_t size)
>+{
>+}
>+
> /*
>  * DMA errors are defined by all-bits-set in the DMA address.
>  */

WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	xen-devel@lists.xensource.com
Cc: linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org,
	Stefano.Stabellini@eu.citrix.com, Ian.Campbell@citrix.com,
	will.deacon@arm.com, linux@arm.linux.org.uk
Subject: Re: [PATCH RFC 1/8] arm: make SWIOTLB available
Date: Wed, 31 Jul 2013 20:32:54 -0400	[thread overview]
Message-ID: <334c4fe7-e40c-489c-84db-9bb58c705d44@email.android.com> (raw)
In-Reply-To: <1375292732-7627-1-git-send-email-stefano.stabellini@eu.citrix.com>

Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
>Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>CC: will.deacon@arm.com
>CC: linux@arm.linux.org.uk
>---
> arch/arm/Kconfig                   |    7 +++++++
> arch/arm/include/asm/dma-mapping.h |   24 ++++++++++++++++++++++++
> 2 files changed, 31 insertions(+), 0 deletions(-)
>
>diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>index ba412e0..05125ab 100644
>--- a/arch/arm/Kconfig
>+++ b/arch/arm/Kconfig
>@@ -1832,6 +1832,13 @@ config CC_STACKPROTECTOR
> 	  neutralized via a kernel panic.
> 	  This feature requires gcc version 4.2 or above.
> 
>+config SWIOTLB
>+	def_bool y
>+	select NEED_SG_DMA_LENGTH
>+
>+config IOMMU_HELPER
>+	def_bool SWIOTLB
>+

Could you explain the purpose of these two a bit more please? 

> config XEN_DOM0
> 	def_bool y
> 	depends on XEN
>diff --git a/arch/arm/include/asm/dma-mapping.h
>b/arch/arm/include/asm/dma-mapping.h
>index 5b579b9..ad89e0f 100644
>--- a/arch/arm/include/asm/dma-mapping.h
>+++ b/arch/arm/include/asm/dma-mapping.h
>@@ -86,6 +86,30 @@ static inline dma_addr_t virt_to_dma(struct device
>*dev, void *addr)
> }
> #endif
> 
>+static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t
>paddr)
>+{
>+	unsigned int offset = paddr & ~PAGE_MASK;
>+	return pfn_to_dma(dev, paddr >> PAGE_SHIFT) + offset;
>+}
>+
>+static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t
>dev_addr)
>+{
>+	unsigned int offset = dev_addr & ~PAGE_MASK;
>+	return (dma_to_pfn(dev, dev_addr) << PAGE_SHIFT) + offset;
>+}
>+
>+static inline bool dma_capable(struct device *dev, dma_addr_t addr,
>size_t size)
>+{
>+	if (!dev->dma_mask)
>+		return 0;
>+
>+	return addr + size - 1 <= *dev->dma_mask;
>+}
>+
>+static inline void dma_mark_clean(void *addr, size_t size)
>+{
>+}
>+
> /*
>  * DMA errors are defined by all-bits-set in the DMA address.
>  */



WARNING: multiple messages have this Message-ID (diff)
From: Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>
To: Stefano Stabellini <stefano.stabellini@eu.citrix.com>,
	xen-devel@lists.xensource.com
Cc: linux@arm.linux.org.uk, Ian.Campbell@citrix.com,
	Stefano.Stabellini@eu.citrix.com, will.deacon@arm.com,
	linux-kernel@vger.kernel.org,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH RFC 1/8] arm: make SWIOTLB available
Date: Wed, 31 Jul 2013 20:32:54 -0400	[thread overview]
Message-ID: <334c4fe7-e40c-489c-84db-9bb58c705d44@email.android.com> (raw)
In-Reply-To: <1375292732-7627-1-git-send-email-stefano.stabellini@eu.citrix.com>

Stefano Stabellini <stefano.stabellini@eu.citrix.com> wrote:
>Signed-off-by: Stefano Stabellini <stefano.stabellini@eu.citrix.com>
>CC: will.deacon@arm.com
>CC: linux@arm.linux.org.uk
>---
> arch/arm/Kconfig                   |    7 +++++++
> arch/arm/include/asm/dma-mapping.h |   24 ++++++++++++++++++++++++
> 2 files changed, 31 insertions(+), 0 deletions(-)
>
>diff --git a/arch/arm/Kconfig b/arch/arm/Kconfig
>index ba412e0..05125ab 100644
>--- a/arch/arm/Kconfig
>+++ b/arch/arm/Kconfig
>@@ -1832,6 +1832,13 @@ config CC_STACKPROTECTOR
> 	  neutralized via a kernel panic.
> 	  This feature requires gcc version 4.2 or above.
> 
>+config SWIOTLB
>+	def_bool y
>+	select NEED_SG_DMA_LENGTH
>+
>+config IOMMU_HELPER
>+	def_bool SWIOTLB
>+

Could you explain the purpose of these two a bit more please? 

> config XEN_DOM0
> 	def_bool y
> 	depends on XEN
>diff --git a/arch/arm/include/asm/dma-mapping.h
>b/arch/arm/include/asm/dma-mapping.h
>index 5b579b9..ad89e0f 100644
>--- a/arch/arm/include/asm/dma-mapping.h
>+++ b/arch/arm/include/asm/dma-mapping.h
>@@ -86,6 +86,30 @@ static inline dma_addr_t virt_to_dma(struct device
>*dev, void *addr)
> }
> #endif
> 
>+static inline dma_addr_t phys_to_dma(struct device *dev, phys_addr_t
>paddr)
>+{
>+	unsigned int offset = paddr & ~PAGE_MASK;
>+	return pfn_to_dma(dev, paddr >> PAGE_SHIFT) + offset;
>+}
>+
>+static inline phys_addr_t dma_to_phys(struct device *dev, dma_addr_t
>dev_addr)
>+{
>+	unsigned int offset = dev_addr & ~PAGE_MASK;
>+	return (dma_to_pfn(dev, dev_addr) << PAGE_SHIFT) + offset;
>+}
>+
>+static inline bool dma_capable(struct device *dev, dma_addr_t addr,
>size_t size)
>+{
>+	if (!dev->dma_mask)
>+		return 0;
>+
>+	return addr + size - 1 <= *dev->dma_mask;
>+}
>+
>+static inline void dma_mark_clean(void *addr, size_t size)
>+{
>+}
>+
> /*
>  * DMA errors are defined by all-bits-set in the DMA address.
>  */

  reply	other threads:[~2013-08-01  0:32 UTC|newest]

Thread overview: 73+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2013-07-31 17:44 [PATCH RFC 0/8] enable swiotlb-xen on arm and arm64 Stefano Stabellini
2013-07-31 17:44 ` Stefano Stabellini
2013-07-31 17:44 ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 1/8] arm: make SWIOTLB available Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-08-01  0:32   ` Konrad Rzeszutek Wilk [this message]
2013-08-01  0:32     ` Konrad Rzeszutek Wilk
2013-08-01  0:32     ` Konrad Rzeszutek Wilk
2013-08-02 11:59     ` Stefano Stabellini
2013-08-02 11:59       ` Stefano Stabellini
2013-08-02 11:59       ` Stefano Stabellini
2013-08-02 12:13       ` Konrad Rzeszutek Wilk
2013-08-02 12:13         ` Konrad Rzeszutek Wilk
2013-08-02 12:13         ` Konrad Rzeszutek Wilk
2013-08-02 12:18         ` Stefano Stabellini
2013-08-02 12:18           ` Stefano Stabellini
2013-08-02 12:18           ` Stefano Stabellini
2013-08-01 11:09   ` Russell King - ARM Linux
2013-08-01 11:09     ` Russell King - ARM Linux
2013-08-02 12:09     ` Stefano Stabellini
2013-08-02 12:09       ` Stefano Stabellini
2013-08-02 12:09       ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 2/8] arm: introduce a global dma_ops pointer Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 3/8] arm64: do not initialize arm64_swiotlb if dma_ops is already set Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 4/8] xen/arm,arm64: move Xen initialization earlier Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-08-01  0:35   ` Konrad Rzeszutek Wilk
2013-08-01  0:35     ` Konrad Rzeszutek Wilk
2013-08-01  0:35     ` Konrad Rzeszutek Wilk
2013-07-31 17:45 ` [PATCH RFC 5/8] xen: introduce XENMEM_get_dma_buf and xen_put_dma_buf Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-08-01  0:36   ` Konrad Rzeszutek Wilk
2013-08-01  0:36     ` Konrad Rzeszutek Wilk
2013-08-01  0:36     ` Konrad Rzeszutek Wilk
2013-08-01 15:13     ` Stefano Stabellini
2013-08-01 15:13       ` Stefano Stabellini
2013-08-01 15:13       ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 6/8] xen: make xen_create_contiguous_region return the dma address Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-08-01 11:34   ` David Vrabel
2013-08-01 11:34     ` David Vrabel
2013-08-01 11:34     ` David Vrabel
2013-07-31 17:45 ` [PATCH RFC 7/8] swiotlb-xen: support autotranslate guests Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 19:03   ` Stefano Stabellini
2013-07-31 19:03     ` Stefano Stabellini
2013-07-31 19:03     ` Stefano Stabellini
2013-08-02 12:37   ` Konrad Rzeszutek Wilk
2013-08-02 12:37     ` Konrad Rzeszutek Wilk
2013-08-02 12:37     ` Konrad Rzeszutek Wilk
2013-08-02 16:12     ` Stefano Stabellini
2013-08-02 16:12       ` Stefano Stabellini
2013-08-02 16:12       ` Stefano Stabellini
2013-07-31 17:45 ` [PATCH RFC 8/8] xen/arm,arm64: enable SWIOTLB_XEN Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-07-31 17:45   ` Stefano Stabellini
2013-08-02 12:40   ` Konrad Rzeszutek Wilk
2013-08-02 12:40     ` Konrad Rzeszutek Wilk
2013-08-02 16:25     ` Stefano Stabellini
2013-08-02 16:25       ` Stefano Stabellini
2013-08-02 16:25       ` Stefano Stabellini
2013-07-31 19:44 ` [PATCH RFC 0/8] enable swiotlb-xen on arm and arm64 Stefano Stabellini
2013-07-31 19:44   ` Stefano Stabellini
2013-07-31 19:44   ` Stefano Stabellini

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=334c4fe7-e40c-489c-84db-9bb58c705d44@email.android.com \
    --to=konrad.wilk@oracle.com \
    --cc=linux-arm-kernel@lists.infradead.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.