linuxppc-dev.lists.ozlabs.org archive mirror
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Christophe LEROY <christophe.leroy@c-s.fr>,
	Christoph Hellwig <hch@lst.de>,
	iommu@lists.linux-foundation.org
Cc: Chris Zankel <chris@zankel.net>, Michal Simek <monstr@monstr.eu>,
	linux-ia64@vger.kernel.org, linux-mips@linux-mips.org,
	linux-sh@vger.kernel.org, linuxppc-dev@lists.ozlabs.org,
	linux-xtensa@linux-xtensa.org, x86@kernel.org,
	linux-kernel@vger.kernel.org, David Howells <dhowells@redhat.com>,
	Max Filippov <jcmvbkbc@gmail.com>,
	Guan Xuetao <gxt@mprc.pku.edu.cn>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Subject: Re: [PATCH 07/11] powerpc: make dma_cache_sync a no-op
Date: Tue, 3 Oct 2017 12:43:07 +0100	[thread overview]
Message-ID: <1dcf9810-6e9f-c32f-a416-b114d1992ade@arm.com> (raw)
In-Reply-To: <670a0571-1a36-51a3-db52-64bc61184c35@c-s.fr>

On 03/10/17 12:24, Christophe LEROY wrote:
> 
> 
> Le 03/10/2017 à 12:43, Christoph Hellwig a écrit :
>> powerpc does not implement DMA_ATTR_NON_CONSISTENT allocations, so it
>> doesn't make any sense to do any work in dma_cache_sync given that it
>> must be a no-op when dma_alloc_attrs returns coherent memory.
> What about arch/powerpc/mm/dma-noncoherent.c ?

AFAICS, just like the ARM code from which it is derived, that will
always return a non-cacheable remap of the allocation, which should thus
not require explicit maintenance after CPU accesses. dma_cache_sync()
would only matter if dma_alloc_attrs(..., DMA_ATTR_NON_CONSISTENT) got
special treatment and was allowed to return a cacheable address, but PPC
doesn't even propagate the attrs to its internal __dma_alloc_coherent()
implementations.

Robin.

> Powerpc 8xx doesn't have coherent memory.
> 
> Christophe
> 
>>
>> Signed-off-by: Christoph Hellwig <hch@lst.de>
>> ---
>>   arch/powerpc/include/asm/dma-mapping.h | 2 --
>>   1 file changed, 2 deletions(-)
>>
>> diff --git a/arch/powerpc/include/asm/dma-mapping.h
>> b/arch/powerpc/include/asm/dma-mapping.h
>> index eaece3d3e225..320846442bfb 100644
>> --- a/arch/powerpc/include/asm/dma-mapping.h
>> +++ b/arch/powerpc/include/asm/dma-mapping.h
>> @@ -144,8 +144,6 @@ static inline phys_addr_t dma_to_phys(struct
>> device *dev, dma_addr_t daddr)
>>   static inline void dma_cache_sync(struct device *dev, void *vaddr,
>> size_t size,
>>           enum dma_data_direction direction)
>>   {
>> -    BUG_ON(direction == DMA_NONE);
>> -    __dma_sync(vaddr, size, (int)direction);
>>   }
>>     #endif /* __KERNEL__ */
>>

  reply	other threads:[~2017-10-03 11:43 UTC|newest]

Thread overview: 23+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-10-03 10:43 refactor dma_cache_sync V2 Christoph Hellwig
2017-10-03 10:43 ` [PATCH 01/11] floppy: consolidate the dummy fd_cacheflush definition Christoph Hellwig
2017-10-03 10:43 ` [PATCH 02/11] x86: make dma_cache_sync a no-op Christoph Hellwig
2017-10-03 16:02   ` David Laight
2017-10-03 20:27     ` Thomas Gleixner
2017-10-03 10:43 ` [PATCH 03/11] frv: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 04/11] ia64: " Christoph Hellwig
2017-10-04  8:59   ` David Laight
2017-10-04  9:06     ` 'Christoph Hellwig'
2017-10-03 10:43 ` [PATCH 05/11] microblaze: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 06/11] mn10300: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 07/11] powerpc: " Christoph Hellwig
2017-10-03 11:24   ` Christophe LEROY
2017-10-03 11:43     ` Robin Murphy [this message]
2017-10-03 11:43     ` Christoph Hellwig
2017-10-04  8:29       ` Christophe LEROY
2017-10-03 10:43 ` [PATCH 08/11] unicore32: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 09/11] xtensa: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 10/11] sh: " Christoph Hellwig
2017-10-03 10:43 ` [PATCH 11/11] dma-mapping: turn dma_cache_sync into a dma_map_ops method Christoph Hellwig
2017-10-03 11:49 ` refactor dma_cache_sync V2 Robin Murphy
2017-10-16 12:44   ` Christoph Hellwig
2017-10-19 15:02     ` 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=1dcf9810-6e9f-c32f-a416-b114d1992ade@arm.com \
    --to=robin.murphy@arm.com \
    --cc=chris@zankel.net \
    --cc=christophe.leroy@c-s.fr \
    --cc=dhowells@redhat.com \
    --cc=gxt@mprc.pku.edu.cn \
    --cc=hch@lst.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jcmvbkbc@gmail.com \
    --cc=linux-ia64@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-mips@linux-mips.org \
    --cc=linux-sh@vger.kernel.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=linuxppc-dev@lists.ozlabs.org \
    --cc=m.szyprowski@samsung.com \
    --cc=monstr@monstr.eu \
    --cc=x86@kernel.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 NNTP newsgroup(s).