All of lore.kernel.org
 help / color / mirror / Atom feed
* refactor dma_cache_sync
@ 2017-08-27 16:10 ` Christoph Hellwig
  0 siblings, 0 replies; 39+ messages in thread
From: Christoph Hellwig @ 2017-08-27 16:10 UTC (permalink / raw)
  To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA
  Cc: Chris Zankel, Michal Simek, linux-ia64-u79uwXL29TY76Z2rM5mHXA,
	linux-mips-6z/3iImG2C8G8FEW9MqTrA,
	linux-sh-u79uwXL29TY76Z2rM5mHXA,
	linuxppc-dev-uLR06cmDAlY/bJ5BZ2RsiQ,
	linux-xtensa-PjhNF2WwrV/0Sa2dR60CXw, x86-DgEjT+Ai2ygdnm+yROfE0A,
	linux-kernel-u79uwXL29TY76Z2rM5mHXA, David Howells, Max Filippov,
	Guan Xuetao

The dma_cache_sync routines is used to flush caches for memory returned
by dma_alloc_attrs with the DMA_ATTR_NON_CONSISTENT flag (or previously
from dma_alloc_noncoherent), but the requirements for it seems to be
frequently misunderstood.  dma_cache_sync is documented to be a no-op for
allocations that do not have the DMA_ATTR_NON_CONSISTENT flag set, and
yet a lot of architectures implement it in some way despite not
implementing DMA_ATTR_NON_CONSISTENT.

This series removes a few abuses of dma_cache_sync for non-DMA API
purposes, then changes all remaining architectures that do not implement
DMA_ATTR_NON_CONSISTENT to implement dma_cache_sync as a no-op, and
then adds the struct dma_map_ops indirection we use for all other
DMA mapping operations to dma_cache_sync as well, thus removing all but
two implementations of the function.

^ permalink raw reply	[flat|nested] 39+ messages in thread

end of thread, other threads:[~2017-08-31 14:07 UTC | newest]

Thread overview: 39+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-08-27 16:10 refactor dma_cache_sync Christoph Hellwig
2017-08-27 16:10 ` Christoph Hellwig
2017-08-27 16:10 ` Christoph Hellwig
2017-08-27 16:10 ` [PATCH 03/12] frv: make dma_cache_sync a no-op Christoph Hellwig
2017-08-27 16:10   ` Christoph Hellwig
     [not found] ` <20170827161032.22772-1-hch-jcswGhMUV9g@public.gmane.org>
2017-08-27 16:10   ` [PATCH 01/12] floppy: consolidate the dummy fd_cacheflush definition Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10   ` [PATCH 02/12] mips: don't use dma_cache_sync to implement fd_cacheflush Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10   ` [PATCH 04/12] x86: make dma_cache_sync a no-op Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
     [not found]     ` <20170827161032.22772-5-hch-jcswGhMUV9g@public.gmane.org>
2017-08-31 14:06       ` Thomas Gleixner
2017-08-31 14:06         ` Thomas Gleixner
2017-08-31 14:06         ` Thomas Gleixner
2017-08-27 16:10   ` [PATCH 05/12] ia64: " Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10   ` [PATCH 06/12] microblaze: " Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10   ` [PATCH 08/12] powerpc: " Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10   ` [PATCH 10/12] xtensa: " Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10     ` Christoph Hellwig
2017-08-27 16:10 ` [PATCH 07/12] mn10300: " Christoph Hellwig
2017-08-27 16:10   ` Christoph Hellwig
2017-08-27 16:10 ` [PATCH 09/12] unicore32: " Christoph Hellwig
2017-08-27 16:10   ` Christoph Hellwig
2017-08-27 16:10 ` [PATCH 11/12] sh: " Christoph Hellwig
2017-08-27 16:10   ` Christoph Hellwig
2017-08-27 16:10 ` [PATCH 12/12] dma-mapping: turn dma_cache_sync into a dma_map_ops method Christoph Hellwig
2017-08-27 16:10   ` Christoph Hellwig
2017-08-28  6:26   ` Geert Uytterhoeven
2017-08-28  6:26     ` Geert Uytterhoeven

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.