linux-metag.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch-jcswGhMUV9g@public.gmane.org>
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Cc: linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org,
	linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	Guan Xuetao <gxt-TG0Ac1+ktVePQbnJrJN+5g@public.gmane.org>,
	linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org,
	linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
	Konrad Rzeszutek Wilk
	<konrad-Gq0aWv8utHQdnm+yROfE0A@public.gmane.org>,
	linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	linux-m68k-cunTk1MwBs8S/qaLPR03pWD2FQJk+8+b@public.gmane.org,
	patches-q3qR2WxjNRFS9aJRtSZj7A@public.gmane.org,
	linux-metag-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
	Michal Simek <monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org>,
	linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-cris-kernel-VrBV9hrLPhE@public.gmane.org,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-alpha-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org
Subject: consolidate direct dma mapping V4
Date: Fri, 12 Jan 2018 09:41:58 +0100	[thread overview]
Message-ID: <20180112084232.2857-1-hch@lst.de> (raw)

Almost every architecture supports a direct dma mapping implementation,
where no iommu is used and the device dma address is a 1:1 mapping to
the physical address or has a simple linear offset.  Currently the
code for this implementation is most duplicated over the architectures,
and the duplicated again in the swiotlb code, and then duplicated again
for special cases like the x86 memory encryption DMA ops.

This series takes the existing very simple dma-noop dma mapping
implementation, enhances it with all the x86 features and quirks, and
creates a common set of architecture hooks for it and the swiotlb code.

It then switches a number of architectures to this generic
direct map implemention.

Note that for now this only handles architectures that do cache coherent
DMA, but a similar consolidation for non-coherent architectures is in the
work for later merge windows.

A git tree is also available:

   git://git.infradead.org/users/hch/misc.git dma-direct.3

Gitweb:

   http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/dma-direct.3

Changes since V3
 - new patch to fix an off-by-one in mips dma_capable
Changes since V2:
 - fixed a few patch description typos
 - fixed a few printk formats
 - fixed an off by one in dma_coherent_ok
 - add a few Reviewed-by/Acked-by tags.
 - moved the swiotlb consolidation to a new series
 - dropped a few patches for now to not overwhelem the x86
   maintainers.  They will be resubmitted in the next merge window

             reply	other threads:[~2018-01-12  8:41 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-01-12  8:41 Christoph Hellwig [this message]
2018-01-12  8:41 ` [PATCH 01/34] alpha: mark jensen as broken Christoph Hellwig
2018-01-12  8:42 ` [PATCH 10/34] arm64: don't override dma_max_pfn Christoph Hellwig
2018-01-12  8:42 ` [PATCH 11/34] mips: fix an off-by-one in dma_capable Christoph Hellwig
2018-01-12  8:42 ` [PATCH 12/34] dma-mapping: move swiotlb arch helpers to a new header Christoph Hellwig
     [not found] ` <20180112084232.2857-1-hch-jcswGhMUV9g@public.gmane.org>
2018-01-12  8:42   ` [PATCH 02/34] hexagon: remove unused flush_write_buffers definition Christoph Hellwig
2018-01-12  8:42   ` [PATCH 03/34] m32r: " Christoph Hellwig
2018-01-12  8:42   ` [PATCH 04/34] powerpc: " Christoph Hellwig
2018-01-12  8:42   ` [PATCH 05/34] arc: remove CONFIG_ARC_PLAT_NEEDS_PHYS_TO_DMA Christoph Hellwig
2018-01-12  8:42   ` [PATCH 06/34] m32r: remove the unused dma_capable helper Christoph Hellwig
2018-01-12  8:42   ` [PATCH 07/34] riscv: " Christoph Hellwig
2018-01-12  8:42   ` [PATCH 08/34] s390: " Christoph Hellwig
2018-01-12  8:42   ` [PATCH 09/34] dma-mapping: take dma_pfn_offset into account in dma_max_pfn Christoph Hellwig
2018-01-12  8:42   ` [PATCH 13/34] dma-mapping: move dma_mark_clean to dma-direct.h Christoph Hellwig
2018-01-12  8:42   ` [PATCH 16/34] microblaze: rename dma_direct to dma_nommu Christoph Hellwig
2018-01-12  8:42   ` [PATCH 20/34] dma-mapping: warn when there is no coherent_dma_mask Christoph Hellwig
2018-01-12  8:42   ` [PATCH 22/34] dma-mapping: add an arch_dma_supported hook Christoph Hellwig
2018-02-02 17:47     ` Randy Dunlap
2018-01-12  8:42   ` [PATCH 23/34] dma-mapping: provide a generic asm/dma-mapping.h Christoph Hellwig
2018-01-12  8:42   ` [PATCH 25/34] dma-direct: use phys_to_dma Christoph Hellwig
2018-01-12  8:42   ` [PATCH 26/34] dma-direct: add dma address sanity checks Christoph Hellwig
2018-01-16  7:52   ` consolidate direct dma mapping V4 Christoph Hellwig
2018-01-12  8:42 ` [PATCH 14/34] hexagon: use the generic dma_capable helper Christoph Hellwig
2018-01-12  8:42 ` [PATCH 15/34] powerpc: rename dma_direct_ to dma_nommu_ Christoph Hellwig
2018-01-12  8:42 ` [PATCH 17/34] microblaze: remove dma_nommu_dma_supported Christoph Hellwig
2018-01-12  8:42 ` [PATCH 18/34] microblaze: remove the dead !NOT_COHERENT_CACHE dma code Christoph Hellwig
2018-01-12  8:42 ` [PATCH 19/34] s390: move s390_pci_dma_ops to asm/pci_dma.h Christoph Hellwig
2018-01-12  8:42 ` [PATCH 21/34] dma-mapping: clear harmful GFP_* flags in common code Christoph Hellwig
2018-01-12  8:42 ` [PATCH 24/34] dma-direct: rename dma_noop to dma_direct Christoph Hellwig
2018-01-12  8:42 ` [PATCH 27/34] dma-direct: add support for CMA allocation Christoph Hellwig
2018-01-12  8:42 ` [PATCH 28/34] dma-direct: use node local allocations for coherent memory Christoph Hellwig
2018-01-12  8:42 ` [PATCH 29/34] dma-direct: add support for allocation from ZONE_DMA and ZONE_DMA32 Christoph Hellwig
2018-01-12  8:42 ` [PATCH 30/34] dma-direct: retry allocations using GFP_DMA for small masks Christoph Hellwig
2018-01-12  8:42 ` [PATCH 31/34] dma-direct: make dma_direct_{alloc,free} available to other implementations Christoph Hellwig
2018-01-12  8:42 ` [PATCH 32/34] dma-direct: reject too small dma masks Christoph Hellwig
2018-01-12  8:42 ` [PATCH 33/34] cris: use dma-direct Christoph Hellwig
2018-01-12  8:42 ` [PATCH 34/34] h8300: " Christoph Hellwig

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=20180112084232.2857-1-hch@lst.de \
    --to=hch-jcswghmuv9g@public.gmane.org \
    --cc=gxt-TG0Ac1+ktVePQbnJrJN+5g@public.gmane.org \
    --cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
    --cc=konrad-Gq0aWv8utHQdnm+yROfE0A@public.gmane.org \
    --cc=linux-alpha-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arch-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linux-c6x-dev-jPsnJVOj+W6hPH1hqNUYSQ@public.gmane.org \
    --cc=linux-cris-kernel-VrBV9hrLPhE@public.gmane.org \
    --cc=linux-hexagon-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-ia64-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-m68k-cunTk1MwBs8S/qaLPR03pWD2FQJk+8+b@public.gmane.org \
    --cc=linux-metag-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-mips-6z/3iImG2C8G8FEW9MqTrA@public.gmane.org \
    --cc=linux-parisc-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-s390-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-sh-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-snps-arc-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
    --cc=linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ@public.gmane.org \
    --cc=monstr-pSz03upnqPeHXe+LvDLADg@public.gmane.org \
    --cc=patches-q3qR2WxjNRFS9aJRtSZj7A@public.gmane.org \
    --cc=sparclinux-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=x86-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).