From patchwork Fri Mar 9 17:49:12 2018 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: "Gustavo F. Padovan" X-Patchwork-Id: 47817 X-Patchwork-Delegate: hverkuil@xs4all.nl Received: from vger.kernel.org ([209.132.180.67]) by www.linuxtv.org with esmtp (Exim 4.84_2) (envelope-from ) id 1euMBt-0007xe-7w; Fri, 09 Mar 2018 17:52:25 +0000 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S932554AbeCIRt6 (ORCPT + 1 other); Fri, 9 Mar 2018 12:49:58 -0500 Received: from mail-qt0-f194.google.com ([209.85.216.194]:46077 "EHLO mail-qt0-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S932337AbeCIRt4 (ORCPT ); Fri, 9 Mar 2018 12:49:56 -0500 Received: by mail-qt0-f194.google.com with SMTP id v90so11607709qte.12; Fri, 09 Mar 2018 09:49:55 -0800 (PST) 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=qtCvXuW2Udq/0uje593JB7Fio09eB4b9Eg4n4JtmVQU=; b=KpVFs9oDKiDGWmH+CPxFTH/ZihsD55VpNQnETvnvXaOdMyBVcW+yxiuYzr64fj0vUo +IYRA38RLyAurRvaFy5ahoR88kaMM8qgG/rxfOJroWGS13mGauDeJgoejOqOQbrqjCJo vEkCaDnQy/gLYmoaJmFQ5/vqi/mJUcUEeMrAaNaxxtjY/4dPUaVMLBloLestJ+ojonhX cdYQsbS10jfykeE+zT2Rz0Nj+7sIDeUu44M6WRo/hYRsgaZ8/HUhltmn+tY/6TLVzjW2 xCgBu+31UBTo102RuetIrieqnLg/qz/5cUvz+NE5uzisFQavufJUWHNrE3RiVL/sshFm yEVA== X-Gm-Message-State: AElRT7H0XKf2cavsVt4Hla4KYdmerZFuMjQJsmm+3N26F4jHY6K9fywH oqIvTVmawQI7IDRxB1asANKQMDOz X-Google-Smtp-Source: AG47ELvS8YjgeFjipK8ghyl2j2zwbmngvomgzYyqlpICJB5XGIX8lPczDJAZh2xPZG67P3xKagexPg== X-Received: by 10.200.40.129 with SMTP id i1mr45126398qti.176.1520617794793; Fri, 09 Mar 2018 09:49:54 -0800 (PST) Received: from localhost.localdomain ([2804:14c:138:2ada:4961:b672:c997:efad]) by smtp.gmail.com with ESMTPSA id g4sm873976qke.91.2018.03.09.09.49.51 (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Fri, 09 Mar 2018 09:49:54 -0800 (PST) From: Gustavo Padovan To: linux-media@vger.kernel.org Cc: kernel@collabora.com, Hans Verkuil , Mauro Carvalho Chehab , Shuah Khan , Pawel Osciak , Alexandre Courbot , Sakari Ailus , Brian Starkey , linux-kernel@vger.kernel.org, Gustavo Padovan Subject: [PATCH v8 05/13] [media] v4l: add 'unordered' flag to format description ioctl Date: Fri, 9 Mar 2018 14:49:12 -0300 Message-Id: <20180309174920.22373-6-gustavo@padovan.org> X-Mailer: git-send-email 2.14.3 In-Reply-To: <20180309174920.22373-1-gustavo@padovan.org> References: <20180309174920.22373-1-gustavo@padovan.org> Sender: linux-media-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-media@vger.kernel.org From: Gustavo Padovan For explicit synchronization it important for userspace to know if the format being used by the driver can deliver the buffers back to userspace in the same order they were queued with QBUF. Ordered streams fits nicely in a pipeline with DRM for example, where ordered buffer are expected. v2 - Improve documentation (Hans) Signed-off-by: Gustavo Padovan --- Documentation/media/uapi/v4l/vidioc-enum-fmt.rst | 7 +++++++ include/uapi/linux/videodev2.h | 1 + 2 files changed, 8 insertions(+) diff --git a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst index 019c513df217..df8e039b9ac2 100644 --- a/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst +++ b/Documentation/media/uapi/v4l/vidioc-enum-fmt.rst @@ -116,6 +116,13 @@ one until ``EINVAL`` is returned. - This format is not native to the device but emulated through software (usually libv4l2), where possible try to use a native format instead for better performance. + * - ``V4L2_FMT_FLAG_UNORDERED`` + - 0x0004 + - This format doesn't guarantee ordered buffer handling. I.e. the order + in which buffers are dequeued with + :ref:`VIDIOC_DQBUF ` may be different + from the order in which they were queued with + :ref:`VIDIOC_QBUF `. Return Value diff --git a/include/uapi/linux/videodev2.h b/include/uapi/linux/videodev2.h index 982718965180..58894cfe9479 100644 --- a/include/uapi/linux/videodev2.h +++ b/include/uapi/linux/videodev2.h @@ -716,6 +716,7 @@ struct v4l2_fmtdesc { #define V4L2_FMT_FLAG_COMPRESSED 0x0001 #define V4L2_FMT_FLAG_EMULATED 0x0002 +#define V4L2_FMT_FLAG_UNORDERED 0x0004 /* Frame Size and frame rate enumeration */ /*