All of lore.kernel.org
 help / color / mirror / Atom feed
From: Sergey Senozhatsky <senozhatsky@chromium.org>
To: Hans Verkuil <hans.verkuil@cisco.com>,
	Tomasz Figa <tfiga@chromium.org>,
	Mauro Carvalho Chehab <mchehab@kernel.org>,
	Kyungmin Park <kyungmin.park@samsung.com>,
	Marek Szyprowski <m.szyprowski@samsung.com>
Cc: Sakari Ailus <sakari.ailus@iki.fi>,
	Laurent Pinchart <laurent.pinchart@ideasonboard.com>,
	Pawel Osciak <posciak@chromium.org>,
	linux-media@vger.kernel.org, linux-kernel@vger.kernel.org,
	Sergey Senozhatsky <senozhatsky@chromium.org>
Subject: [RFC][PATCH 14/15] videobuf2: don't test db_attach in dma-contig prepare and finish
Date: Tue, 17 Dec 2019 12:20:33 +0900	[thread overview]
Message-ID: <20191217032034.54897-15-senozhatsky@chromium.org> (raw)
In-Reply-To: <20191217032034.54897-1-senozhatsky@chromium.org>

We moved cache management decision making to the upper layer and
rely on buffer's need_cache_sync flags and videobuf2 core. If the
upper layer (core) has decided to invoke ->prepare() or ->finish()
then we must sync.

For DMABUF ->need_cache_sync_on_prepare and ->need_cache_sync_on_flush
are always false so videobuf core does not call ->prepare() and
->finish() on such buffers.

Additionally, scratch the DMABUF comment.

Signed-off-by: Sergey Senozhatsky <senozhatsky@chromium.org>
---
 drivers/media/common/videobuf2/videobuf2-dma-contig.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/drivers/media/common/videobuf2/videobuf2-dma-contig.c b/drivers/media/common/videobuf2/videobuf2-dma-contig.c
index a387260fb321..6ea0961149d7 100644
--- a/drivers/media/common/videobuf2/videobuf2-dma-contig.c
+++ b/drivers/media/common/videobuf2/videobuf2-dma-contig.c
@@ -100,8 +100,7 @@ static void vb2_dc_prepare(void *buf_priv)
 	struct vb2_dc_buf *buf = buf_priv;
 	struct sg_table *sgt = buf->dma_sgt;
 
-	/* DMABUF exporter will flush the cache for us */
-	if (!sgt || buf->db_attach)
+	if (!sgt)
 		return;
 
 	dma_sync_sg_for_device(buf->dev, sgt->sgl, sgt->orig_nents,
@@ -113,8 +112,7 @@ static void vb2_dc_finish(void *buf_priv)
 	struct vb2_dc_buf *buf = buf_priv;
 	struct sg_table *sgt = buf->dma_sgt;
 
-	/* DMABUF exporter will flush the cache for us */
-	if (!sgt || buf->db_attach)
+	if (!sgt)
 		return;
 
 	dma_sync_sg_for_cpu(buf->dev, sgt->sgl, sgt->orig_nents, buf->dma_dir);
-- 
2.24.1.735.g03f4e72817-goog


  parent reply	other threads:[~2019-12-17  3:21 UTC|newest]

Thread overview: 56+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-12-17  3:20 [RFC][PATCH 00/15] Implement V4L2_BUF_FLAG_NO_CACHE_* flags Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 01/15] videobuf2: add cache management members Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 02/15] videobuf2: handle V4L2 buffer cache flags Sergey Senozhatsky
2020-01-10 10:24   ` Hans Verkuil
2020-01-22  1:39     ` Sergey Senozhatsky
2020-01-22  2:53       ` Sergey Senozhatsky
2020-01-28  4:35         ` Tomasz Figa
2019-12-17  3:20 ` [RFC][PATCH 03/15] videobuf2: add V4L2_FLAG_MEMORY_NON_CONSISTENT flag Sergey Senozhatsky
2020-01-10  9:36   ` Hans Verkuil
2020-01-10  9:46     ` Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 04/15] videobuf2: add queue memory consistency parameter Sergey Senozhatsky
2020-01-10  9:47   ` Hans Verkuil
2020-01-22  2:05     ` Sergey Senozhatsky
2020-01-23 11:02       ` Hans Verkuil
2020-01-24  2:04         ` Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 05/15] videobuf2: handle V4L2_FLAG_MEMORY_NON_CONSISTENT in REQBUFS Sergey Senozhatsky
2020-01-10  9:55   ` Hans Verkuil
2020-01-22  2:18     ` Sergey Senozhatsky
2020-01-22  3:48       ` Sergey Senozhatsky
2020-01-23 11:08         ` Hans Verkuil
2020-01-28  4:45           ` Tomasz Figa
2020-01-28  8:38             ` Hans Verkuil
2019-12-17  3:20 ` [RFC][PATCH 06/15] videobuf2: handle V4L2_FLAG_MEMORY_NON_CONSISTENT in CREATE_BUFS Sergey Senozhatsky
2020-01-10  9:59   ` Hans Verkuil
2020-01-23  3:41     ` Sergey Senozhatsky
2020-01-23 11:41       ` Hans Verkuil
2020-01-24  1:28         ` Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 07/15] videobuf2: factor out planes prepare/finish functions Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 08/15] videobuf2: do not sync caches when we are allowed not to Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 09/15] videobuf2: check ->synced flag in prepare() and finish() Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 10/15] videobuf2: let user-space know when driver supports cache hints Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 11/15] videobuf2: add begin/end cpu_access callbacks to dma-contig Sergey Senozhatsky
2019-12-17  3:20 ` [RFC][PATCH 12/15] videobuf2: add begin/end cpu_access callbacks to dma-sg Sergey Senozhatsky
2020-01-10 10:13   ` Hans Verkuil
2020-01-22  6:37     ` Sergey Senozhatsky
2020-01-28  4:38     ` Tomasz Figa
2020-01-28  8:36       ` Hans Verkuil
2020-01-30 11:02         ` Tomasz Figa
2020-01-30 12:18           ` Hans Verkuil
2020-02-03 10:04             ` Tomasz Figa
2020-02-04  2:50               ` Sergey Senozhatsky
2020-02-06  8:51                 ` Tomasz Figa
2019-12-17  3:20 ` [RFC][PATCH 13/15] videobuf2: do not sync buffers for DMABUF queues Sergey Senozhatsky
2020-01-10 10:30   ` Hans Verkuil
2020-01-22  5:05     ` Sergey Senozhatsky
2020-01-23 11:35       ` Hans Verkuil
2020-01-24  2:25         ` Sergey Senozhatsky
2020-01-24  7:32           ` Sergey Senozhatsky
2020-01-28  7:22             ` Tomasz Figa
2020-01-28  7:34               ` Sergey Senozhatsky
2020-01-28  7:19         ` Tomasz Figa
2020-01-28  8:47           ` Hans Verkuil
2019-12-17  3:20 ` Sergey Senozhatsky [this message]
2020-01-10 10:32   ` [RFC][PATCH 14/15] videobuf2: don't test db_attach in dma-contig prepare and finish Hans Verkuil
2019-12-17  3:20 ` [RFC][PATCH 15/15] videobuf2: don't test db_attach in dma-sg " Sergey Senozhatsky
2020-01-08  2:27 ` [RFC][PATCH 00/15] Implement V4L2_BUF_FLAG_NO_CACHE_* flags Sergey Senozhatsky

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=20191217032034.54897-15-senozhatsky@chromium.org \
    --to=senozhatsky@chromium.org \
    --cc=hans.verkuil@cisco.com \
    --cc=kyungmin.park@samsung.com \
    --cc=laurent.pinchart@ideasonboard.com \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-media@vger.kernel.org \
    --cc=m.szyprowski@samsung.com \
    --cc=mchehab@kernel.org \
    --cc=posciak@chromium.org \
    --cc=sakari.ailus@iki.fi \
    --cc=tfiga@chromium.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 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.