All of lore.kernel.org
 help / color / mirror / Atom feed
From: Christoph Hellwig <hch@lst.de>
To: Vladimir Murzin <vladimir.murzin@arm.com>
Cc: Jonas Bonn <jonas@southpole.se>,
	linux-xtensa@linux-xtensa.org, linux-parisc@vger.kernel.org,
	Vineet Gupta <vgupta@synopsys.com>, Helge Deller <deller@gmx.de>,
	linux-kernel@vger.kernel.org,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	iommu@lists.linux-foundation.org, openrisc@lists.librecores.org,
	Stafford Horne <shorne@gmail.com>,
	linux-snps-arc@lists.infradead.org,
	Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
Date: Tue, 25 Jun 2019 08:13:32 +0200	[thread overview]
Message-ID: <20190625061332.GC28986@lst.de> (raw)
In-Reply-To: <a017e704-c6c4-7718-7f8b-eb8a0eced14d@arm.com>

On Mon, Jun 24, 2019 at 03:23:08PM +0100, Vladimir Murzin wrote:
> On 6/14/19 3:44 PM, Christoph Hellwig wrote:
> > The arm-nommu DMA code supports DMA_ATTR_NON_CONSISTENT allocations, but
> > does not provide a cache_sync operation.  This means any user of it
> > will never be able to actually transfer cache ownership and thus cause
> > coherency bugs.
> 
> By the way, Documentation/DMA-attributes.txt doesn't specify cache_sync() as
> requirement for DMA_ATTR_NON_CONSISTENT it only states that it is responsibility
> of the driver to have all the correct and necessary sync points.

True.  dma_cache_sync has always been a rather odd interface, as it
doesn't specify in what direction we need to sync and doesn't
participate in our ownership protocol.  So my mid-term plan is to kill
it off and replace it with the existing dma_sync_* helpers.  This
series is the first step towards that.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Vladimir Murzin <vladimir.murzin@arm.com>
Cc: Christoph Hellwig <hch@lst.de>,
	Vineet Gupta <vgupta@synopsys.com>,
	Jonas Bonn <jonas@southpole.se>,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	Stafford Horne <shorne@gmail.com>, Helge Deller <deller@gmx.de>,
	linux-snps-arc@lists.infradead.org,
	linux-arm-kernel@lists.infradead.org,
	openrisc@lists.librecores.org, linux-parisc@vger.kernel.org,
	linux-xtensa@linux-xtensa.org, iommu@lists.linux-foundation.org,
	linux-kernel@vger.kernel.org
Subject: Re: [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
Date: Tue, 25 Jun 2019 08:13:32 +0200	[thread overview]
Message-ID: <20190625061332.GC28986@lst.de> (raw)
In-Reply-To: <a017e704-c6c4-7718-7f8b-eb8a0eced14d@arm.com>

On Mon, Jun 24, 2019 at 03:23:08PM +0100, Vladimir Murzin wrote:
> On 6/14/19 3:44 PM, Christoph Hellwig wrote:
> > The arm-nommu DMA code supports DMA_ATTR_NON_CONSISTENT allocations, but
> > does not provide a cache_sync operation.  This means any user of it
> > will never be able to actually transfer cache ownership and thus cause
> > coherency bugs.
> 
> By the way, Documentation/DMA-attributes.txt doesn't specify cache_sync() as
> requirement for DMA_ATTR_NON_CONSISTENT it only states that it is responsibility
> of the driver to have all the correct and necessary sync points.

True.  dma_cache_sync has always been a rather odd interface, as it
doesn't specify in what direction we need to sync and doesn't
participate in our ownership protocol.  So my mid-term plan is to kill
it off and replace it with the existing dma_sync_* helpers.  This
series is the first step towards that.

WARNING: multiple messages have this Message-ID (diff)
From: hch@lst.de (Christoph Hellwig)
To: linux-snps-arc@lists.infradead.org
Subject: [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
Date: Tue, 25 Jun 2019 08:13:32 +0200	[thread overview]
Message-ID: <20190625061332.GC28986@lst.de> (raw)
In-Reply-To: <a017e704-c6c4-7718-7f8b-eb8a0eced14d@arm.com>

On Mon, Jun 24, 2019@03:23:08PM +0100, Vladimir Murzin wrote:
> On 6/14/19 3:44 PM, Christoph Hellwig wrote:
> > The arm-nommu DMA code supports DMA_ATTR_NON_CONSISTENT allocations, but
> > does not provide a cache_sync operation.  This means any user of it
> > will never be able to actually transfer cache ownership and thus cause
> > coherency bugs.
> 
> By the way, Documentation/DMA-attributes.txt doesn't specify cache_sync() as
> requirement for DMA_ATTR_NON_CONSISTENT it only states that it is responsibility
> of the driver to have all the correct and necessary sync points.

True.  dma_cache_sync has always been a rather odd interface, as it
doesn't specify in what direction we need to sync and doesn't
participate in our ownership protocol.  So my mid-term plan is to kill
it off and replace it with the existing dma_sync_* helpers.  This
series is the first step towards that.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: openrisc@lists.librecores.org
Subject: [OpenRISC] [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
Date: Tue, 25 Jun 2019 08:13:32 +0200	[thread overview]
Message-ID: <20190625061332.GC28986@lst.de> (raw)
In-Reply-To: <a017e704-c6c4-7718-7f8b-eb8a0eced14d@arm.com>

On Mon, Jun 24, 2019 at 03:23:08PM +0100, Vladimir Murzin wrote:
> On 6/14/19 3:44 PM, Christoph Hellwig wrote:
> > The arm-nommu DMA code supports DMA_ATTR_NON_CONSISTENT allocations, but
> > does not provide a cache_sync operation.  This means any user of it
> > will never be able to actually transfer cache ownership and thus cause
> > coherency bugs.
> 
> By the way, Documentation/DMA-attributes.txt doesn't specify cache_sync() as
> requirement for DMA_ATTR_NON_CONSISTENT it only states that it is responsibility
> of the driver to have all the correct and necessary sync points.

True.  dma_cache_sync has always been a rather odd interface, as it
doesn't specify in what direction we need to sync and doesn't
participate in our ownership protocol.  So my mid-term plan is to kill
it off and replace it with the existing dma_sync_* helpers.  This
series is the first step towards that.

WARNING: multiple messages have this Message-ID (diff)
From: Christoph Hellwig <hch@lst.de>
To: Vladimir Murzin <vladimir.murzin@arm.com>
Cc: Jonas Bonn <jonas@southpole.se>,
	linux-xtensa@linux-xtensa.org, linux-parisc@vger.kernel.org,
	Vineet Gupta <vgupta@synopsys.com>, Helge Deller <deller@gmx.de>,
	linux-kernel@vger.kernel.org,
	Stefan Kristiansson <stefan.kristiansson@saunalahti.fi>,
	iommu@lists.linux-foundation.org, openrisc@lists.librecores.org,
	Stafford Horne <shorne@gmail.com>,
	linux-snps-arc@lists.infradead.org,
	Christoph Hellwig <hch@lst.de>,
	linux-arm-kernel@lists.infradead.org
Subject: Re: [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support
Date: Tue, 25 Jun 2019 08:13:32 +0200	[thread overview]
Message-ID: <20190625061332.GC28986@lst.de> (raw)
In-Reply-To: <a017e704-c6c4-7718-7f8b-eb8a0eced14d@arm.com>

On Mon, Jun 24, 2019 at 03:23:08PM +0100, Vladimir Murzin wrote:
> On 6/14/19 3:44 PM, Christoph Hellwig wrote:
> > The arm-nommu DMA code supports DMA_ATTR_NON_CONSISTENT allocations, but
> > does not provide a cache_sync operation.  This means any user of it
> > will never be able to actually transfer cache ownership and thus cause
> > coherency bugs.
> 
> By the way, Documentation/DMA-attributes.txt doesn't specify cache_sync() as
> requirement for DMA_ATTR_NON_CONSISTENT it only states that it is responsibility
> of the driver to have all the correct and necessary sync points.

True.  dma_cache_sync has always been a rather odd interface, as it
doesn't specify in what direction we need to sync and doesn't
participate in our ownership protocol.  So my mid-term plan is to kill
it off and replace it with the existing dma_sync_* helpers.  This
series is the first step towards that.

_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

  reply	other threads:[~2019-06-25  6:14 UTC|newest]

Thread overview: 91+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-06-14 14:44 handle "special" dma allocation in common code Christoph Hellwig
2019-06-14 14:44 ` Christoph Hellwig
2019-06-14 14:44 ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44 ` Christoph Hellwig
2019-06-14 14:44 ` Christoph Hellwig
2019-06-14 14:44 ` [PATCH 1/7] arm-nommu: remove the partial DMA_ATTR_NON_CONSISTENT support Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-24 14:23   ` Vladimir Murzin
2019-06-24 14:23     ` Vladimir Murzin
2019-06-24 14:23     ` [OpenRISC] " Vladimir Murzin
2019-06-24 14:23     ` Vladimir Murzin
2019-06-24 14:23     ` Vladimir Murzin
2019-06-25  6:13     ` Christoph Hellwig [this message]
2019-06-25  6:13       ` Christoph Hellwig
2019-06-25  6:13       ` [OpenRISC] " Christoph Hellwig
2019-06-25  6:13       ` Christoph Hellwig
2019-06-25  6:13       ` Christoph Hellwig
2019-06-14 14:44 ` [PATCH 2/7] arc: " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44 ` [PATCH 3/7] openrisc: " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-16  9:17   ` Stafford Horne
2019-06-16  9:17     ` Stafford Horne
2019-06-16  9:17     ` [OpenRISC] " Stafford Horne
2019-06-16  9:17     ` Stafford Horne
2019-06-16  9:17     ` Stafford Horne
2019-06-14 14:44 ` [PATCH 4/7] dma-mapping: add a dma_alloc_need_uncached helper Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44 ` [PATCH 5/7] dma-direct: handle DMA_ATTR_NON_CONSISTENT in common code Christoph Hellwig
2019-06-16 10:08   ` Hillf Danton
2019-06-16 10:08   ` Hillf Danton
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-25  6:11   ` Christoph Hellwig
2019-06-25  6:11     ` Christoph Hellwig
2019-06-25  6:11     ` [OpenRISC] " Christoph Hellwig
2019-06-25  6:11     ` Christoph Hellwig
2019-06-25  6:11     ` Christoph Hellwig
2019-06-25 12:23   ` Helge Deller
2019-06-25 12:23     ` Helge Deller
2019-06-25 12:23     ` [OpenRISC] " Helge Deller
2019-06-25 12:23     ` Helge Deller
2019-06-25 12:23     ` Helge Deller
2019-06-25 12:28     ` Christoph Hellwig
2019-06-25 12:28       ` Christoph Hellwig
2019-06-25 12:28       ` [OpenRISC] " Christoph Hellwig
2019-06-25 12:28       ` Christoph Hellwig
2019-06-25 12:28       ` Christoph Hellwig
2019-06-14 14:44 ` [PATCH 6/7] dma-direct: handle DMA_ATTR_NO_KERNEL_MAPPING " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-29 15:09   ` Guenter Roeck
2019-06-29 15:09     ` Guenter Roeck
2019-06-29 15:09     ` [OpenRISC] " Guenter Roeck
2019-06-29 15:09     ` Guenter Roeck
2019-06-29 15:09     ` Guenter Roeck
2019-06-14 14:44 ` [PATCH 7/7] arc: use the generic remapping allocator for coherent DMA allocations Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` [OpenRISC] " Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 14:44   ` Christoph Hellwig
2019-06-14 18:05   ` Eugeniy Paltsev
2019-06-14 18:05     ` Eugeniy Paltsev
2019-06-14 18:05     ` [OpenRISC] " Eugeniy Paltsev
2019-06-14 18:05     ` Eugeniy Paltsev
2019-06-14 18:05     ` Eugeniy Paltsev
2019-06-15  8:35     ` hch
2019-06-15  8:35       ` hch
2019-06-15  8:35       ` [OpenRISC] " hch
2019-06-15  8:35       ` hch
2019-06-15  8:35       ` hch
     [not found]       ` <20190624131417.GA10593@lst.de>
2019-06-24 19:13         ` Eugeniy Paltsev
2019-06-24 19:13           ` Eugeniy Paltsev
2019-06-25  6:34           ` hch
2019-06-25  6:34             ` hch

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=20190625061332.GC28986@lst.de \
    --to=hch@lst.de \
    --cc=deller@gmx.de \
    --cc=iommu@lists.linux-foundation.org \
    --cc=jonas@southpole.se \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-parisc@vger.kernel.org \
    --cc=linux-snps-arc@lists.infradead.org \
    --cc=linux-xtensa@linux-xtensa.org \
    --cc=openrisc@lists.librecores.org \
    --cc=shorne@gmail.com \
    --cc=stefan.kristiansson@saunalahti.fi \
    --cc=vgupta@synopsys.com \
    --cc=vladimir.murzin@arm.com \
    /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.