From: tushar.behera@linaro.org (Tushar Behera)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH RFC 46/51] ARM: DMA-API: better handing of DMA masks for coherent allocations
Date: Fri, 09 Aug 2013 17:05:09 +0530 [thread overview]
Message-ID: <5204D3ED.70504@linaro.org> (raw)
In-Reply-To: <E1V51EE-0006uO-C2@rmk-PC.arm.linux.org.uk>
On 08/02/2013 03:50 AM, Russell King wrote:
> We need to start treating DMA masks as something which is specific to
> the bus that the device resides on, otherwise we're going to hit all
> sorts of nasty issues with LPAE and 32-bit DMA controllers in >32-bit
> systems, where memory is offset from PFN 0.
>
> In order to start doing this, we convert the DMA mask to a PFN using
> the device specific dma_to_pfn() macro. This is the reverse of the
> pfn_to_dma() macro which is used to get the DMA address for the device.
>
> This gives us a PFN mask, which we can then check against the PFN
> limit of the DMA zone.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
> arch/arm/mm/dma-mapping.c | 49 ++++++++++++++++++++++++++++++++++++++++----
> arch/arm/mm/init.c | 2 +
> arch/arm/mm/mm.h | 2 +
> 3 files changed, 48 insertions(+), 5 deletions(-)
>
Tested on Arndale board with ARM_LPAE enabled.
Tested-by: Tushar Behera <tushar.behera@linaro.org>
--
Tushar Behera
WARNING: multiple messages have this Message-ID (diff)
From: Tushar Behera <tushar.behera@linaro.org>
To: Russell King <rmk+kernel@arm.linux.org.uk>
Cc: linux-arm-kernel@lists.infradead.org,
linux-kernel@vger.kernel.org, Arnd Bergmann <arnd@arndb.de>
Subject: Re: [PATCH RFC 46/51] ARM: DMA-API: better handing of DMA masks for coherent allocations
Date: Fri, 09 Aug 2013 17:05:09 +0530 [thread overview]
Message-ID: <5204D3ED.70504@linaro.org> (raw)
In-Reply-To: <E1V51EE-0006uO-C2@rmk-PC.arm.linux.org.uk>
On 08/02/2013 03:50 AM, Russell King wrote:
> We need to start treating DMA masks as something which is specific to
> the bus that the device resides on, otherwise we're going to hit all
> sorts of nasty issues with LPAE and 32-bit DMA controllers in >32-bit
> systems, where memory is offset from PFN 0.
>
> In order to start doing this, we convert the DMA mask to a PFN using
> the device specific dma_to_pfn() macro. This is the reverse of the
> pfn_to_dma() macro which is used to get the DMA address for the device.
>
> This gives us a PFN mask, which we can then check against the PFN
> limit of the DMA zone.
>
> Signed-off-by: Russell King <rmk+kernel@arm.linux.org.uk>
> ---
> arch/arm/mm/dma-mapping.c | 49 ++++++++++++++++++++++++++++++++++++++++----
> arch/arm/mm/init.c | 2 +
> arch/arm/mm/mm.h | 2 +
> 3 files changed, 48 insertions(+), 5 deletions(-)
>
Tested on Arndale board with ARM_LPAE enabled.
Tested-by: Tushar Behera <tushar.behera@linaro.org>
--
Tushar Behera
next prev parent reply other threads:[~2013-08-09 11:35 UTC|newest]
Thread overview: 119+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-08-01 21:34 [PATCH RFC 00/51] Preview of DMA mask changes Russell King - ARM Linux
2013-08-01 21:34 ` Russell King - ARM Linux
2013-08-01 21:34 ` Russell King - ARM Linux
2013-08-01 21:35 ` [PATCH RFC 01/51] DMA-API: provide a helper to set both DMA and coherent DMA masks Russell King
2013-08-01 21:35 ` Russell King
2013-08-01 21:36 ` [PATCH RFC 02/51] DMA-API: net: brocade/bna/bnad.c: fix 32-bit DMA mask handling Russell King
2013-08-01 21:36 ` Russell King
2013-08-01 21:37 ` [PATCH RFC 03/51] DMA-API: net: intel/e1000e: " Russell King
2013-08-01 21:37 ` Russell King
2013-08-01 21:38 ` [PATCH RFC 04/51] DMA-API: net: intel/igb: " Russell King
2013-08-01 21:38 ` Russell King
2013-08-01 21:39 ` [PATCH RFC 05/51] DMA-API: net: intel/igbvf: " Russell King
2013-08-01 21:39 ` Russell King
2013-08-01 21:40 ` [PATCH RFC 06/51] DMA-API: net: intel/ixgb: " Russell King
2013-08-01 21:40 ` Russell King
2013-08-01 21:41 ` [PATCH RFC 07/51] DMA-API: net: intel/ixgbe: " Russell King
2013-08-01 21:41 ` Russell King
2013-08-01 21:42 ` [PATCH RFC 08/51] DMA-API: net: intel/ixgbevf: " Russell King
2013-08-01 21:42 ` Russell King
2013-08-01 21:43 ` [PATCH RFC 09/51] DMA-API: net: broadcom/b44: replace dma_set_mask()+dma_set_coherent_mask() with new helper Russell King
2013-08-01 21:43 ` Russell King
2013-08-01 21:44 ` [PATCH RFC 10/51] DMA-API: net: broadcom/bnx2x: " Russell King
2013-08-01 21:44 ` Russell King
2013-08-01 21:45 ` [PATCH RFC 11/51] DMA-API: net: emulex/benet: " Russell King
2013-08-01 21:45 ` Russell King
2013-08-01 21:46 ` [PATCH RFC 12/51] DMA-API: net: intel/e1000: " Russell King
2013-08-01 21:46 ` Russell King
2013-08-01 21:47 ` [PATCH RFC 13/51] DMA-API: net: sfc/efx.c: " Russell King
2013-08-01 21:47 ` Russell King
2013-08-01 21:48 ` [PATCH RFC 14/51] DMA-API: net: b43: " Russell King
2013-08-01 21:48 ` Russell King
2013-08-01 21:49 ` [PATCH RFC 15/51] DMA-API: net: b43legacy: " Russell King
2013-08-01 21:49 ` Russell King
2013-08-01 21:50 ` [PATCH RFC 16/51] DMA-API: ppc: vio.c: " Russell King
2013-08-01 21:50 ` Russell King
2013-08-01 21:51 ` [PATCH RFC 17/51] DMA-API: block: nvme-core: " Russell King
2013-08-01 21:51 ` Russell King
2013-08-01 21:52 ` [PATCH RFC 18/51] DMA-API: staging: et131x: " Russell King
2013-08-01 21:52 ` Russell King
2013-08-01 21:53 ` [PATCH RFC 19/51] DMA-API: media: dt3155v4l: " Russell King
2013-08-01 21:53 ` Russell King
2013-08-01 21:54 ` [PATCH RFC 20/51] DMA-API: usb: bcma: " Russell King
2013-08-01 21:54 ` Russell King
2013-08-01 21:55 ` [PATCH RFC 21/51] DMA-API: usb: ssb-hcd: " Russell King
2013-08-01 21:55 ` Russell King
2013-08-01 21:56 ` [PATCH RFC 22/51] DMA-API: amba: get rid of separate dma_mask Russell King
2013-08-01 21:56 ` Russell King
2013-08-01 21:57 ` [PATCH RFC 23/51] DMA-API: dma: pl08x: add dma_set_mask_and_coherent() call Russell King
2013-08-01 21:57 ` Russell King
2013-08-01 21:58 ` [PATCH RFC 24/51] DMA-API: dma: pl330: " Russell King
2013-08-01 21:58 ` Russell King
2013-08-01 21:59 ` [PATCH RFC 25/51] DMA-API: video: clcd: " Russell King
2013-08-01 21:59 ` Russell King
2013-08-01 22:00 ` [PATCH RFC 26/51] DMA-API: usb: ohci-sa1111: add a note about DMA masks Russell King
2013-08-01 22:00 ` Russell King
2013-08-01 22:01 ` [PATCH RFC 27/51] DMA-API: provide a helper to setup " Russell King
2013-08-01 22:01 ` Russell King
2013-08-01 22:02 ` [PATCH RFC 28/51] DMA-API: sound: fix dma mask handling in a lot of drivers Russell King
2013-08-01 22:02 ` Russell King
2013-08-01 22:03 ` [PATCH RFC 29/51] DMA-API: ata: pata_octeon_cf: convert to use dma_coerce_mask_and_coherent() Russell King
2013-08-01 22:03 ` Russell King
2013-08-01 22:04 ` [PATCH RFC 30/51] DMA-API: dma: dw_dmac.c: " Russell King
2013-08-01 22:04 ` Russell King
2013-08-01 22:05 ` [PATCH RFC 31/51] DMA-API: media: omap3isp: " Russell King
2013-08-01 22:05 ` Russell King
2013-08-01 22:06 ` [PATCH RFC 32/51] DMA-API: mmc: sdhci-acpi: " Russell King
2013-08-01 22:06 ` Russell King
2013-08-01 22:07 ` [PATCH RFC 33/51] DMA-API: net: nxp/lpc_eth: " Russell King
2013-08-01 22:07 ` Russell King
2013-08-01 22:08 ` [PATCH RFC 34/51] DMA-API: net: octeon: " Russell King
2013-08-01 22:08 ` Russell King
2013-08-01 22:09 ` [PATCH RFC 35/51] DMA-API: parport: parport_pc.c: " Russell King
2013-08-01 22:09 ` Russell King
2013-08-01 22:10 ` [PATCH RFC 36/51] DMA-API: usb: use dma_set_coherent_mask() Russell King
2013-08-01 22:10 ` Russell King
2013-08-01 22:11 ` [PATCH RFC 37/51] DMA-API: usb: use new dma_coerce_mask_and_coherent() Russell King
2013-08-01 22:11 ` Russell King
2013-08-01 22:12 ` [PATCH RFC 38/51] DMA-API: staging: use dma_set_coherent_mask() Russell King
2013-08-01 22:12 ` Russell King
2013-08-01 22:13 ` [PATCH RFC 39/51] DMA-API: others: " Russell King
2013-08-01 22:13 ` Russell King
2013-08-01 22:14 ` [PATCH RFC 40/51] DMA-API: crypto: fix ixp4xx crypto platform device support Russell King
2013-08-01 22:14 ` Russell King
2013-08-01 22:15 ` [PATCH RFC 41/51] DMA-API: crypto: remove last references to 'static struct device *dev' Russell King
2013-08-01 22:15 ` Russell King
2013-08-01 22:16 ` [PATCH RFC 42/51] DMA-API: usb: musb: use platform_device_register_full() to avoid directly messing with dma masks Russell King
2013-08-01 22:16 ` Russell King
2013-08-01 22:17 ` [PATCH RFC 43/51] DMA-API: dma: edma.c: no need to explicitly initialize DMA masks Russell King
2013-08-01 22:17 ` Russell King
2013-08-01 22:18 ` [PATCH RFC 44/51] DMA-API: dcdbas: update DMA mask handing Russell King
2013-08-01 22:18 ` Russell King
2013-08-01 22:19 ` [PATCH RFC 45/51] DMA-API: firmware/google/gsmi.c: avoid direct access to DMA masks Russell King
2013-08-01 22:19 ` Russell King
2013-08-01 22:20 ` [PATCH RFC 46/51] ARM: DMA-API: better handing of DMA masks for coherent allocations Russell King
2013-08-01 22:20 ` Russell King
2013-08-05 22:43 ` Rob Herring
2013-08-05 22:43 ` Rob Herring
2013-08-05 23:44 ` Russell King - ARM Linux
2013-08-05 23:44 ` Russell King - ARM Linux
2013-08-09 11:35 ` Tushar Behera [this message]
2013-08-09 11:35 ` Tushar Behera
2013-08-01 22:21 ` [PATCH RFC 47/51] ARM: 7794/1: block: Rename parameter dma_mask to max_addr for blk_queue_bounce_limit() Santosh Shilimkar
2013-08-01 22:21 ` Santosh Shilimkar
2013-08-01 22:37 ` Russell King - ARM Linux
2013-08-01 22:37 ` Russell King - ARM Linux
2013-08-01 22:22 ` [PATCH RFC 48/51] ARM: 7795/1: mm: dma-mapping: Add dma_max_pfn(dev) helper function Santosh Shilimkar
2013-08-01 22:22 ` Santosh Shilimkar
2013-08-01 22:23 ` [PATCH RFC 49/51] ARM: 7796/1: scsi: Use dma_max_pfn(dev) helper for bounce_limit calculations Santosh Shilimkar
2013-08-01 22:23 ` Santosh Shilimkar
2013-08-01 22:24 ` [PATCH RFC 50/51] ARM: 7797/1: mmc: " Santosh Shilimkar
2013-08-01 22:24 ` Santosh Shilimkar
2013-08-01 22:25 ` [PATCH RFC 51/51] ARM: 7805/1: mm: change max*pfn to include the physical offset of memory Santosh Shilimkar
2013-08-01 22:25 ` Santosh Shilimkar
2013-08-06 3:15 ` Rob Herring
2013-08-06 3:15 ` Rob Herring
2013-08-06 8:51 ` Russell King - ARM Linux
2013-08-06 8:51 ` Russell King - ARM Linux
2013-08-14 10:38 ` [PATCH RFC 00/51] Preview of DMA mask changes Russell King - ARM Linux
2013-08-14 10:38 ` Russell King - ARM Linux
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=5204D3ED.70504@linaro.org \
--to=tushar.behera@linaro.org \
--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.