From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 8B97BE7D0A4 for ; Thu, 21 Sep 2023 18:40:02 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender: Content-Transfer-Encoding:Content-Type:List-Subscribe:List-Help:List-Post: List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To: Date:Cc:To:From:Subject:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=52TYguhxt8nZfpU+xSA73AR07bL2BIzQulR/+ubsR30=; b=PFILMBjUYpBulZ jXtYxVKAEp3AoGQC1rHNozVKPwG8ZXNX5n90VbUGvKKQlSjhsn4dJfOa8SkD3ejo/AD2oRG4tAbNx ZYWECjHGaNv84bqHMBaCzrOY3mqtio7xdj7U3+KXA6B+ODMXX+EfKajrPbCun4Wihy9RS5niSmYLQ wIrYX41u63TgYQBYoI1ctJAZaPnC3JARbd1LUCtc6YKKxDNPu9kZA+tGTnTIsgSNM/KiTZqCkIAjU UsGx/Ts994PyTWu6ORxQQzcjXSqoWW9krXYHJ8jeEKDxYvtkBqHKx81QScIg0QsaZmrWNiSbYbSP7 Y1FjPt7eRQoANivPEHgg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1qjOaK-006qBl-0c; Thu, 21 Sep 2023 18:39:32 +0000 Received: from madras.collabora.co.uk ([2a00:1098:0:82:1000:25:2eeb:e5ab]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1qjOaG-006qAL-2q for linux-arm-kernel@lists.infradead.org; Thu, 21 Sep 2023 18:39:31 +0000 Received: from nicolas-tpx395.localdomain (unknown [IPv6:2606:6d00:15:bae9::7a9]) (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: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id E39766607298; Thu, 21 Sep 2023 19:39:22 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1695321564; bh=a9w6Nq4Jq+CiIItmdQmNdUTXQeCnQw026LO9PbyOm2A=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=UWr1uXRIecF5pkPQgoLvo9uiTqB5Rf/c/15gZVFjfENO36zN2wBi8dZIvEnb0GP8g F01s+6Hl19OpxLVnlEq+nOj3vKonSJpOmMHCq3p83fcb7oGZa6hDlOMcNXvM1aZf2p DqKWyd6xD55q3sEoxzznAhbnETEgQLmD/f1UbQ6JMuNIJu8GhJBBlPUd/pTLsD42xS 92OrXlN9ixFvMWU/9CNq9bIH2YDciPx1zHDsjyiB0wjy0V3r2ClS4pRczkyJ0C4Oct tMGY5CO78/nH0fyu30dgIfzMv9yPy7kWq2L4Rp5vHt9vM8AhRyhsHBz0CKWVaSteCX 4kgZvBYVZk3Fw== Message-ID: <522e5f3bd4f43a5718ae88133b8d5d187c470f74.camel@collabora.com> Subject: Re: [PATCH v12 1/7] media: v4l2: Add ignore_streaming flag From: Nicolas Dufresne To: Hans Verkuil , Sebastian Fricke , Mauro Carvalho Chehab , Nas Chung , Sascha Hauer , Fabio Estevam , Rob Herring , Shawn Guo , Philipp Zabel , Jackson Lee , Krzysztof Kozlowski , NXP Linux Team , Conor Dooley , Pengutronix Kernel Team Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Robert Beckett , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Tomasz Figa Date: Thu, 21 Sep 2023 14:39:13 -0400 In-Reply-To: References: <20230915-wave5_v12_on_media_master-v12-0-92fc66cd685d@collabora.com> <20230915-wave5_v12_on_media_master-v12-1-92fc66cd685d@collabora.com> <179e88f04257f21b6b723e935231de70415b3301.camel@collabora.com> User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230921_113929_217811_815E07D6 X-CRM114-Status: GOOD ( 67.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org TGUgbWVyY3JlZGkgMjAgc2VwdGVtYnJlIDIwMjMgw6AgMTY6NDkgKzAyMDAsIEhhbnMgVmVya3Vp bCBhIMOpY3JpdMKgOgo+IE9uIDIwLzA5LzIwMjMgMTY6MDgsIE5pY29sYXMgRHVmcmVzbmUgd3Jv dGU6Cj4gPiBjYyBUb21hc3ogRmlnYQo+ID4gCj4gPiBMZSBtZXJjcmVkaSAyMCBzZXB0ZW1icmUg MjAyMyDDoCAxNDo1OSArMDIwMCwgSGFucyBWZXJrdWlsIGEgw6ljcml0wqA6Cj4gPiA+IE9uIDE1 LzA5LzIwMjMgMjM6MTEsIFNlYmFzdGlhbiBGcmlja2Ugd3JvdGU6Cj4gPiA+ID4gQWRkIGEgbmV3 IGZsYWcgdG8gdGhlIGBzdHJ1Y3QgdjRsMl9tMm1fZGV2YCB0byB0b2dnbGUgd2hldGhlciBhIHF1 ZXVlCj4gPiA+ID4gbXVzdCBiZSBzdHJlYW1pbmcgaW4gb3JkZXIgdG8gYWxsb3cgcXVldWluZyBq b2JzIHRvIHRoZSByZWFkeSBxdWV1ZS4KPiA+ID4gPiBDdXJyZW50bHksIGJvdGggcXVldWVzIChD QVBUVVJFICYgT1VUUFVUKSBtdXN0IGJlIHN0cmVhbWluZyBpbiBvcmRlciB0bwo+ID4gPiA+IGFs bG93IGFkZGluZyBuZXcgam9icy4gVGhpcyBiZWhhdmlvciBsaW1pdHMgdGhlIHVzYWJpbGl0eSBv ZiBNMk0gZm9yCj4gPiA+ID4gc29tZSBkcml2ZXJzLCBhcyB0aGVzZSBoYXZlIHRvIGJlIGFibGUs IHRvIHBlcmZvcm0gYW5hbHlzaXMgb2YgdGhlCj4gPiA+IAo+ID4gPiBhYmxlLCB0byAtPiBhYmxl IHRvCj4gPiA+IAo+ID4gPiA+IHNlcXVlbmNlIHRvIGVuc3VyZSwgdGhhdCB1c2Vyc3BhY2UgcHJl cGFyZXMgdGhlIENBUFRVUkUgcXVldWUgY29ycmVjdGx5Lgo+ID4gPiAKPiA+ID4gZW5zdXJlLCB0 aGF0IC0+IGVuc3VyZSB0aGF0Cj4gPiA+IAo+ID4gPiA+IAo+ID4gPiA+IFNpZ25lZC1vZmYtYnk6 IFNlYmFzdGlhbiBGcmlja2UgPHNlYmFzdGlhbi5mcmlja2VAY29sbGFib3JhLmNvbT4KPiA+ID4g PiBTaWduZWQtb2ZmLWJ5OiBOaWNvbGFzIER1ZnJlc25lIDxuaWNvbGFzLmR1ZnJlc25lQGNvbGxh Ym9yYS5jb20+Cj4gPiA+ID4gLS0tCj4gPiA+ID4gIGluY2x1ZGUvbWVkaWEvdjRsMi1tZW0ybWVt LmggfCAxNyArKysrKysrKysrKysrKysrKwo+ID4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTcgaW5z ZXJ0aW9ucygrKQo+ID4gPiA+IAo+ID4gPiA+IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL3Y0 bDItbWVtMm1lbS5oIGIvaW5jbHVkZS9tZWRpYS92NGwyLW1lbTJtZW0uaAo+ID4gPiA+IGluZGV4 IGQ2YzhlYjJiNTIwMS4uOTdhNDhlNjFlMzU4IDEwMDY0NAo+ID4gPiA+IC0tLSBhL2luY2x1ZGUv bWVkaWEvdjRsMi1tZW0ybWVtLmgKPiA+ID4gPiArKysgYi9pbmNsdWRlL21lZGlhL3Y0bDItbWVt Mm1lbS5oCj4gPiA+ID4gQEAgLTU3LDYgKzU3LDE2IEBAIHN0cnVjdCB2NGwyX20ybV9kZXY7Cj4g PiA+ID4gICAqIEByZHlfc3BpbmxvY2s6IHNwaW4gbG9jayB0byBwcm90ZWN0IHRoZSBzdHJ1Y3Qg dXNhZ2UKPiA+ID4gPiAgICogQG51bV9yZHk6CW51bWJlciBvZiBidWZmZXJzIHJlYWR5IHRvIGJl IHByb2Nlc3NlZAo+ID4gPiA+ICAgKiBAYnVmZmVyZWQ6CWlzIHRoZSBxdWV1ZSBidWZmZXJlZD8K PiA+ID4gPiArICogQGlnbm9yZV9zdHJlYW1pbmc6IERpY3RhdGVzIHdoZXRoZXIgdGhlIHF1ZXVl IG11c3QgYmUgc3RyZWFtaW5nIGZvciBhIGpvYiB0bwo+ID4gPiA+ICsgKgkJICAgICAgYmUgcXVl dWVkLgo+ID4gPiA+ICsgKgkJICAgICAgVGhpcyBpcyB1c2VmdWwsIGZvciBleGFtcGxlLCB3aGVu IHRoZSBkcml2ZXIgcmVxdWlyZXMgdG8KPiA+ID4gPiArICoJCSAgICAgIGluaXRpYWxpemUgdGhl IHNlcXVlbmNlIHdpdGggYSBmaXJtd2FyZSwgd2hlcmUgb25seSBhCj4gPiA+ID4gKyAqCQkgICAg ICBxdWV1ZWQgT1VUUFVUIHF1ZXVlIGJ1ZmZlciBhbmQgU1RSRUFNT04gb24gdGhlIE9VVFBVVAo+ ID4gPiA+ICsgKgkJICAgICAgcXVldWUgaXMgcmVxdWlyZWQgdG8gcGVyZm9ybSB0aGUgYW5seXNp cyBvZiB0aGUgYml0c3RyZWFtCj4gPiA+ID4gKyAqCQkgICAgICBoZWFkZXIuCj4gPiA+ID4gKyAq CQkgICAgICBUaGlzIG1lYW5zIHRoZSBkcml2ZXIgaXMgcmVzcG9uc2libGUgZm9yIGltcGxlbWVu dGluZyB0aGUKPiA+ID4gPiArICoJCSAgICAgIGpvYl9yZWFkeSBjYWxsYmFjayBjb3JyZWN0bHkg dG8gbWFrZSBzdXJlIHRoYXQgcmVxdWlyZW1lbnRzCj4gPiA+ID4gKyAqCQkgICAgICBmb3IgYWN0 dWFsIGRlY29kaW5nIGFyZSBtZXQuCj4gPiA+IAo+ID4gPiBUaGlzIGlzIGEgYmFkIGRlc2NyaXB0 aW9uIGFuZCBmaWVsZCBuYW1lLgo+ID4gCj4gPiBJIHdvbmRlciB3aGF0J3MgeW91ciBvcGluaW9u IGFib3V0IHRoZSBidWZmZXJlZCBvbmUgdGhlbiA6LUQKPiAKPiBFdmVuIHdvcnNlIDotKQo+IAo+ IEkgc3RpbGwgZG9uJ3QgcmVhbGx5IHVuZGVyc3RhbmQgd2hhdCB0aGF0IGRvZXMuIFBhdGNoZXMg d2VsY29tZS4KPiAKPiA+IAo+ID4gPiAKPiA+ID4gQmFzaWNhbGx5IHdoYXQgdGhpcyBmaWVsZCBk b2VzIGlzIHRoYXQsIGlmIHRydWUsIHRoZSBzdHJlYW1pbmcgc3RhdGUgb2YgdGhlCj4gPiA+IGNh cHR1cmUgcXVldWUgaXMgaWdub3JlZC4gU28ganVzdCBjYWxsIGl0IHRoYXQ6IGlnbm9yZV9jYXBf c3RyZWFtaW5nLgo+ID4gPiAKPiA+ID4gQW5kIGV4cGxhaW4gdGhhdCwgaWYgdHJ1ZSwgam9iX3Jl YWR5KCkgd2lsbCBiZSBjYWxsZWQgZXZlbiBpZiB0aGUgY2FwdHVyZQo+ID4gPiBxdWV1ZSBpcyBu b3Qgc3RyZWFtaW5nLCBhbmQgdGhhdCB0aGF0IGNhbiBiZSB1c2VkIHRvIGFsbG93IGhhcmR3YXJl IHRvCj4gPiA+IGFuYWx5emUgdGhlIGJpdHN0cmVhbSBoZWFkZXIgdGhhdCBhcnJpdmVzIG9uIHRo ZSBPVVRQVVQgcXVldWUuCj4gPiAKPiA+IEFjay4KPiA+IAo+ID4gPiAKPiA+ID4gQWxzbywgZG9l c24ndCB0aGlzIGZpZWxkIGJlbG9uZyB0byBzdHJ1Y3QgdjRsMl9tMm1fY3R4PyBJdCBtYWtlcyBu byBzZW5zZQo+ID4gPiBmb3IgdGhlIG91dHB1dCBxdWV1ZSwgdGhpcyBpcyByZWFsbHkgYSBjb25m aWd1cmF0aW9uIGZvciB0aGUgbTJtIGNvbnRleHQgYXMKPiA+ID4gYSB3aG9sZS4KPiA+IAo+ID4g VW5sZXNzIHdlIGNvbWUgdXAgd2l0aCBhIGNvbXBsZXRlbHkgbmV3IHR5cGUgb2YgTTJNIHRoYXQg Y2FuIGJlaGF2ZSBsaWtlIGEgZ2FwCj4gPiBmaWxsZXIgKGxpa2UgYSB2aWRlbyByYXRlIG0ybSks IGl0IGluZGVlZCBtYWtlcyBubyBzZW5zZSBmb3Igb3V0cHV0LiBJJ20ganVzdAo+ID4gaWxsdXN0 cmF0aW5nIHRoYXQgdGhpcyBpcyB0cnVlICJub3ciIGJ1dCBzb21lb25lIGNhbiBjb21lIHVwIHdp dGggdmFsaWQKPiA+IGV4cGVjdGF0aW9uLiBTbyBJIGFncmVlIHdpdGggeW91LCB3ZSBjYW4gbW92 ZSBpdCB1cCBpbiB0aGUgaGllcmFyY2h5Lgo+ID4gCj4gPiBSZWNlbnRseSBvdmVyIElSQyBhbmQg b3RoZXIgdGhyZWFkcywgVG9tYXN6IHJhaXNlZCBhIGNvbmNlcm4gdGhhdCBDT0RFQ3Mgd2hlcmUK PiA+IGludHJvZHVjaW5nIHRvbyBtdWNoIGNvbXBsZXhpdHkgaW50byBNMk0uIEFuZCBJIGJlbGll dmUgYnVmZmVyZWQgKHdoaWNoIGlzCj4gPiBiYXJlbHkgZG9jdW1lbnRlZCkgYW5kIHRoaXMgbWVj aGFuaXNtIHdhcyBiZWluZyBwb2ludGVkLgo+ID4gCj4gPiBNeSB0YWtlIG9uIHRoYXQgaXMgdGhh dCBhZGRpbmcgYm9vbGVhbiBjb25maWd1cmF0aW9uIGlzIHdoYXQgaW50cm9kdWNlCj4gPiBjb21w bGV4aXR5LCBhbmQgd2UgY2FuIGZpeCBpdCBieSBkb2luZyBsZXNzIGluIHRoZSBtMm0uIEFmdGVy IHRoaXMgZGlzY3Vzc2lvbiwgSQo+ID4gY2FtZSB3aXRoIHRoZSBpZGVhIHRoYXQgd2Ugc2hvdWxk IHJlbW92ZSBidWZmZXJlZCBhbmQgaWdub3JlX3N0cmVhbWluZy4gRm9yCj4gPiBkcml2ZXJzIHRo YXQgZG9uJ3QgaW1wbGVtZW50IGpvYl9yZWFkeSwgdGhpcyBsb2dpYyB3b3VsZCBiZSBtb3ZlZCBp bnNpZGUgdGhlCj4gPiBkZWZhdWx0IGltcGxlbWVudGF0aW9uLiBXZSBjYW4gdGhlbiBhZGQgYSBo ZWxwZXIgdG8gY2hlY2sgdGhlIGNvbW1vbiBjb25kaXRpb25zLgo+ID4gCj4gPiBUaGUgYWx0ZXJu YXRpdmUgc3VnZ2VzdGVkIGJ5IFRvbWFzeiwgd2FzIHRvIGxheWVyIHR3byBvcHMuIFdlJ2QgaGF2 ZSBhCj4gPiBkZXZpY2VfcmVhZHkoKSBvcHMgYW5kIGl0cyBkZWZhdWx0IGltcGxlbWVudGF0aW9u IHdvdWxkIGluY2x1ZGUgdGhlIGNoZWNrIHdlCj4gPiBoYXZlIGFuZCB3b3VsZCBjYWxsIGpvYl9y ZWFkeSgpLiBQZXJzb25hbGx5LCBJJ2QgcmF0aGVyIHJlbW92ZSB0aGVuIGFkZCwgYnV0IEkKPiA+ IHVuZGVyc3RhZHQgdGhlIHJlYXNvbmluZyBhbmQgd291bGQgYmUgZmluZSBjb21taXR0aW5nIHRv IHRoYXQgaW5zdGVhZC4KPiA+IAo+ID4gSSdkIGxpa2UgeW91ciBmZWVkYmFjayBvbiB0aGlzIHBy b3Bvc2FsLiBJZiB0aGlzIGlzIHNvbWV0aGluZyB3ZSB3YW50LCBJJ2xsIGRvCj4gPiB0aGlzIHBy aW9yIHRvIFYxMywgb3RoZXJ3aXNlIHdlIHdpbGwgYWRkcmVzcyB5b3VyIGNvbW1lbnRzIGFuZCBm aXggdGhlIGFkZGVkCj4gPiBtZWNoYW5pc20uIEkgdGhpbmsgdGhvdWdoIHRoYXQgd2UgYWdyZWUg dGhhdCBmb3IgZGVjb2RlcnMsIHRoaXMgaXMgbmljZSBhZGRpdGlvbgo+ID4gdG8gbm90IGhhdmUg dG8gdHJpZ2dlciB3b3JrIG1hbnVhbGx5IGZyb20gdmIyIG9wcy4KPiAKPiBJdCBjb21lcyBkb3du IHRvIGEgbWF0dGVyIG9mIHRhc3RlLCBJIGd1ZXNzLiBJIHBlcnNvbmFsbHkgdGhpbmsgdGhhdCB1 c2luZyBib29scwo+IHRvIHR3ZWFrIHRoZSBiZWhhdmlvciBvZiBhIGZyYW1ld29yayBkb2VzIG5v dCBuZWNlc3NhcmlseSBpbmNyZWFzZSBjb21wbGV4aXR5LAo+IHByb3ZpZGVkIGl0IGlzIGNsZWFy bHkgZG9jdW1lbnRlZCB3aGF0IGl0IGRvZXMgYW5kIHdoeSBpdCBpcyBuZWVkZWQuCj4gCj4gSSB0 aGluayBhbiBpZ25vcmVfY2FwX3N0cmVhbWluZyBib29sIGlzIHByZXR0eSBzdHJhaWdodGZvcndh cmQgYW5kIGhhcyBtaW5pbWFsCj4gaW1wYWN0IGluIHRoZSBjb2RlLiBBcyBsb25nIGFzIHRoZXJl IGFyZSBnb29kIGNvbW1lbnRzLgoKU28gZm9yIHdhdmU1IHdlIHdpbGwgb3B0IGZvciB0aGlzIGFu ZCBhcHBseSB5b3VyIHN1Z2dlc3RlZCBjaGFuZ2VzLiBBbmQgSSBtYXkKY29tZSBiYWNrIGxhdGVy IG9uIHRoZSBzdWJqZWN0LgoKPiAKPiBUaGUgJ2J1ZmZlcmVkJyBmbGFnIGlzIHdlcmUgdGhpcyBj bGVhcmx5IGZhaWxlZCBjb21wbGV0ZWx5LCBzaW5jZSBJIGNvdWxkbid0IGZpZ3VyZQo+IG91dCB3 aGF0IGl0IGlzIHN1cHBvc2VkIHRvIGRvLiBCdXQgdGhhdCBpcyBub3QgYmVjYXVzZSBpdCBtYWtl cyB0aGUgY29kZSBtb3JlCj4gY29tcGxleCwgaXQgaXMganVzdCBiZWNhdXNlIG9mIHNob2RkeSBk b2N1bWVudGF0aW9uIGFuZCBuYW1pbmcuCj4gCj4gUXVpdGUgb2Z0ZW4gaW1wbGVtZW50aW5nIHR3 ZWFrcyBsaWtlIHRoYXQgYXJlIHF1aXRlIGVhc3kgaW4gYSBmcmFtZXdvcmssIHNpbmNlCj4geW91 IGhhdmUgYWxsIHRoZSBpbmZvcm1hdGlvbiByZWFkaWx5IGF2YWlsYWJsZS4gSW4gYSBkcml2ZXIg aXQgY2FuIHF1aWNrbHkgYmVjb21lCj4gbWVzc3kuCgpJbiB0aGlzIGNhc2UsICJidWZmZXJlZCIg aXMgdXNlZCB0byBkaXNhYmxlIHRoZSBjaGVja3MgZm9yIGhhdmluZyBhdCBsZWFzdCBvbmUKYnVm ZmVyIGluIHRoZSByZWFkeSBxdWV1ZXMuIEluIG1vc3QgY2FzZXMsIGlmIHlvdSBkb24ndCBoYXZl IGF0IGxlYXN0IDEgcGVuZGluZwpjYXB0dXJlIGFuZCAxIHBlbmRpbmcgb3V0cHV0IGJ1ZmZlciwg dGhlcmUgaXMgbm8gcG9pbnQgaW4gY2FsbGluZyBkZXZpY2VfcnVuLgoKSW4gcmVhbGl0eSwgZHJp dmVycyB3aWxsIGFkZCB1c2UgY2FzZSBzcGVjaWZpYyBjaGVja3MgaW4gdGhlaXIgam9iX3JlYWR5 KCkKaW1wbGVtZW50YXRpb24uIEZvciBkZWNvZGVycywgdGhlIGNhc2VzIEkgY2FuIHRoaW5rIG9m IGFyZToKCi0gT24gY2FwdHVyZSBpZiB5b3UgaGF2ZW4ndCBwYXJzZWQgdGhlIHN0cmVhbSBoZWFk ZXIKLSBPbiBjYXB0dXJlIGlmIHRoZSBkcml2ZXIgcmVtb3ZlcyB0aGVtIGZyb20gcmVhZHkgcXVl dWUgYXMgYSB3YXkgdG8gdHJhY2sgd2hpY2gKb25lIGFyZSBjb25zaWRlcmVkIGZyZWUgYW5kIG1h eSBiZSB1c2VkIGF0IGFueSB0aW1lIGJ5IHRoZSBmaXJtd2FyZQotIE9uIG91dHB1dCBxdWV1ZSwg aWYgeW91IG5lZWQgZGV2aWNlX3J1bigpIHRvIGJlIGNhbGxlZCB0byBjb21wbGV0ZSB0aGUgZHJh aW4KdGhlIHJlb3JkZXIgcXVldWUKCllldCwgeW91IHdhbnQgdGhpcyBjaGVjayBhZnRlciBzdHJl YW0gaGVhZGVycyBhcmUgcGFyc2VkLCBvciB3aGVuZXZlciBhIG5ldwpiaXRzdHJlYW0gZGVjb2Rl IG9wZXJhdGlvbiBpcyB0byBiZSBxdWV1ZWQgaW4gdGhlIGZpcm13YXJlLiBTbyB0aGlzIGNoZWNr IGdldHMKcmUtaW1wbGVtZW50ZWQsIGJ1dCBkeW5hbWljYWxseSwgaW4gYWxsIGRlY29kZXJzLgoK RGVpbnRlcmxhY2VycyBtYXkgbmVlZHMgdGhpcyB0b28gd2l0aCBzb21lIGFsZ29yaXRobXMgKHRo ZSBvbmUgdGhhdCBpbnRyb2R1Y2UKZGVsYXlzIGF0IGxlYXN0KS4gSXRzIG5vdCBjbGVhciB0byBt ZSB3aHkgaXQgd2FzIGNhbGxlZCBidWZmZXJlZCwKaWdub3JlX3JkeV9xdWV1ZSBtaWdodCBoYXZl IGJlZW4gYW4gb3B0aW9uLCB0aG91Z2ggSSdtIG5vdCBmdWxseSBjb25maWRlbnQuIE5vdGUKdGhh dCBNMk0gY2FuIGJlIGNvbmZ1c2luZywgc2luY2Ugd2hlbmV2ZXIgeW91IGFzayBmb3IgbGFzdCBz b21ldGhpbmcsIGl0cyBhbHdheXMKcmVsYXRpdmUgdG8gdGhlIHJlYWR5IHF1ZXVlLCBhbmQgbWF5 IG5vdCBtYWtlIGEgbG90IG9mIHNlbnNlIGluIHRoZSBjb250ZXh0IGl0CmlzIHVzZWQuCgo+IAo+ IEZvciBjb2RlYyBzdXBwb3J0IHRoZXJlIGFyZSBhIG51bWJlciBvZiBpc3N1ZXMgdGhhdCBpbmNy ZWFzZSBjb21wbGV4aXR5Ogo+IGltcGxlbWVudGluZyBzdXBwb3J0IGZvciB0aGUgTEFTVCBmbGFn IGFuZCBldmVudHMsIGFuZCBzdXBwb3J0aW5nIGJ1ZmZlcnMKPiB0aGF0IGNhbiBiZSBoZWxkLiBF c3BlY2lhbGx5IHNpbmNlIGRyaXZlciBpbXBsZW1lbnRhdGlvbnMgdGVuZCB0byB2YXJ5Lgo+IAo+ IEkndmUgYmVlbiBleHBlcmltZW50aW5nIHdpdGggc29tZSBjbGVhbnVwcyBhbmQgY2hhbmdlcyBp biB2NGwyLW1lbTJtZW0uYwo+IChodHRwczovL2dpdC5saW51eHR2Lm9yZy9odmVya3VpbC9tZWRp YV90cmVlLmdpdC9sb2cvP2g9ZW5jLWRlYy1jbWQpLCBtYWlubHkKPiBzdXJyb3VuZGluZyB0aGUg aGFuZGxpbmcgb2YgdGhlIExBU1QgZmxhZy4gTm90ZTogdGhpcyBpcyBmYWlsaW5nIHRoZSBjb21w bGlhbmNlCj4gdGVzdHMsIEkgaGF2ZW4ndCBoYWQgdGhlIHRpbWUgdG8gcHVyc3VlIHRoaXMgZnVy dGhlci4KPiAKPiBJJ20gbm90IHN1cmUgd2hldGhlciB0aGUgYmVzdCBhcHByb2FjaCBpcyB0byBt b3ZlIHRoaW5ncyBvdXQgb2YgdGhlIG0ybSBmcmFtZXdvcmssCj4gb3IgbW92ZSB0aGluZ3MgaW50 byB0aGUgbTJtIGZyYW1ld29yaywgb3IgYWRkIGEgbW9yZSBjb2RlYy1zcGVjaWZpYyBsYXllciBv biB0b3AKPiBvZiB0aGUgbTJtIGZyYW1ld29yaywgb3IgYSBjb21iaW5hdGlvbiBvZiBhbGwgb2Yg dGhlc2UuCj4gCj4gSXQgaXMgc29tZXRoaW5nIHRoYXQgbmVlZHMgZXhwZXJpbWVudGF0aW9uLCBq dXN0IHNlZSB3aGF0IHdvcmtzLgoKSSBjYW4gc2VlIHlvdSBoYXZlIG9taXR0ZWQgbWFya19zdG9w cGVkKCkgY2FsbGVzIHdoZW4gcmVmYWN0b3JpbmcsIHdoaWNoIG1ha2VzCnRoZXNlIHBhdGNoZXMg Y2hhbmdlIHRoZSBiZWhhdmlvdXIuIENvdWxkIGJlIHJlbGF0ZWQuCgpUaGlzIGlzIG5vIGxvbmdl ciBzdHJpY3RseSByZWxhdGVkIHRvIHRoaXMgcGF0Y2gsIGJ1dCBJIHRoaW5rIGNtZF9zdG9wKCkK aW1wbGVtZW50YXRpb24gKGV2ZW4gYWZ0ZXIgeW91ciBjaGFuZ2VzKSBhcmUgbWlzcy1maXQgZm9y IGRyaXZlciB0aGF0IHNwZWFrcyB0bwpmaXJtd2FyZS4gQXMgdGhlIGZpcm13YXJlIGlzIGJlaW5n IG1hZGUgYXdhcmUgb2YgdGhlIGZyZWUgYnVmZmVycywgeW91IGNhbid0Cmp1c3QgY2hlcnJ5LXBp Y2sgZnJvbSB0aGUgY2FwdHVyZSBxdWV1ZSwgeW91IGhhdmUgdG8gc3luY2hyb25pc2UgeW91ciBz dGF0ZSB3aXRoCnRoZSBmaXJtd2FyZSB3aGlsZSBkcmFpbmluZy4gVGhlIGhlbHBlciBzaG91bGQg YmUgc3BsaXQgaW4gdHdvIHBhcnRzIEkgc3VwcG9zZSwKYnV0IGN1dHRpbmcgdGhlIGxpbmUgaXNu J3QgZWFzeS4KClRocmVhZCBzYWZlIHVzYWdlIG9mIHRoZSBudW1lcm91cyBib29sZWFuIGltcGxp Y2F0ZWQgaW4gdGhlIGRyYWluaW5nIHN0YXRlIGlzCmFsc28gZGlmZmljdWx0LiBUaGVyZSBpcyBu byBvdGhlciBvcHRpb24gdGhlbiBpbnRyb2R1Y2UgYSBtdXRleCBvciBzcGlubG9jayAoaWYKdGhl IHN0YXRlIGlzIG5lZWRlZCBpbiBqb2JfcmVhZHkoKSBpbXBsZW1lbnRhdGlvbikgdG8gbWFrZSB0 aGlzIHRocmVhZCBzYWZlIGFuZApyZWxpYWJsZS4KCj4gCj4gQnV0IGZvciB0aGlzIHNwZWNpZmlj IGZsYWc6IEkgdGhpbmsgaXQgaXMgZmluZSB0byBwdXQgdGhhdCBpbiB0aGUgbTJtIGZyYW1ld29y aywKPiBqdXN0IGRvY3VtZW50IGFuZCBuYW1lIGl0IHdlbGwuCgpBY2suCgo+IAo+IFJlZ2FyZHMs Cj4gCj4gCUhhbnMKPiAKPiA+IAo+ID4gcmVnYXJkcywKPiA+IE5pY29sYXMKPiA+IAo+ID4gPiAK PiA+ID4gPiAgICoKPiA+ID4gPiAgICogUXVldWUgZm9yIGJ1ZmZlcnMgcmVhZHkgdG8gYmUgcHJv Y2Vzc2VkIGFzIHNvb24gYXMgdGhpcwo+ID4gPiA+ICAgKiBpbnN0YW5jZSByZWNlaXZlcyBhY2Nl c3MgdG8gdGhlIGRldmljZS4KPiA+ID4gPiBAQCAtNjksNiArNzksNyBAQCBzdHJ1Y3QgdjRsMl9t Mm1fcXVldWVfY3R4IHsKPiA+ID4gPiAgCXNwaW5sb2NrX3QJCXJkeV9zcGlubG9jazsKPiA+ID4g PiAgCXU4CQkJbnVtX3JkeTsKPiA+ID4gPiAgCWJvb2wJCQlidWZmZXJlZDsKPiA+ID4gPiArCWJv b2wJCQlpZ25vcmVfc3RyZWFtaW5nOwo+ID4gPiA+ICB9Owo+ID4gPiA+ICAKPiA+ID4gPiAgLyoq Cj4gPiA+ID4gQEAgLTU2NCw2ICs1NzUsMTIgQEAgc3RhdGljIGlubGluZSB2b2lkIHY0bDJfbTJt X3NldF9kc3RfYnVmZmVyZWQoc3RydWN0IHY0bDJfbTJtX2N0eCAqbTJtX2N0eCwKPiA+ID4gPiAg CW0ybV9jdHgtPmNhcF9xX2N0eC5idWZmZXJlZCA9IGJ1ZmZlcmVkOwo+ID4gPiA+ICB9Cj4gPiA+ ID4gIAo+ID4gPiA+ICtzdGF0aWMgaW5saW5lIHZvaWQgdjRsMl9tMm1fc2V0X2RzdF9pZ25vcmVf c3RyZWFtaW5nKHN0cnVjdCB2NGwyX20ybV9jdHggKm0ybV9jdHgsCj4gPiA+ID4gKwkJCQkJCSAg ICAgYm9vbCBpZ25vcmVfc3RyZWFtaW5nKQo+ID4gPiA+ICt7Cj4gPiA+ID4gKwltMm1fY3R4LT5j YXBfcV9jdHguaWdub3JlX3N0cmVhbWluZyA9IGlnbm9yZV9zdHJlYW1pbmc7Cj4gPiA+ID4gK30K PiA+ID4gPiArCj4gPiA+IAo+ID4gPiBJIHRoaW5rIHRoaXMgaXMgb3ZlcmtpbGwsIGVzcC4gd2hl biB0aGUgZmllbGQgaXMgbW92ZWQgdG8gbTJtX2N0eC4gSnVzdCBjbGVhcmx5Cj4gPiA+IGRvY3Vt ZW50IHRoYXQgZHJpdmVycyBjYW4gc2V0IHRoaXMuCj4gPiA+IAo+ID4gPiBSZWdhcmRzLAo+ID4g PiAKPiA+ID4gCUhhbnMKPiA+ID4gCj4gPiA+ID4gIC8qKgo+ID4gPiA+ICAgKiB2NGwyX20ybV9j dHhfcmVsZWFzZSgpIC0gcmVsZWFzZSBtMm0gY29udGV4dAo+ID4gPiA+ICAgKgo+ID4gPiA+IAo+ ID4gPiAKPiA+IAo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlz dHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2xpbnV4LWFybS1rZXJuZWwK From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from lindbergh.monkeyblade.net (lindbergh.monkeyblade.net [23.128.96.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 461E146711 for ; Thu, 21 Sep 2023 18:39:59 +0000 (UTC) Received: from madras.collabora.co.uk (madras.collabora.co.uk [IPv6:2a00:1098:0:82:1000:25:2eeb:e5ab]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 3816BB0590; Thu, 21 Sep 2023 11:39:29 -0700 (PDT) Received: from nicolas-tpx395.localdomain (unknown [IPv6:2606:6d00:15:bae9::7a9]) (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: nicolas) by madras.collabora.co.uk (Postfix) with ESMTPSA id E39766607298; Thu, 21 Sep 2023 19:39:22 +0100 (BST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1695321564; bh=a9w6Nq4Jq+CiIItmdQmNdUTXQeCnQw026LO9PbyOm2A=; h=Subject:From:To:Cc:Date:In-Reply-To:References:From; b=UWr1uXRIecF5pkPQgoLvo9uiTqB5Rf/c/15gZVFjfENO36zN2wBi8dZIvEnb0GP8g F01s+6Hl19OpxLVnlEq+nOj3vKonSJpOmMHCq3p83fcb7oGZa6hDlOMcNXvM1aZf2p DqKWyd6xD55q3sEoxzznAhbnETEgQLmD/f1UbQ6JMuNIJu8GhJBBlPUd/pTLsD42xS 92OrXlN9ixFvMWU/9CNq9bIH2YDciPx1zHDsjyiB0wjy0V3r2ClS4pRczkyJ0C4Oct tMGY5CO78/nH0fyu30dgIfzMv9yPy7kWq2L4Rp5vHt9vM8AhRyhsHBz0CKWVaSteCX 4kgZvBYVZk3Fw== Message-ID: <522e5f3bd4f43a5718ae88133b8d5d187c470f74.camel@collabora.com> Subject: Re: [PATCH v12 1/7] media: v4l2: Add ignore_streaming flag From: Nicolas Dufresne To: Hans Verkuil , Sebastian Fricke , Mauro Carvalho Chehab , Nas Chung , Sascha Hauer , Fabio Estevam , Rob Herring , Shawn Guo , Philipp Zabel , Jackson Lee , Krzysztof Kozlowski , NXP Linux Team , Conor Dooley , Pengutronix Kernel Team Cc: devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, Robert Beckett , linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Tomasz Figa Date: Thu, 21 Sep 2023 14:39:13 -0400 In-Reply-To: References: <20230915-wave5_v12_on_media_master-v12-0-92fc66cd685d@collabora.com> <20230915-wave5_v12_on_media_master-v12-1-92fc66cd685d@collabora.com> <179e88f04257f21b6b723e935231de70415b3301.camel@collabora.com> Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable User-Agent: Evolution 3.48.4 (3.48.4-1.fc38) Precedence: bulk X-Mailing-List: devicetree@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Le mercredi 20 septembre 2023 =C3=A0 16:49 +0200, Hans Verkuil a =C3=A9crit= =C2=A0: > On 20/09/2023 16:08, Nicolas Dufresne wrote: > > cc Tomasz Figa > >=20 > > Le mercredi 20 septembre 2023 =C3=A0 14:59 +0200, Hans Verkuil a =C3=A9= crit=C2=A0: > > > On 15/09/2023 23:11, Sebastian Fricke wrote: > > > > Add a new flag to the `struct v4l2_m2m_dev` to toggle whether a que= ue > > > > must be streaming in order to allow queuing jobs to the ready queue= . > > > > Currently, both queues (CAPTURE & OUTPUT) must be streaming in orde= r to > > > > allow adding new jobs. This behavior limits the usability of M2M fo= r > > > > some drivers, as these have to be able, to perform analysis of the > > >=20 > > > able, to -> able to > > >=20 > > > > sequence to ensure, that userspace prepares the CAPTURE queue corre= ctly. > > >=20 > > > ensure, that -> ensure that > > >=20 > > > >=20 > > > > Signed-off-by: Sebastian Fricke > > > > Signed-off-by: Nicolas Dufresne > > > > --- > > > > include/media/v4l2-mem2mem.h | 17 +++++++++++++++++ > > > > 1 file changed, 17 insertions(+) > > > >=20 > > > > diff --git a/include/media/v4l2-mem2mem.h b/include/media/v4l2-mem2= mem.h > > > > index d6c8eb2b5201..97a48e61e358 100644 > > > > --- a/include/media/v4l2-mem2mem.h > > > > +++ b/include/media/v4l2-mem2mem.h > > > > @@ -57,6 +57,16 @@ struct v4l2_m2m_dev; > > > > * @rdy_spinlock: spin lock to protect the struct usage > > > > * @num_rdy: number of buffers ready to be processed > > > > * @buffered: is the queue buffered? > > > > + * @ignore_streaming: Dictates whether the queue must be streaming= for a job to > > > > + * be queued. > > > > + * This is useful, for example, when the driver requires to > > > > + * initialize the sequence with a firmware, where only a > > > > + * queued OUTPUT queue buffer and STREAMON on the OUTPUT > > > > + * queue is required to perform the anlysis of the bitstrea= m > > > > + * header. > > > > + * This means the driver is responsible for implementing th= e > > > > + * job_ready callback correctly to make sure that requireme= nts > > > > + * for actual decoding are met. > > >=20 > > > This is a bad description and field name. > >=20 > > I wonder what's your opinion about the buffered one then :-D >=20 > Even worse :-) >=20 > I still don't really understand what that does. Patches welcome. >=20 > >=20 > > >=20 > > > Basically what this field does is that, if true, the streaming state = of the > > > capture queue is ignored. So just call it that: ignore_cap_streaming. > > >=20 > > > And explain that, if true, job_ready() will be called even if the cap= ture > > > queue is not streaming, and that that can be used to allow hardware t= o > > > analyze the bitstream header that arrives on the OUTPUT queue. > >=20 > > Ack. > >=20 > > >=20 > > > Also, doesn't this field belong to struct v4l2_m2m_ctx? It makes no s= ense > > > for the output queue, this is really a configuration for the m2m cont= ext as > > > a whole. > >=20 > > Unless we come up with a completely new type of M2M that can behave lik= e a gap > > filler (like a video rate m2m), it indeed makes no sense for output. I'= m just > > illustrating that this is true "now" but someone can come up with valid > > expectation. So I agree with you, we can move it up in the hierarchy. > >=20 > > Recently over IRC and other threads, Tomasz raised a concern that CODEC= s where > > introducing too much complexity into M2M. And I believe buffered (which= is > > barely documented) and this mechanism was being pointed. > >=20 > > My take on that is that adding boolean configuration is what introduce > > complexity, and we can fix it by doing less in the m2m. After this disc= ussion, I > > came with the idea that we should remove buffered and ignore_streaming.= For > > drivers that don't implement job_ready, this logic would be moved insid= e the > > default implementation. We can then add a helper to check the common co= nditions. > >=20 > > The alternative suggested by Tomasz, was to layer two ops. We'd have a > > device_ready() ops and its default implementation would include the che= ck we > > have and would call job_ready(). Personally, I'd rather remove then add= , but I > > understadt the reasoning and would be fine committing to that instead. > >=20 > > I'd like your feedback on this proposal. If this is something we want, = I'll do > > this prior to V13, otherwise we will address your comments and fix the = added > > mechanism. I think though that we agree that for decoders, this is nice= addition > > to not have to trigger work manually from vb2 ops. >=20 > It comes down to a matter of taste, I guess. I personally think that usin= g bools > to tweak the behavior of a framework does not necessarily increase comple= xity, > provided it is clearly documented what it does and why it is needed. >=20 > I think an ignore_cap_streaming bool is pretty straightforward and has mi= nimal > impact in the code. As long as there are good comments. So for wave5 we will opt for this and apply your suggested changes. And I m= ay come back later on the subject. >=20 > The 'buffered' flag is were this clearly failed completely, since I could= n't figure > out what it is supposed to do. But that is not because it makes the code = more > complex, it is just because of shoddy documentation and naming. >=20 > Quite often implementing tweaks like that are quite easy in a framework, = since > you have all the information readily available. In a driver it can quickl= y become > messy. In this case, "buffered" is used to disable the checks for having at least = one buffer in the ready queues. In most cases, if you don't have at least 1 pen= ding capture and 1 pending output buffer, there is no point in calling device_ru= n. In reality, drivers will add use case specific checks in their job_ready() implementation. For decoders, the cases I can think of are: - On capture if you haven't parsed the stream header - On capture if the driver removes them from ready queue as a way to track = which one are considered free and may be used at any time by the firmware - On output queue, if you need device_run() to be called to complete the dr= ain the reorder queue Yet, you want this check after stream headers are parsed, or whenever a new bitstream decode operation is to be queued in the firmware. So this check g= ets re-implemented, but dynamically, in all decoders. Deinterlacers may needs this too with some algorithms (the one that introdu= ce delays at least). Its not clear to me why it was called buffered, ignore_rdy_queue might have been an option, though I'm not fully confident.= Note that M2M can be confusing, since whenever you ask for last something, its a= lways relative to the ready queue, and may not make a lot of sense in the context= it is used. >=20 > For codec support there are a number of issues that increase complexity: > implementing support for the LAST flag and events, and supporting buffers > that can be held. Especially since driver implementations tend to vary. >=20 > I've been experimenting with some cleanups and changes in v4l2-mem2mem.c > (https://git.linuxtv.org/hverkuil/media_tree.git/log/?h=3Denc-dec-cmd), m= ainly > surrounding the handling of the LAST flag. Note: this is failing the comp= liance > tests, I haven't had the time to pursue this further. >=20 > I'm not sure whether the best approach is to move things out of the m2m f= ramework, > or move things into the m2m framework, or add a more codec-specific layer= on top > of the m2m framework, or a combination of all of these. >=20 > It is something that needs experimentation, just see what works. I can see you have omitted mark_stopped() calles when refactoring, which ma= kes these patches change the behaviour. Could be related. This is no longer strictly related to this patch, but I think cmd_stop() implementation (even after your changes) are miss-fit for driver that speak= s to firmware. As the firmware is being made aware of the free buffers, you can'= t just cherry-pick from the capture queue, you have to synchronise your state= with the firmware while draining. The helper should be split in two parts I supp= ose, but cutting the line isn't easy. Thread safe usage of the numerous boolean implicated in the draining state = is also difficult. There is no other option then introduce a mutex or spinlock= (if the state is needed in job_ready() implementation) to make this thread safe= and reliable. >=20 > But for this specific flag: I think it is fine to put that in the m2m fra= mework, > just document and name it well. Ack. >=20 > Regards, >=20 > Hans >=20 > >=20 > > regards, > > Nicolas > >=20 > > >=20 > > > > * > > > > * Queue for buffers ready to be processed as soon as this > > > > * instance receives access to the device. > > > > @@ -69,6 +79,7 @@ struct v4l2_m2m_queue_ctx { > > > > spinlock_t rdy_spinlock; > > > > u8 num_rdy; > > > > bool buffered; > > > > + bool ignore_streaming; > > > > }; > > > > =20 > > > > /** > > > > @@ -564,6 +575,12 @@ static inline void v4l2_m2m_set_dst_buffered(s= truct v4l2_m2m_ctx *m2m_ctx, > > > > m2m_ctx->cap_q_ctx.buffered =3D buffered; > > > > } > > > > =20 > > > > +static inline void v4l2_m2m_set_dst_ignore_streaming(struct v4l2_m= 2m_ctx *m2m_ctx, > > > > + bool ignore_streaming) > > > > +{ > > > > + m2m_ctx->cap_q_ctx.ignore_streaming =3D ignore_streaming; > > > > +} > > > > + > > >=20 > > > I think this is overkill, esp. when the field is moved to m2m_ctx. Ju= st clearly > > > document that drivers can set this. > > >=20 > > > Regards, > > >=20 > > > Hans > > >=20 > > > > /** > > > > * v4l2_m2m_ctx_release() - release m2m context > > > > * > > > >=20 > > >=20 > >=20 >=20