From patchwork Tue Aug 29 11:26:03 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Stanimir Varbanov X-Patchwork-Id: 111209 Delivered-To: patch@linaro.org Received: by 10.37.128.210 with SMTP id c18csp6194825ybm; Tue, 29 Aug 2017 04:26:27 -0700 (PDT) X-Received: by 10.84.230.229 with SMTP id e92mr739895plk.332.1504005987145; Tue, 29 Aug 2017 04:26:27 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1504005987; cv=none; d=google.com; s=arc-20160816; b=bsNWKKyGhnKuUSggFgeU+Wcu14/lROyr36swqYAX5z/NC+6gMZryi6yqVC/QILwqRl sFle1H4e48Hfxk+wyRt0jZ9tXrsaPRgdjbHgoLlAMbgfqOOxhiS6oF6uU9XHKQdponyN OSiOYFuxO840uI2lgdoaPdhqIVs7eBQUSe83R4OROjZf6YB+f8HAOYBIlF9rX1AFlHhf y6U29yc8H4EOa3rhBdZ6+2NNDHe+ENUEB7bLPiNJpUwLujmU1+DQhjEibQf8HjhECS/8 AhMSN3bggD516SwSmBgL4hbjUfVjQhI6KiMV+JkVnvOfz3Eh0k4avXKV5WqZtfBrsTUN uXUA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:message-id:date:subject:cc:to:from :dkim-signature:arc-authentication-results; bh=YeIBXx8jd/bq7PZcrGv26ygDX7zXGpqUTXj2BcdbV8E=; b=x2q+/hhU5kj2qzjmkx3QkGq4QRc27km70EVA5YwzR74NP5xYCiRCsWuA7K1goq7v+Z YjzJmV2V6RkvQ/hOE33y3VXAcoX1RUr5b76+i8EW9qtATfBR5A3LAql9kyEt9T2S/hj7 0ZiRvGsvfn0i0oByYH6wjeVps6A401+FnhNQIjR203wcnfaD2DE4z+PnkiolOoIoZr+E 2jNh01VvDY8KqhucXLyCS0O0D89Iuai5spxdNyQfMnguSUD1SwdfiE7ZB2viO2h9d9z/ tQYEWvmbBrZ4URwAaiYpAW44A4w0OqDcTk8T2yyLVrYb9mKu4abEWWeCQWWeOjxPGrn0 8XQQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RwrPVnYn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id t65si2191935pgc.117.2017.08.29.04.26.26; Tue, 29 Aug 2017 04:26:27 -0700 (PDT) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=RwrPVnYn; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753344AbdH2L0W (ORCPT + 26 others); Tue, 29 Aug 2017 07:26:22 -0400 Received: from mail-wm0-f50.google.com ([74.125.82.50]:32769 "EHLO mail-wm0-f50.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753084AbdH2L0T (ORCPT ); Tue, 29 Aug 2017 07:26:19 -0400 Received: by mail-wm0-f50.google.com with SMTP id b14so19431375wme.0 for ; Tue, 29 Aug 2017 04:26:18 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id; bh=YeIBXx8jd/bq7PZcrGv26ygDX7zXGpqUTXj2BcdbV8E=; b=RwrPVnYnevK72lleFBsXlX1jmx4VV2yj+L0Ipcyw1/0pIA+jQqf/o4GeRLanVr7PMF 0X9bNUyhN4sWSsaBl8m4YwLukPFM5tRGqfWrdskBn+3eFYtLXrJlifXphpbgKuq/alrU Om1xNtO1W/4VYerO2iYReN5OCIPJXPPZMbpRk= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id; bh=YeIBXx8jd/bq7PZcrGv26ygDX7zXGpqUTXj2BcdbV8E=; b=EhDIzav3WU/9zNjG9dDOQ1dhHnF1GhWIWed7XdGrr7AUlXqCR/qOhiTJ19F89aay/B Rpb68j1j4/GzLgcs2OOrGCIflSjDAlgXZ9/FU1KaFGAtsHLAak/E7ogi3lDsC/q8DE+N pZROjes93pWqB2jloyM2fqO2cbwmkIdrKHroqrTTWh/sMVrYlhm5bA3wyNQa+r5C+3+q ckfU/Tc6VjTypF80B1RdAfWrHm75mgkHTlgc/r/ed/mGdokwc4V0+t+4OwRW+uUhM5LC zLhx4QVcsB4vkZXbyikdyBcoWs3DyYEPP97wPwmwuJ455Dr0Jg869/a1HeO5YJB9mxzE Qt9Q== X-Gm-Message-State: AHYfb5iGXBui6D7fcpEOkYLrcJ4DE7X0rnHDgPqCodDLa6wWmOkhb5or HIX33vOOrTXjaIh3 X-Received: by 10.28.28.75 with SMTP id c72mr1254590wmc.176.1504005977725; Tue, 29 Aug 2017 04:26:17 -0700 (PDT) Received: from localhost.localdomain ([37.157.136.206]) by smtp.gmail.com with ESMTPSA id n13sm2252007wmg.2.2017.08.29.04.26.16 (version=TLS1_2 cipher=ECDHE-RSA-AES128-GCM-SHA256 bits=128/128); Tue, 29 Aug 2017 04:26:17 -0700 (PDT) From: Stanimir Varbanov To: Mauro Carvalho Chehab Cc: Pawel Osciak , Marek Szyprowski , Kyungmin Park , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, Stanimir Varbanov Subject: [PATCH] media: vb2: unify calling of set_page_dirty_lock Date: Tue, 29 Aug 2017 14:26:03 +0300 Message-Id: <20170829112603.32732-1-stanimir.varbanov@linaro.org> X-Mailer: git-send-email 2.11.0 Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Currently videobuf2-dma-sg checks for dma direction for every single page and videobuf2-dc lacks any dma direction checks and calls set_page_dirty_lock unconditionally. Thus unify and align the invocations of set_page_dirty_lock for videobuf2-dc, videobuf2-sg memory allocators with videobuf2-vmalloc, i.e. the pattern used in vmalloc has been copied to dc and dma-sg. Suggested-by: Marek Szyprowski Signed-off-by: Stanimir Varbanov --- drivers/media/v4l2-core/videobuf2-dma-contig.c | 6 ++++-- drivers/media/v4l2-core/videobuf2-dma-sg.c | 7 +++---- 2 files changed, 7 insertions(+), 6 deletions(-) -- 2.11.0 Acked-by: Marek Szyprowski Acked-by: Sakari Ailus diff --git a/drivers/media/v4l2-core/videobuf2-dma-contig.c b/drivers/media/v4l2-core/videobuf2-dma-contig.c index 9f389f36566d..696e24f9128d 100644 --- a/drivers/media/v4l2-core/videobuf2-dma-contig.c +++ b/drivers/media/v4l2-core/videobuf2-dma-contig.c @@ -434,8 +434,10 @@ static void vb2_dc_put_userptr(void *buf_priv) pages = frame_vector_pages(buf->vec); /* sgt should exist only if vector contains pages... */ BUG_ON(IS_ERR(pages)); - for (i = 0; i < frame_vector_count(buf->vec); i++) - set_page_dirty_lock(pages[i]); + if (buf->dma_dir == DMA_FROM_DEVICE || + buf->dma_dir == DMA_BIDIRECTIONAL) + for (i = 0; i < frame_vector_count(buf->vec); i++) + set_page_dirty_lock(pages[i]); sg_free_table(sgt); kfree(sgt); } diff --git a/drivers/media/v4l2-core/videobuf2-dma-sg.c b/drivers/media/v4l2-core/videobuf2-dma-sg.c index 6808231a6bdc..753ed3138dcc 100644 --- a/drivers/media/v4l2-core/videobuf2-dma-sg.c +++ b/drivers/media/v4l2-core/videobuf2-dma-sg.c @@ -292,11 +292,10 @@ static void vb2_dma_sg_put_userptr(void *buf_priv) if (buf->vaddr) vm_unmap_ram(buf->vaddr, buf->num_pages); sg_free_table(buf->dma_sgt); - while (--i >= 0) { - if (buf->dma_dir == DMA_FROM_DEVICE || - buf->dma_dir == DMA_BIDIRECTIONAL) + if (buf->dma_dir == DMA_FROM_DEVICE || + buf->dma_dir == DMA_BIDIRECTIONAL) + while (--i >= 0) set_page_dirty_lock(buf->pages[i]); - } vb2_destroy_framevec(buf->vec); kfree(buf); }