Received: by 2002:a17:90a:1609:0:0:0:0 with SMTP id n9csp2216148pja; Thu, 26 Mar 2020 11:30:47 -0700 (PDT) X-Google-Smtp-Source: ADFU+vsDkPrwE4P57RrhZkJOdbEl2o4jKBOH9VYFYDR1WwAbQOTQzozh2IBS9MjzMpGyN6/Svgyz X-Received: by 2002:a05:6808:288:: with SMTP id z8mr1123319oic.149.1585247447377; Thu, 26 Mar 2020 11:30:47 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1585247447; cv=none; d=google.com; s=arc-20160816; b=o9CpnCMSCye9uy9MyJJGh1oVibc6q9ziAbQymsROwzysc8qIPDSLoqgRGUC6+U+WqL 7+IBQsx/w2EJwp5wVNurW5dgcwmlE1a77y0ifkkRJVubBsslqO8pzGjpJV7A4jqwfk3c h2xSItquD2oxLzhbR4kqZ6lozYNfwDNWQWMD8n6U4O2WhdkLjmQjB4IkRPxFP2GcRvIR ZJ3z//8LXu+tlxYt2+qhJErhdjTjOSbha4myGxyPlJP+tLKf94d26GSK/nXhoL4DGNpu a3KYVDLbjFsHJaxQlP2DkfBWZ38yGwmyETq/ymyMk5ANMPCtJCs60OiTgpHC/Rk/HdoA hTOw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:date:cc:to:from:subject :message-id:dkim-signature; bh=L9DrCA/EQHd8jdwveo8WB0n14bq7yGLSzZRVaNtKOrs=; b=iVIFs6UNQjH8cOVpSROgAB1eB+TKqgaQfRoh6iYNOJs/dReWqq7vtVNcF9UtsUcvM9 dH4mTPA9gQiDFvDRKutGbk1Vz0x6mPz/ISExjPxnv3ndOLlX6EwhD2kDfYEakAQNsP6X LbIm2kvjRs+Q8iJ9A6vepreB/NTFzWT6MNcSbYVa7Du7ewBGCrWaFTHWlj7HsnthvDhX jvZXGDjnMV9WVz2WGze5ZotPNL4RaGNO3lADFzIIExHKqfQ8b6uazgXc9MM7wxe1yq2t R2DY7KllXBF/yK3/XkBpzjAlDYBWZD8le7gRwBmiTwIwNrOFddzhJj6o+/RpMtwAlryp 1tTg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@ndufresne-ca.20150623.gappssmtp.com header.s=20150623 header.b=iB7rqAN6; 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 Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id v127si1375947oib.25.2020.03.26.11.30.33; Thu, 26 Mar 2020 11:30:47 -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=@ndufresne-ca.20150623.gappssmtp.com header.s=20150623 header.b=iB7rqAN6; 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 Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728326AbgCZSaG (ORCPT + 99 others); Thu, 26 Mar 2020 14:30:06 -0400 Received: from mail-qv1-f65.google.com ([209.85.219.65]:32823 "EHLO mail-qv1-f65.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727446AbgCZSaG (ORCPT ); Thu, 26 Mar 2020 14:30:06 -0400 Received: by mail-qv1-f65.google.com with SMTP id p19so3582556qve.0 for ; Thu, 26 Mar 2020 11:30:05 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ndufresne-ca.20150623.gappssmtp.com; s=20150623; h=message-id:subject:from:to:cc:date:in-reply-to:references :user-agent:mime-version:content-transfer-encoding; bh=L9DrCA/EQHd8jdwveo8WB0n14bq7yGLSzZRVaNtKOrs=; b=iB7rqAN6jeIbSZfKYuy8sMd7TSkM3YjZagIPsTb7Y89qtMEwT3aZ6XjqnYy+hmH/Z+ oyhSxv4YgXavcDrKegi5kkVIaU7Z24Zd8FMe7pKWSl58bgrA3gRNNpWd0TFV/Vorwsex ei2qmtjpLBVAJ2UqNogppLnOkIkrnEaU8HDYG3dscfdBS3upd3h3KfsfeRrvNtVFwj2f IOnim0aOPoBnGNl55M+CK9ShbujuVgjx9wDDZEmsl7D3A/uCrTqh51lYO+8bh+THXJ1R 4i98KCClqxK0YVegzHEvzR4Ukp5FPPMyRvh58TlJanklRmsBB784Kw4Z6lv7wSX3D04k T3Ug== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:message-id:subject:from:to:cc:date:in-reply-to :references:user-agent:mime-version:content-transfer-encoding; bh=L9DrCA/EQHd8jdwveo8WB0n14bq7yGLSzZRVaNtKOrs=; b=lfkfCehrfcnD9/wLTWniR+43d3wQLnI+JiB5fIXU2rQQ9T1++2DbobBdUcvCGBfSz2 yn4ECxHUx3n0l0Tg0NYvQGuzoYHgB0XuW0Bu1Pzzg3wTs0lEmOkzk6KgAn47wr2q2hB4 IuJHTE4aiwu7k92JS9+RFT3vTDqRHxr+iU0b/RucXT1x1n2Ph005/Lda+vuyFS5rkd0A PmZSxBPThVe1UZVZvW6XmoHtsQlghI+jPcfd7zIogzGgEYufuIGw2Jt6hPczMskQk/E2 iwyG49fNIXNmPdBiAuaxgbGh+xeVaKjQ6Jo+x/jmv59aasuzL63i4sSOtxckEHwHXZMi 61ng== X-Gm-Message-State: ANhLgQ0qknCpzqoFd78L4mGrKT9DZq7pF0MMTEzhjSZSG1dhnoKLpWXO jqg06JJou5uPEb16mjKU7KjcQA== X-Received: by 2002:ad4:4bc3:: with SMTP id l3mr9280133qvw.79.1585247404992; Thu, 26 Mar 2020 11:30:04 -0700 (PDT) Received: from nicolas-tpx395.localdomain (marriott-chateau-champlain-montreal.sites.intello.com. [66.171.169.34]) by smtp.gmail.com with ESMTPSA id l7sm1917676qkb.47.2020.03.26.11.30.02 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 26 Mar 2020 11:30:03 -0700 (PDT) Message-ID: <3fb1dcdbbf54051d9a8fee1d1498583c3a79cecd.camel@ndufresne.ca> Subject: Re: [PATCH v2 3/8] hantro: Use v4l2_m2m_buf_done_and_job_finish From: Nicolas Dufresne To: Ezequiel Garcia , Hans Verkuil , linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-kernel@vger.kernel.org Cc: Tomasz Figa , kernel@collabora.com, Jonas Karlman , Heiko Stuebner , Alexandre Courbot , Jeffrey Kardatzke , Rob Herring Date: Thu, 26 Mar 2020 14:30:01 -0400 In-Reply-To: <648c8411353071a7e1ffd3576d268b01177ab678.camel@collabora.com> References: <20200318132108.21873-1-ezequiel@collabora.com> <20200318132108.21873-4-ezequiel@collabora.com> <13b1efe1-8b52-070b-cf11-b230bd405d3e@xs4all.nl> <0a8f6d97e6869ff694aedd67a3176217a885c938.camel@ndufresne.ca> <50d764ec-1c15-99bd-192b-9aa6ae5bf368@xs4all.nl> <648c8411353071a7e1ffd3576d268b01177ab678.camel@collabora.com> Content-Type: text/plain; charset="UTF-8" User-Agent: Evolution 3.34.4 (3.34.4-1.fc31) MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Le mercredi 25 mars 2020 à 17:30 -0300, Ezequiel Garcia a écrit : > 1. On Wed, 2020-03-25 at 16:28 +0100, Hans Verkuil wrote: > > On 3/25/20 3:02 PM, Nicolas Dufresne wrote: > > > Le mercredi 25 mars 2020 à 09:22 +0100, Hans Verkuil a écrit : > > > > On 3/18/20 2:21 PM, Ezequiel Garcia wrote: > > > > > Let the core sort out the nuances of returning buffers > > > > > to userspace, by using the v4l2_m2m_buf_done_and_job_finish > > > > > helper. > > > > > > > > > > This change also removes usage of buffer sequence fields, > > > > > which shouldn't have any meaning for stateless decoders. > > > > > > > > Uh, why remove this? For one, doesn't this cause fails in v4l2-compliance? > > > > Also, while I agree that it is not terribly useful, it doesn't hurt, does it? > > > > > > > > And the V4L2 spec makes no exception for stateless codecs with respect to the > > > > sequence field. > > > > > > > > Nacked-by: Hans Verkuil > > > > > > The spec also does not say what it means either. As an example, you > > > have spec for ALTERNATE interlacing mode that changes the meaning of > > > the sequence, but not for alternate H264 fields (which cannot be part > > > of the format, since this changes often). We also don't have spec for > > > the the sequence behaviour while using HOLD features. > > > > I hate it that the spec changes the sequence meaning for FIELD_ALTERNATE, > > I always thought that that made drivers unnecessarily complicated. Unfortunately, > > this is something we inherited. > > > > Currently the spec says for sequence: > > > > "Set by the driver, counting the frames (not fields!) in sequence. This field is set > > for both input and output devices." > > > > The only thing missing here is that it should say that for compressed formats this > > counts the buffers, since one buffer with compressed data may not have a one-to-one > > mapping with frames. That's also why I think it's programatically useless in that case, there is no logic for which input/output can be related unless you know what the framing is. > > > > This description for 'sequence' was never updated when compressed data formats were > > added, so it is a bit out of date. > > > > > I'm worried we are falling into the test driven trap, were people > > > implement features to satisfy a test, while the added complexity don't > > > really make sense. Shouldn't we change our approach and opt-out > > > features for new type of HW, so that we can keep the drivers code > > > saner? > > > > Why wasn't the existing code in this patch sane? Sure, we can change the spec, but > > then 1) all existing drivers need to be updated as well, and 2) v4l2-compliance needs > > to be changed to test specifically for this class of drivers and ensure that for those > > the sequence field is set to 0. Not to mention introducing an exception in the uAPI > > where the sequence field suddenly isn't used anymore. > > > > Frankly, I would prefer that the whole sequence handling is moved to videobuf2-v4l2.c. > > It really doesn't belong in drivers, with the exception of incrementing the sequence > > counter in case of dropped frames. > > > > I think I suggested it when vb2 was being designed, but at the time the preference > > was to keep it in the driver. Long time ago, though. > > > > Do you think we could try to move this to the core? I'm also happy as long as drivers stop having to implement this generic statistic. Note, that only applies to existing m2m, we still need that counter to detect driver side frame drops in CAPTURE only devices (like UVC cameras). > > I might be able find some time to try that. > > > And another reason why I want to keep it: I find it actually useful to see a running > > counter: it helps keeping track of how many buffers you've processed since you started > > streaming. > > > > +1 > > > Finally, the removal of the sequence counter simply does not belong in this patch. > > > > Agreed, no complaints on my side. > > I am actually happy about this feedback. > > Thanks, > Ezequiel > >