From patchwork Fri Sep 1 01:50:34 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Gustavo Padovan X-Patchwork-Id: 9933299 Return-Path: Received: from mail.wl.linuxfoundation.org (pdx-wl-mail.web.codeaurora.org [172.30.200.125]) by pdx-korg-patchwork.web.codeaurora.org (Postfix) with ESMTP id CAF5B602F0 for ; Fri, 1 Sep 2017 01:51:24 +0000 (UTC) Received: from mail.wl.linuxfoundation.org (localhost [127.0.0.1]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id B978F27FAE for ; Fri, 1 Sep 2017 01:51:24 +0000 (UTC) Received: by mail.wl.linuxfoundation.org (Postfix, from userid 486) id 1242627F92; Fri, 1 Sep 2017 01:51:23 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.3.1 (2010-03-16) on pdx-wl-mail.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-6.4 required=2.0 tests=BAYES_00, RCVD_IN_DNSWL_HI, RCVD_IN_SORBS_SPAM autolearn=ham version=3.3.1 Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.wl.linuxfoundation.org (Postfix) with ESMTP id AB7622811E for ; Fri, 1 Sep 2017 01:51:12 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751562AbdIABvL (ORCPT ); Thu, 31 Aug 2017 21:51:11 -0400 Received: from mail-qk0-f196.google.com ([209.85.220.196]:38118 "EHLO mail-qk0-f196.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751537AbdIABvK (ORCPT ); Thu, 31 Aug 2017 21:51:10 -0400 Received: by mail-qk0-f196.google.com with SMTP id o63so971122qkb.5 for ; Thu, 31 Aug 2017 18:51:10 -0700 (PDT) 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:in-reply-to :references; bh=k2V+OzglW0V21TPWMGAwUmB6zxv4TG2RXvr+Cj1+eTQ=; b=nnm+61SsB1a1AFwgPjBkD2QmSf7FvVDk3Kkp/mDBAN02tdKhv59n3LQl2RA4sNHDKP 7RxLvQP/8IA1tcs9VR+ESs7s96DZiWJDeH2cNhdwVbLfu6zNu1+z6xOjLpnSSsMj6W1+ gMp1ATmi14EP0ZNM/SlzbA3ZAuX9ttdnubJFyz4dZ8vp6GGAYyFgzW4dwYjdr+fVJhAy BSpmNWTzgJUm40Gm4zBtxp1NEeLiWyxdnYyLP5uF0XCXkMlEYtiE0dRjlj9XbDzVrPx/ QIzPl8jzaMiHyJ+vCVpj3QgEMQTRwOLVFp52Sw4tmLCWd+ykqKDSOYqcPbKgZFTsiqqY sk/w== X-Gm-Message-State: AHPjjUiCtEDc3+UIzVbxUQElGd1Kbc8CvBXpzvNbg+KLAtuWfzCoB43s DPeVlllajs8RHxQjMmU= X-Google-Smtp-Source: ADKCNb6IUjFSGhz7zhtskw+bCpmrecPdbtzywDZe+aszmVbUgY7u6yfAQJfckaQiX1y9UOtrp41wCA== X-Received: by 10.55.65.71 with SMTP id o68mr532603qka.178.1504230670061; Thu, 31 Aug 2017 18:51:10 -0700 (PDT) Received: from localhost.localdomain ([187.10.21.246]) by smtp.gmail.com with ESMTPSA id o17sm6366232qkl.52.2017.08.31.18.51.07 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Thu, 31 Aug 2017 18:51:09 -0700 (PDT) From: Gustavo Padovan To: linux-media@vger.kernel.org Cc: Hans Verkuil , Mauro Carvalho Chehab , Shuah Khan , Gustavo Padovan Subject: [PATCH v2 07/14] [media] vb2: add .buffer_queued() to notify queueing in the driver Date: Thu, 31 Aug 2017 22:50:34 -0300 Message-Id: <20170901015041.7757-8-gustavo@padovan.org> X-Mailer: git-send-email 2.13.5 In-Reply-To: <20170901015041.7757-1-gustavo@padovan.org> References: <20170901015041.7757-1-gustavo@padovan.org> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org X-Virus-Scanned: ClamAV using ClamSMTP From: Gustavo Padovan With the upcoming explicit synchronization support to V4L2 we need a way to notify userspace when buffers are queued to the driver - buffers with fences attached to it can only be queued once the fence signal, so the queueing to the driver might be deferred. Yet, userspace still wants to be notified, so the buffer_queued() callback was added to vb2_buf_ops for that purpose. Signed-off-by: Gustavo Padovan --- include/media/videobuf2-core.h | 3 +++ 1 file changed, 3 insertions(+) diff --git a/include/media/videobuf2-core.h b/include/media/videobuf2-core.h index cad45e49a46d..46049dec7f61 100644 --- a/include/media/videobuf2-core.h +++ b/include/media/videobuf2-core.h @@ -412,6 +412,8 @@ struct vb2_ops { * will return an error. * @copy_timestamp: copy the timestamp from a userspace structure to * the vb2_buffer struct. + * @buffer_queued: VB2 uses this to notify the VB2-client that the buffer + * was queued to the driver. */ struct vb2_buf_ops { int (*verify_planes_array)(struct vb2_buffer *vb, const void *pb); @@ -419,6 +421,7 @@ struct vb2_buf_ops { int (*fill_vb2_buffer)(struct vb2_buffer *vb, const void *pb, struct vb2_plane *planes); void (*copy_timestamp)(struct vb2_buffer *vb, const void *pb); + void (*buffer_queued)(struct vb2_buffer *vb); }; /**