Message ID | 20231127165454.166373-3-benjamin.gaignard@collabora.com |
---|---|
State | New |
Headers |
Return-Path: <linux-kernel-owner@vger.kernel.org> Delivered-To: ouuuleilei@gmail.com Received: by 2002:a59:ce62:0:b0:403:3b70:6f57 with SMTP id o2csp3285686vqx; Mon, 27 Nov 2023 08:55:21 -0800 (PST) X-Google-Smtp-Source: AGHT+IF8GCxVK1Q0mQZ/bz8oGukFeuYINF3F6aBjHz5A8h5kJTAXovXeen/mIaCeb6ICbGtFyYPf X-Received: by 2002:a05:6a00:2e21:b0:6cb:d24b:878d with SMTP id fc33-20020a056a002e2100b006cbd24b878dmr14689429pfb.2.1701104121274; Mon, 27 Nov 2023 08:55:21 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1701104121; cv=none; d=google.com; s=arc-20160816; b=nPudZ46VpeF/KMsJP+39palGtqNIXaBs/F0ochxQ+MsLw9PIpbY+iCQQhYzNfutn82 Gon6vS3MYFK9MeXPmURiV/WQG44tXEa7tIi/sKox9Iz06mrxC+bwEUpmt0Xiu7YDR64E 6Ffk4XowRig7mVBt61hpeHOJk7bPDIdaqGeitimV9jNgVI5iOOg8BnN4GbXA5HJqDmEJ oX1rtLg61fX03zIjTeru7sxxnmiaCZ/C/5DohZ1qbAZwaOdzfvLARRBlAAeIneLGCaLh PABuPYX4DdYL/KVtPNQZbWNztd1h4K4FIVwpbCDVYQUXMkvvys9btw+7GnJUc9Uozeuz LIMA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=brE4U0MBFQYaN3ax1ap1kube4NNrhh6VTM094gsw0Ow=; fh=LrFbirJS6dVckvARB5mSs0DnIkUwHaiQ0oU4cagcglM=; b=LWgwdUdaQpV7dqXikKJ+zhuFnMyNJ6Z1pffGI7cPKZeYfCydEg5drl5/N5AOnbc1DB NW6W+KjelXE9x4UmfO+JpFTV2HgTgdXrZTDV5Mx2p/+xAo/pj3peVvlBjOhTDjrkWnVs kf1ADT0uvCmZOUWS5AEcIwB67WRINMLPbAji3lDsJ8Y/cly9gJBTDok8gBbpCAqZLzN7 wcuCh7k4bL3ms54kYV+an5SAg8tFyZ+Z+UWVUGsHpuAwVIHQsYgbjMcnXPteTjGUu3lD BsR7pxRQpjOPg8TwjGV8U4szt/1oP7RsCYwGXdguxznQ/frXlCaPDGUl+xzbN9P83AZi 3a3Q== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=DJ8DWfOA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id bz42-20020a056a02062a00b00584aa817597si11111527pgb.101.2023.11.27.08.55.20 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 27 Nov 2023 08:55:21 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@collabora.com header.s=mail header.b=DJ8DWfOA; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=collabora.com Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id EED8A809FC98; Mon, 27 Nov 2023 08:55:19 -0800 (PST) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.11 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S234224AbjK0QzH (ORCPT <rfc822;toshivichauhan@gmail.com> + 99 others); Mon, 27 Nov 2023 11:55:07 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48384 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231576AbjK0QzB (ORCPT <rfc822;linux-kernel@vger.kernel.org>); Mon, 27 Nov 2023 11:55:01 -0500 Received: from madras.collabora.co.uk (madras.collabora.co.uk [46.235.227.172]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 0CEDA1A7; Mon, 27 Nov 2023 08:55:08 -0800 (PST) Received: from benjamin-XPS-13-9310.. (ec2-34-240-57-77.eu-west-1.compute.amazonaws.com [34.240.57.77]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: benjamin.gaignard) by madras.collabora.co.uk (Postfix) with ESMTPSA id 380146602F1C; Mon, 27 Nov 2023 16:55:06 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1701104106; bh=hMnzJg8JCOvJEFop4t5B+/fXIKwF/ZeHN2PahVubUo0=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=DJ8DWfOAk5ZVh/lWQNcvxt16s7JqWogG64T70sEsSIqXisXkPcvlUZAkjQ5VUJd4i g/Z5xBXkwIfF4RaswUK/Ms7ils5VoQA85dZ1nLrgLKDgnTRv8sWq7jlurIviWw4CAC x5O34NILjMdCFnuLMBU+AGZrEpyxoL6YB2j/6rQVfMNk9K4ai+6I75mvpYaTLzbh1m DnmQ2liuBcE6Uribks/5sdCzb+pB9bsL/WGU7nkR1RbKo+zex11ZFDAQtPI8W4NTxP ze2B8xXv7It9VlEdl0EvAr5+cSku9MDSL1tg1fU3jjIJIF+GxGs8tAxVDv0paCFzQe vAgIUsNUjvs3Q== From: Benjamin Gaignard <benjamin.gaignard@collabora.com> To: hverkuil@xs4all.nl, mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com, matt.ranostay@konsulko.com Cc: linux-kernel@vger.kernel.org, linux-media@vger.kernel.org, linux-staging@lists.linux.dev, kernel@collabora.com, Benjamin Gaignard <benjamin.gaignard@collabora.com>, Shuah Khan <skhan@linuxfoundation.org>, Kieran Bingham <kieran.bingham@ideasonboard.com> Subject: [PATCH 02/55] media: test-drivers: Stop abusing of min_buffers_needed field Date: Mon, 27 Nov 2023 17:54:01 +0100 Message-Id: <20231127165454.166373-3-benjamin.gaignard@collabora.com> X-Mailer: git-send-email 2.39.2 In-Reply-To: <20231127165454.166373-1-benjamin.gaignard@collabora.com> References: <20231127165454.166373-1-benjamin.gaignard@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_BLOCKED, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: <linux-kernel.vger.kernel.org> X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Mon, 27 Nov 2023 08:55:20 -0800 (PST) X-getmail-retrieved-from-mailbox: INBOX X-GMAIL-THRID: 1783736954721061187 X-GMAIL-MSGID: 1783736954721061187 |
Series |
Clean up queue_setup()/min_buffers_needed (ab)use
|
|
Commit Message
Benjamin Gaignard
Nov. 27, 2023, 4:54 p.m. UTC
'min_buffers_needed' is suppose to be used to indicate the number
of buffers needed by DMA engine to start streaming.
Obvious test-drivers don't use DMA engine and just want to specify
the minimum number of buffers to allocate when calling VIDIOC_REQBUFS.
That 'min_reqbufs_allocation' field purpose so use it.
While at it rename function parameter.
Signed-off-by: Benjamin Gaignard <benjamin.gaignard@collabora.com>
CC: Shuah Khan <skhan@linuxfoundation.org>
CC: Kieran Bingham <kieran.bingham@ideasonboard.com>
---
drivers/media/test-drivers/vimc/vimc-capture.c | 2 +-
drivers/media/test-drivers/vivid/vivid-core.c | 4 ++--
2 files changed, 3 insertions(+), 3 deletions(-)
Comments
On 11/27/23 09:54, Benjamin Gaignard wrote: > 'min_buffers_needed' is suppose to be used to indicate the number > of buffers needed by DMA engine to start streaming. > Obvious test-drivers don't use DMA engine and just want to specify > the minimum number of buffers to allocate when calling VIDIOC_REQBUFS. > That 'min_reqbufs_allocation' field purpose so use it. > While at it rename function parameter. > So how ate the test-drivers currently abusing this field and how does this change benefit? I don't have objections to this change, I want to understand it a bit more. I would like to see more details on why this change is needed. thanks, -- Shuah
Le 27/11/2023 à 18:00, Shuah Khan a écrit : > On 11/27/23 09:54, Benjamin Gaignard wrote: >> 'min_buffers_needed' is suppose to be used to indicate the number >> of buffers needed by DMA engine to start streaming. >> Obvious test-drivers don't use DMA engine and just want to specify >> the minimum number of buffers to allocate when calling VIDIOC_REQBUFS. >> That 'min_reqbufs_allocation' field purpose so use it. >> While at it rename function parameter. >> > > So how ate the test-drivers currently abusing this field > and how does this change benefit? In videobuf2-core.h min_buffers_needed is documemented as: "the minimum number of buffers needed before @start_streaming can be called. Used when a DMA engine cannot be started unless at least this number of buffers have been queued into the driver." Test-drivers don't use DMA engine so they (ab)use of this variable, like Hans said in this RFC: https://www.spinics.net/lists/linux-media/msg244455.html The goal of this series is to distinguish the minimum number of buffers to be allocated in VIDIOC_REQBUF versus the minimum numbers of buffers needed before start streaming. Regards, Benjamin > > I don't have objections to this change, I want to understand > it a bit more. I would like to see more details on why this > change is needed. > > thanks, > -- Shuah
diff --git a/drivers/media/test-drivers/vimc/vimc-capture.c b/drivers/media/test-drivers/vimc/vimc-capture.c index aa944270e716..97693561f1e4 100644 --- a/drivers/media/test-drivers/vimc/vimc-capture.c +++ b/drivers/media/test-drivers/vimc/vimc-capture.c @@ -432,7 +432,7 @@ static struct vimc_ent_device *vimc_capture_add(struct vimc_device *vimc, q->mem_ops = vimc_allocator == VIMC_ALLOCATOR_DMA_CONTIG ? &vb2_dma_contig_memops : &vb2_vmalloc_memops; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; - q->min_buffers_needed = 2; + q->min_reqbufs_allocation = 2; q->lock = &vcapture->lock; q->dev = v4l2_dev->dev; diff --git a/drivers/media/test-drivers/vivid/vivid-core.c b/drivers/media/test-drivers/vivid/vivid-core.c index 353f035fcd19..b4e888ac6016 100644 --- a/drivers/media/test-drivers/vivid/vivid-core.c +++ b/drivers/media/test-drivers/vivid/vivid-core.c @@ -861,7 +861,7 @@ static const struct media_device_ops vivid_media_ops = { static int vivid_create_queue(struct vivid_dev *dev, struct vb2_queue *q, u32 buf_type, - unsigned int min_buffers_needed, + unsigned int min_reqbufs_allocation, const struct vb2_ops *ops) { if (buf_type == V4L2_BUF_TYPE_VIDEO_CAPTURE && dev->multiplanar) @@ -898,7 +898,7 @@ static int vivid_create_queue(struct vivid_dev *dev, q->mem_ops = allocators[dev->inst] == 1 ? &vb2_dma_contig_memops : &vb2_vmalloc_memops; q->timestamp_flags = V4L2_BUF_FLAG_TIMESTAMP_MONOTONIC; - q->min_buffers_needed = supports_requests[dev->inst] ? 0 : min_buffers_needed; + q->min_reqbufs_allocation = supports_requests[dev->inst] ? 0 : min_reqbufs_allocation; q->lock = &dev->mutex; q->dev = dev->v4l2_dev.dev; q->supports_requests = supports_requests[dev->inst];