linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Liam Mark <lmark@codeaurora.org>
To: labbott@redhat.com, sumit.semwal@linaro.org
Cc: arve@android.com, tkjos@android.com, maco@android.com,
	joel@joelfernandes.org, christian@brauner.io,
	devel@driverdev.osuosl.org, dri-devel@lists.freedesktop.org,
	linaro-mm-sig@lists.linaro.org, linux-kernel@vger.kernel.org,
	afd@ti.com, john.stultz@linaro.org,
	Liam Mark <lmark@codeaurora.org>
Subject: [PATCH 4/4] staging: android: ion: Support for mapping with dma mapping attributes
Date: Fri, 18 Jan 2019 10:37:47 -0800	[thread overview]
Message-ID: <1547836667-13695-5-git-send-email-lmark@codeaurora.org> (raw)
In-Reply-To: <1547836667-13695-1-git-send-email-lmark@codeaurora.org>

Add support for configuring dma mapping attributes when mapping
and unmapping memory through dma_buf_map_attachment and
dma_buf_unmap_attachment.

For example this will allow ION clients to skip cache maintenance, by
using DMA_ATTR_SKIP_CPU_SYNC, for buffers which are clean and haven't been
accessed by the CPU.

Signed-off-by: Liam Mark <lmark@codeaurora.org>
---
 drivers/staging/android/ion/ion.c | 7 ++++---
 1 file changed, 4 insertions(+), 3 deletions(-)

diff --git a/drivers/staging/android/ion/ion.c b/drivers/staging/android/ion/ion.c
index 1fe633a7fdba..0aae845b20ba 100644
--- a/drivers/staging/android/ion/ion.c
+++ b/drivers/staging/android/ion/ion.c
@@ -268,8 +268,8 @@ static struct sg_table *ion_map_dma_buf(struct dma_buf_attachment *attachment,
 	table = a->table;
 
 	mutex_lock(&buffer->lock);
-	if (!dma_map_sg(attachment->dev, table->sgl, table->nents,
-			direction)) {
+	if (!dma_map_sg_attrs(attachment->dev, table->sgl, table->nents,
+			      direction, attachment->dma_map_attrs)) {
 		mutex_unlock(&buffer->lock);
 		return ERR_PTR(-ENOMEM);
 	}
@@ -287,7 +287,8 @@ static void ion_unmap_dma_buf(struct dma_buf_attachment *attachment,
 	struct ion_buffer *buffer = attachment->dmabuf->priv;
 
 	mutex_lock(&buffer->lock);
-	dma_unmap_sg(attachment->dev, table->sgl, table->nents, direction);
+	dma_unmap_sg_attrs(attachment->dev, table->sgl, table->nents, direction,
+			   attachment->dma_map_attrs);
 	a->dma_mapped = false;
 	mutex_unlock(&buffer->lock);
 }
-- 
Qualcomm Innovation Center, Inc. is a member of Code Aurora Forum, 
a Linux Foundation Collaborative Project


  parent reply	other threads:[~2019-01-18 18:38 UTC|newest]

Thread overview: 37+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-18 18:37 [PATCH 0/4] ION stability and perf changes Liam Mark
2019-01-18 18:37 ` [PATCH 1/4] staging: android: ion: Support cpu access during dma_buf_detach Liam Mark
2019-01-18 19:34   ` Andrew F. Davis
2019-01-18 20:40   ` Laura Abbott
2019-01-18 18:37 ` [PATCH 2/4] staging: android: ion: Restrict cache maintenance to dma mapped memory Liam Mark
2019-01-18 20:20   ` Andrew F. Davis
2019-01-18 21:18     ` Liam Mark
2019-01-29 23:44       ` Liam Mark
2019-01-30 11:31         ` Brian Starkey
2019-02-06 15:40           ` [Linaro-mm-sig] " Ørjan Eide
2019-02-07  7:31             ` Christoph Hellwig
2019-02-07 15:45               ` Ørjan Eide
2019-02-28 23:49             ` Liam Mark
2019-01-30 14:31         ` Andrew F. Davis
2019-01-18 18:37 ` [PATCH 3/4] dma-buf: add support for mapping with dma mapping attributes Liam Mark
2019-01-18 20:48   ` Laura Abbott
2019-01-18 21:32     ` Liam Mark
2019-01-18 22:45       ` Laura Abbott
2019-01-19 10:25   ` Christoph Hellwig
2019-01-19 16:50     ` Laura Abbott
2019-01-21  8:30       ` Christoph Hellwig
2019-01-21 19:44         ` Liam Mark
2019-01-21 19:49           ` Andrew F. Davis
2019-01-21 20:20             ` Liam Mark
2019-01-21 20:24               ` Andrew F. Davis
2019-01-21 22:18                 ` Liam Mark
2019-01-22 15:42                   ` Andrew F. Davis
2019-01-22 22:47                     ` Liam Mark
2019-01-21 21:30               ` Christoph Hellwig
2019-01-21 22:14                 ` Liam Mark
2019-01-21 21:29           ` Christoph Hellwig
2019-01-21 22:12             ` Liam Mark
2019-01-22 16:06               ` Andrew F. Davis
2019-01-22 22:50                 ` Liam Mark
2019-01-18 18:37 ` Liam Mark [this message]
2019-01-21 12:19   ` [PATCH 4/4] staging: android: ion: Support " Brian Starkey
2019-01-22 22:37     ` Liam Mark

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=1547836667-13695-5-git-send-email-lmark@codeaurora.org \
    --to=lmark@codeaurora.org \
    --cc=afd@ti.com \
    --cc=arve@android.com \
    --cc=christian@brauner.io \
    --cc=devel@driverdev.osuosl.org \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=joel@joelfernandes.org \
    --cc=john.stultz@linaro.org \
    --cc=labbott@redhat.com \
    --cc=linaro-mm-sig@lists.linaro.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=maco@android.com \
    --cc=sumit.semwal@linaro.org \
    --cc=tkjos@android.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 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).