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 9DF45C4332F for ; Thu, 9 Nov 2023 13:58:32 +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-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:Cc:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=t/JPtjdZmEhA7Yzbs+nrhv+HhWtUSVIVUT6sxXWqHJM=; b=JEgDWgP1wC+/MG r5cg/FSQ/iVVWmqFKlPxPW8kud3zRbfDPmG+32zaWgBxUu+GMAR66jw+j/N+/joDpoXEZGeMxEEG4 WwBFRVOb89CcBsK0njmIjPkDkQn1CovMkzQBivbKaD1+4I8BUg0tugiapYIlaVdV/LsI4Sg9qWEa9 kGo+8CHVypJAGRBhswIMhOK0SkKUoTtTzwf0xmOqV10aR1rmet5W3CGG5ILYfBc8WZHeHGyE/Xbw2 GqjTIqZME9Q4wc27Phb8zV2/k4duwrJpJdnFVg7YWEwWTKMY9wCI/bgoIdRaj2TCgxLivFxVDsAHl aGhjdGEoGWajv1ZWBhmg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1r15Y7-006RH0-1o; Thu, 09 Nov 2023 13:58:23 +0000 Received: from madras.collabora.co.uk ([46.235.227.172]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1r15Y2-006RFK-2n; Thu, 09 Nov 2023 13:58:20 +0000 Received: from [100.116.125.19] (cola.collaboradmins.com [195.201.22.229]) (using TLSv1.3 with cipher TLS_AES_128_GCM_SHA256 (128/128 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) (Authenticated sender: andrzej.p) by madras.collabora.co.uk (Postfix) with ESMTPSA id 755FD660748C; Thu, 9 Nov 2023 13:58:13 +0000 (GMT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=collabora.com; s=mail; t=1699538294; bh=n0j9/3eVxo6UWnJWYRxWHe7dch/2QnB4i+8hCYwAnrA=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=COcV65NUQ7dBtKZFNoCmAm1OzQhRM1rRk8M2qNSfCYUMdGJbtJhq6RG1hfdtRM8jB OmS8x0uAygFFJl88aJcUxNz3xcmh2/VvtLa48wuV83En681OFkQa0kXspE1/WEHa1G OMeZ0lvs11I1fUT4zIw8x1e6ReIzKNz73y/HirxwAkg6VcskjoVydm45hKZNWAc61P 9u2sskPDJbjv7A/tArpl/9Dr9DC9H5Y2s3BSX65RxLr2I0RHpKBcRsfQ/lUNrcEajy ZmOnEwXaY3NzIgoEEjoLkNpIGOgIVFLwGs1GTv+bLaJtlb0g3+EUGKH80Q9kaBz/Rs jpXlYYF9R4eTQ== Message-ID: <588bdbac-cab5-4e5e-8f21-44d80d7df066@collabora.com> Date: Thu, 9 Nov 2023 14:58:10 +0100 MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH v14 47/56] media: verisilicon: Refactor postprocessor to store more buffers Content-Language: en-US To: Benjamin Gaignard , mchehab@kernel.org, tfiga@chromium.org, m.szyprowski@samsung.com, ming.qian@nxp.com, ezequiel@vanguardiasur.com.ar, p.zabel@pengutronix.de, gregkh@linuxfoundation.org, hverkuil-cisco@xs4all.nl, nicolas.dufresne@collabora.com Cc: linux-media@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-arm-msm@vger.kernel.org, linux-rockchip@lists.infradead.org, linux-staging@lists.linux.dev, kernel@collabora.com References: <20231031163104.112469-1-benjamin.gaignard@collabora.com> <20231031163104.112469-48-benjamin.gaignard@collabora.com> From: Andrzej Pietrasiewicz In-Reply-To: <20231031163104.112469-48-benjamin.gaignard@collabora.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20231109_055819_184980_CCB48D39 X-CRM114-Status: GOOD ( 27.86 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org VyBkbml1IDMxLjEwLjIwMjMgb8KgMTc6MzAsIEJlbmphbWluIEdhaWduYXJkIHBpc3plOgo+IFNp bmNlIHZiMiBxdWV1ZSBjYW4gc3RvcmUgbW9yZSB0aGFuIFZCMl9NQVhfRlJBTUUgYnVmZmVycywg dGhlCj4gcG9zdHByb2Nlc3NvciBidWZmZXIgc3RvcmFnZSBtdXN0IGJlIGNhcGFibGUgdG8gc3Rv cmUgbW9yZSBidWZmZXJzIHRvby4KPiBDaGFuZ2Ugc3RhdGljIGRlY19xIGFycmF5IHRvIGFsbG9j YXRlZCBhcnJheSB0byBiZSBjYXBhYmxlIHRvIHN0b3JlCj4gdXAgdG8gcXVldWUgJ21heF9udW1f YnVmZmVycycuCj4gS2VlcCBhbGxvY2F0aW5nIHF1ZXVlICdudW1fYnVmZmVycycgYXQgcXVldWUg c2V0dXAgdGltZSBidXQgYWxzbyBhbGxvd3MKPiB0byBhbGxvY2F0ZSBwb3N0cHJvY2Vzc29ycyBi dWZmZXJzIG9uIHRoZSBmbHkuCj4gCj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQg PGJlbmphbWluLmdhaWduYXJkQGNvbGxhYm9yYS5jb20+CgpSZXZpZXdlZC1ieTogQW5kcnplaiBQ aWV0cmFzaWV3aWN6IDxhbmRyemVqLnBAY29sbGFib3JhLmNvbT4KCj4gQ0M6IEV6ZXF1aWVsIEdh cmNpYSA8ZXplcXVpZWxAdmFuZ3VhcmRpYXN1ci5jb20uYXI+Cj4gQ0M6IFBoaWxpcHAgWmFiZWwg PHAuemFiZWxAcGVuZ3V0cm9uaXguZGU+Cj4gLS0tCj4gICBkcml2ZXJzL21lZGlhL3BsYXRmb3Jt L3ZlcmlzaWxpY29uL2hhbnRyby5oICAgfCAgNyArLQo+ICAgLi4uL21lZGlhL3BsYXRmb3JtL3Zl cmlzaWxpY29uL2hhbnRyb19kcnYuYyAgIHwgIDQgKy0KPiAgIC4uLi9tZWRpYS9wbGF0Zm9ybS92 ZXJpc2lsaWNvbi9oYW50cm9faHcuaCAgICB8ICA0ICstCj4gICAuLi4vcGxhdGZvcm0vdmVyaXNp bGljb24vaGFudHJvX3Bvc3Rwcm9jLmMgICAgfCA5MyArKysrKysrKysrKysrKystLS0tCj4gICAu Li4vbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX3Y0bDIuYyAgfCAgMiArLQo+ICAg NSBmaWxlcyBjaGFuZ2VkLCA4NSBpbnNlcnRpb25zKCspLCAyNSBkZWxldGlvbnMoLSkKPiAKPiBk aWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm8uaCBi L2RyaXZlcnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvLmgKPiBpbmRleCA3N2Fl ZTk0ODk1MTYuLjA5NDhiMDRhOWY4ZCAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRm b3JtL3ZlcmlzaWxpY29uL2hhbnRyby5oCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92 ZXJpc2lsaWNvbi9oYW50cm8uaAo+IEBAIC00NjksMTEgKzQ2OSwxNCBAQCBoYW50cm9fZ2V0X2Rz dF9idWYoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiAgIGJvb2wgaGFudHJvX25lZWRzX3Bvc3Rw cm9jKGNvbnN0IHN0cnVjdCBoYW50cm9fY3R4ICpjdHgsCj4gICAJCQkgICBjb25zdCBzdHJ1Y3Qg aGFudHJvX2ZtdCAqZm10KTsKPiAgIAo+ICtkbWFfYWRkcl90Cj4gK2hhbnRyb19wb3N0cHJvY19n ZXRfZGVjX2J1Zl9hZGRyKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgsIGludCBpbmRleCk7Cj4gKwo+ ICAgc3RhdGljIGlubGluZSBkbWFfYWRkcl90Cj4gICBoYW50cm9fZ2V0X2RlY19idWZfYWRkcihz dHJ1Y3QgaGFudHJvX2N0eCAqY3R4LCBzdHJ1Y3QgdmIyX2J1ZmZlciAqdmIpCj4gICB7Cj4gICAJ aWYgKGhhbnRyb19uZWVkc19wb3N0cHJvYyhjdHgsIGN0eC0+dnB1X2RzdF9mbXQpKQo+IC0JCXJl dHVybiBjdHgtPnBvc3Rwcm9jLmRlY19xW3ZiLT5pbmRleF0uZG1hOwo+ICsJCXJldHVybiBoYW50 cm9fcG9zdHByb2NfZ2V0X2RlY19idWZfYWRkcihjdHgsIHZiLT5pbmRleCk7Cj4gICAJcmV0dXJu IHZiMl9kbWFfY29udGlnX3BsYW5lX2RtYV9hZGRyKHZiLCAwKTsKPiAgIH0KPiAgIAo+IEBAIC00 ODUsOCArNDg4LDggQEAgdmIyX3RvX2hhbnRyb19kZWNvZGVkX2J1ZihzdHJ1Y3QgdmIyX2J1ZmZl ciAqYnVmKQo+ICAgCj4gICB2b2lkIGhhbnRyb19wb3N0cHJvY19kaXNhYmxlKHN0cnVjdCBoYW50 cm9fY3R4ICpjdHgpOwo+ICAgdm9pZCBoYW50cm9fcG9zdHByb2NfZW5hYmxlKHN0cnVjdCBoYW50 cm9fY3R4ICpjdHgpOwo+ICtpbnQgaGFudHJvX3Bvc3Rwcm9jX2luaXQoc3RydWN0IGhhbnRyb19j dHggKmN0eCk7Cj4gICB2b2lkIGhhbnRyb19wb3N0cHJvY19mcmVlKHN0cnVjdCBoYW50cm9fY3R4 ICpjdHgpOwo+IC1pbnQgaGFudHJvX3Bvc3Rwcm9jX2FsbG9jKHN0cnVjdCBoYW50cm9fY3R4ICpj dHgpOwo+ICAgaW50IGhhbnRvX3Bvc3Rwcm9jX2VudW1fZnJhbWVzaXplcyhzdHJ1Y3QgaGFudHJv X2N0eCAqY3R4LAo+ICAgCQkJCSAgIHN0cnVjdCB2NGwyX2ZybXNpemVlbnVtICpmc2l6ZSk7Cj4g ICAKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50 cm9fZHJ2LmMgYi9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19kcnYu Ywo+IGluZGV4IGE5ZmEwNWFjNTZhOS4uN2Y1YjgyZWI2NjQ5IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX2Rydi5jCj4gKysrIGIvZHJpdmVy cy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fZHJ2LmMKPiBAQCAtMjM1LDggKzIz NSwxMCBAQCBxdWV1ZV9pbml0KHZvaWQgKnByaXYsIHN0cnVjdCB2YjJfcXVldWUgKnNyY192cSwg c3RydWN0IHZiMl9xdWV1ZSAqZHN0X3ZxKQo+ICAgCSAqIFRoZSBLZXJuZWwgbmVlZHMgYWNjZXNz IHRvIHRoZSBKUEVHIGRlc3RpbmF0aW9uIGJ1ZmZlciBmb3IgdGhlCj4gICAJICogSlBFRyBlbmNv ZGVyIHRvIGZpbGwgaW4gdGhlIEpQRUcgaGVhZGVycy4KPiAgIAkgKi8KPiAtCWlmICghY3R4LT5p c19lbmNvZGVyKQo+ICsJaWYgKCFjdHgtPmlzX2VuY29kZXIpIHsKPiAgIAkJZHN0X3ZxLT5kbWFf YXR0cnMgfD0gRE1BX0FUVFJfTk9fS0VSTkVMX01BUFBJTkc7Cj4gKwkJZHN0X3ZxLT5tYXhfbnVt X2J1ZmZlcnMgPSBNQVhfUE9TVFBST0NfQlVGRkVSUzsKPiArCX0KPiAgIAo+ICAgCWRzdF92cS0+ dHlwZSA9IFY0TDJfQlVGX1RZUEVfVklERU9fQ0FQVFVSRV9NUExBTkU7Cj4gICAJZHN0X3ZxLT5p b19tb2RlcyA9IFZCMl9NTUFQIHwgVkIyX0RNQUJVRjsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9t ZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9faHcuaCBiL2RyaXZlcnMvbWVkaWEvcGxh dGZvcm0vdmVyaXNpbGljb24vaGFudHJvX2h3LmgKPiBpbmRleCA3ZjMzZjdiMDdjZTQuLjI5MmE3 NmVmNjQzZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29u L2hhbnRyb19ody5oCj4gKysrIGIvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9o YW50cm9faHcuaAo+IEBAIC00MCw2ICs0MCw4IEBACj4gICAKPiAgICNkZWZpbmUgQVYxX01BWF9G UkFNRV9CVUZfQ09VTlQJKFY0TDJfQVYxX1RPVEFMX1JFRlNfUEVSX0ZSQU1FICsgMSkKPiAgIAo+ ICsjZGVmaW5lIE1BWF9QT1NUUFJPQ19CVUZGRVJTCTY0Cj4gKwo+ICAgc3RydWN0IGhhbnRyb19k ZXY7Cj4gICBzdHJ1Y3QgaGFudHJvX2N0eDsKPiAgIHN0cnVjdCBoYW50cm9fYnVmOwo+IEBAIC0z MzYsNyArMzM4LDcgQEAgc3RydWN0IGhhbnRyb19hdjFfZGVjX2h3X2N0eCB7Cj4gICAgKiBAZGVj X3E6CQlSZWZlcmVuY2VzIGJ1ZmZlcnMsIGluIGRlY29kZXIgZm9ybWF0Lgo+ICAgICovCj4gICBz dHJ1Y3QgaGFudHJvX3Bvc3Rwcm9jX2N0eCB7Cj4gLQlzdHJ1Y3QgaGFudHJvX2F1eF9idWYgZGVj X3FbVkIyX01BWF9GUkFNRV07Cj4gKwlzdHJ1Y3QgaGFudHJvX2F1eF9idWYgZGVjX3FbTUFYX1BP U1RQUk9DX0JVRkZFUlNdOwo+ICAgfTsKPiAgIAo+ICAgLyoqCj4gZGlmZiAtLWdpdCBhL2RyaXZl cnMvbWVkaWEvcGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX3Bvc3Rwcm9jLmMgYi9kcml2ZXJz L21lZGlhL3BsYXRmb3JtL3ZlcmlzaWxpY29uL2hhbnRyb19wb3N0cHJvYy5jCj4gaW5kZXggOGY4 ZjE3ZTY3MWNlLi40MWU5MzE3NjMwMGIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9wbGF0 Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fcG9zdHByb2MuYwo+ICsrKyBiL2RyaXZlcnMvbWVkaWEv cGxhdGZvcm0vdmVyaXNpbGljb24vaGFudHJvX3Bvc3Rwcm9jLmMKPiBAQCAtMTc3LDkgKzE3Nywx MSBAQCBzdGF0aWMgaW50IGhhbnRyb19wb3N0cHJvY19nMl9lbnVtX2ZyYW1lc2l6ZXMoc3RydWN0 IGhhbnRyb19jdHggKmN0eCwKPiAgIHZvaWQgaGFudHJvX3Bvc3Rwcm9jX2ZyZWUoc3RydWN0IGhh bnRyb19jdHggKmN0eCkKPiAgIHsKPiAgIAlzdHJ1Y3QgaGFudHJvX2RldiAqdnB1ID0gY3R4LT5k ZXY7Cj4gKwlzdHJ1Y3QgdjRsMl9tMm1fY3R4ICptMm1fY3R4ID0gY3R4LT5maC5tMm1fY3R4Owo+ ICsJc3RydWN0IHZiMl9xdWV1ZSAqcXVldWUgPSAmbTJtX2N0eC0+Y2FwX3FfY3R4LnE7Cj4gICAJ dW5zaWduZWQgaW50IGk7Cj4gICAKPiAtCWZvciAoaSA9IDA7IGkgPCBWQjJfTUFYX0ZSQU1FOyAr K2kpIHsKPiArCWZvciAoaSA9IDA7IGkgPCBxdWV1ZS0+bWF4X251bV9idWZmZXJzOyArK2kpIHsK PiAgIAkJc3RydWN0IGhhbnRyb19hdXhfYnVmICpwcml2ID0gJmN0eC0+cG9zdHByb2MuZGVjX3Fb aV07Cj4gICAKPiAgIAkJaWYgKHByaXYtPmNwdSkgewo+IEBAIC0xOTAsMjAgKzE5MiwxNyBAQCB2 b2lkIGhhbnRyb19wb3N0cHJvY19mcmVlKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgpCj4gICAJfQo+ ICAgfQo+ICAgCj4gLWludCBoYW50cm9fcG9zdHByb2NfYWxsb2Moc3RydWN0IGhhbnRyb19jdHgg KmN0eCkKPiArc3RhdGljIHVuc2lnbmVkIGludCBoYW50cm9fcG9zdHByb2NfYnVmZmVyX3NpemUo c3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiAgIHsKPiAtCXN0cnVjdCBoYW50cm9fZGV2ICp2cHUg PSBjdHgtPmRldjsKPiAtCXN0cnVjdCB2NGwyX20ybV9jdHggKm0ybV9jdHggPSBjdHgtPmZoLm0y bV9jdHg7Cj4gLQlzdHJ1Y3QgdmIyX3F1ZXVlICpjYXBfcXVldWUgPSAmbTJtX2N0eC0+Y2FwX3Ff Y3R4LnE7Cj4gLQl1bnNpZ25lZCBpbnQgbnVtX2J1ZmZlcnMgPSB2YjJfZ2V0X251bV9idWZmZXJz KGNhcF9xdWV1ZSk7Cj4gICAJc3RydWN0IHY0bDJfcGl4X2Zvcm1hdF9tcGxhbmUgcGl4X21wOwo+ ICAgCWNvbnN0IHN0cnVjdCBoYW50cm9fZm10ICpmbXQ7Cj4gLQl1bnNpZ25lZCBpbnQgaSwgYnVm X3NpemU7Cj4gKwl1bnNpZ25lZCBpbnQgYnVmX3NpemU7Cj4gICAKPiAgIAkvKiB0aGlzIHNob3Vs ZCBhbHdheXMgcGljayBuYXRpdmUgZm9ybWF0ICovCj4gICAJZm10ID0gaGFudHJvX2dldF9kZWZh dWx0X2ZtdChjdHgsIGZhbHNlLCBjdHgtPmJpdF9kZXB0aCwgSEFOVFJPX0FVVE9fUE9TVFBST0Mp Owo+ICAgCWlmICghZm10KQo+IC0JCXJldHVybiAtRUlOVkFMOwo+ICsJCXJldHVybiAwOwo+ICsK PiAgIAl2NGwyX2ZpbGxfcGl4Zm10X21wKCZwaXhfbXAsIGZtdC0+Zm91cmNjLCBjdHgtPnNyY19m bXQud2lkdGgsCj4gICAJCQkgICAgY3R4LT5zcmNfZm10LmhlaWdodCk7Cj4gICAKPiBAQCAtMjIx LDIzICsyMjAsNzcgQEAgaW50IGhhbnRyb19wb3N0cHJvY19hbGxvYyhzdHJ1Y3QgaGFudHJvX2N0 eCAqY3R4KQo+ICAgCQlidWZfc2l6ZSArPSBoYW50cm9fYXYxX212X3NpemUocGl4X21wLndpZHRo LAo+ICAgCQkJCQkgICAgICAgcGl4X21wLmhlaWdodCk7Cj4gICAKPiAtCWZvciAoaSA9IDA7IGkg PCBudW1fYnVmZmVyczsgKytpKSB7Cj4gLQkJc3RydWN0IGhhbnRyb19hdXhfYnVmICpwcml2ID0g JmN0eC0+cG9zdHByb2MuZGVjX3FbaV07Cj4gKwlyZXR1cm4gYnVmX3NpemU7Cj4gK30KPiArCj4g K3N0YXRpYyBpbnQgaGFudHJvX3Bvc3Rwcm9jX2FsbG9jKHN0cnVjdCBoYW50cm9fY3R4ICpjdHgs IGludCBpbmRleCkKPiArewo+ICsJc3RydWN0IGhhbnRyb19kZXYgKnZwdSA9IGN0eC0+ZGV2Owo+ ICsJc3RydWN0IGhhbnRyb19hdXhfYnVmICpwcml2ID0gJmN0eC0+cG9zdHByb2MuZGVjX3FbaW5k ZXhdOwo+ICsJdW5zaWduZWQgaW50IGJ1Zl9zaXplID0gaGFudHJvX3Bvc3Rwcm9jX2J1ZmZlcl9z aXplKGN0eCk7Cj4gKwo+ICsJaWYgKCFidWZfc2l6ZSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiAr Cj4gKwkvKgo+ICsJICogVGhlIGJ1ZmZlcnMgb24gdGhpcyBxdWV1ZSBhcmUgbWVhbnQgYXMgaW50 ZXJtZWRpYXRlCj4gKwkgKiBidWZmZXJzIGZvciB0aGUgZGVjb2Rlciwgc28gbm8gbWFwcGluZyBp cyBuZWVkZWQuCj4gKwkgKi8KPiArCXByaXYtPmF0dHJzID0gRE1BX0FUVFJfTk9fS0VSTkVMX01B UFBJTkc7Cj4gKwlwcml2LT5jcHUgPSBkbWFfYWxsb2NfYXR0cnModnB1LT5kZXYsIGJ1Zl9zaXpl LCAmcHJpdi0+ZG1hLAo+ICsJCQkJICAgIEdGUF9LRVJORUwsIHByaXYtPmF0dHJzKTsKPiArCWlm ICghcHJpdi0+Y3B1KQo+ICsJCXJldHVybiAtRU5PTUVNOwo+ICsJcHJpdi0+c2l6ZSA9IGJ1Zl9z aXplOwo+ICsKPiArCXJldHVybiAwOwo+ICt9Cj4gICAKPiAtCQkvKgo+IC0JCSAqIFRoZSBidWZm ZXJzIG9uIHRoaXMgcXVldWUgYXJlIG1lYW50IGFzIGludGVybWVkaWF0ZQo+IC0JCSAqIGJ1ZmZl cnMgZm9yIHRoZSBkZWNvZGVyLCBzbyBubyBtYXBwaW5nIGlzIG5lZWRlZC4KPiAtCQkgKi8KPiAt CQlwcml2LT5hdHRycyA9IERNQV9BVFRSX05PX0tFUk5FTF9NQVBQSU5HOwo+IC0JCXByaXYtPmNw dSA9IGRtYV9hbGxvY19hdHRycyh2cHUtPmRldiwgYnVmX3NpemUsICZwcml2LT5kbWEsCj4gLQkJ CQkJICAgIEdGUF9LRVJORUwsIHByaXYtPmF0dHJzKTsKPiAtCQlpZiAoIXByaXYtPmNwdSkKPiAt CQkJcmV0dXJuIC1FTk9NRU07Cj4gLQkJcHJpdi0+c2l6ZSA9IGJ1Zl9zaXplOwo+ICtpbnQgaGFu dHJvX3Bvc3Rwcm9jX2luaXQoc3RydWN0IGhhbnRyb19jdHggKmN0eCkKPiArewo+ICsJc3RydWN0 IHY0bDJfbTJtX2N0eCAqbTJtX2N0eCA9IGN0eC0+ZmgubTJtX2N0eDsKPiArCXN0cnVjdCB2YjJf cXVldWUgKmNhcF9xdWV1ZSA9ICZtMm1fY3R4LT5jYXBfcV9jdHgucTsKPiArCXVuc2lnbmVkIGlu dCBudW1fYnVmZmVycyA9IHZiMl9nZXRfbnVtX2J1ZmZlcnMoY2FwX3F1ZXVlKTsKPiArCXVuc2ln bmVkIGludCBpOwo+ICsJaW50IHJldDsKPiArCj4gKwlmb3IgKGkgPSAwOyBpIDwgbnVtX2J1ZmZl cnM7IGkrKykgewo+ICsJCXJldCA9IGhhbnRyb19wb3N0cHJvY19hbGxvYyhjdHgsIGkpOwo+ICsJ CWlmIChyZXQpCj4gKwkJCXJldHVybiByZXQ7Cj4gICAJfQo+ICsKPiAgIAlyZXR1cm4gMDsKPiAg IH0KPiAgIAo+ICtkbWFfYWRkcl90Cj4gK2hhbnRyb19wb3N0cHJvY19nZXRfZGVjX2J1Zl9hZGRy KHN0cnVjdCBoYW50cm9fY3R4ICpjdHgsIGludCBpbmRleCkKPiArewo+ICsJc3RydWN0IGhhbnRy b19hdXhfYnVmICpwcml2ID0gJmN0eC0+cG9zdHByb2MuZGVjX3FbaW5kZXhdOwo+ICsJdW5zaWdu ZWQgaW50IGJ1Zl9zaXplID0gaGFudHJvX3Bvc3Rwcm9jX2J1ZmZlcl9zaXplKGN0eCk7Cj4gKwlz dHJ1Y3QgaGFudHJvX2RldiAqdnB1ID0gY3R4LT5kZXY7Cj4gKwlpbnQgcmV0Owo+ICsKPiArCWlm IChwcml2LT5zaXplIDwgYnVmX3NpemUgJiYgcHJpdi0+Y3B1KSB7Cj4gKwkJLyogYnVmZmVyIGlz IHRvbyBzbWFsbCwgcmVsZWFzZSBpdCAqLwo+ICsJCWRtYV9mcmVlX2F0dHJzKHZwdS0+ZGV2LCBw cml2LT5zaXplLCBwcml2LT5jcHUsCj4gKwkJCSAgICAgICBwcml2LT5kbWEsIHByaXYtPmF0dHJz KTsKPiArCQlwcml2LT5jcHUgPSBOVUxMOwo+ICsJfQo+ICsKPiArCWlmICghcHJpdi0+Y3B1KSB7 Cj4gKwkJLyogYnVmZmVyIG5vdCBhbHJlYWR5IGFsbG9jYXRlZCwgdHJ5IGdldHRpbmcgYSBuZXcg b25lICovCj4gKwkJcmV0ID0gaGFudHJvX3Bvc3Rwcm9jX2FsbG9jKGN0eCwgaW5kZXgpOwo+ICsJ CWlmIChyZXQpCj4gKwkJCXJldHVybiAwOwo+ICsJfQo+ICsKPiArCWlmICghcHJpdi0+Y3B1KQo+ ICsJCXJldHVybiAwOwo+ICsKPiArCXJldHVybiBwcml2LT5kbWE7Cj4gK30KPiArCj4gICBzdGF0 aWMgdm9pZCBoYW50cm9fcG9zdHByb2NfZzFfZGlzYWJsZShzdHJ1Y3QgaGFudHJvX2N0eCAqY3R4 KQo+ICAgewo+ICAgCXN0cnVjdCBoYW50cm9fZGV2ICp2cHUgPSBjdHgtPmRldjsKPiBkaWZmIC0t Z2l0IGEvZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fdjRsMi5jIGIv ZHJpdmVycy9tZWRpYS9wbGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fdjRsMi5jCj4gaW5kZXgg YjNhZTAzN2E1MGY2Li5mMGQ4YjE2NWFiY2QgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fdjRsMi5jCj4gKysrIGIvZHJpdmVycy9tZWRpYS9w bGF0Zm9ybS92ZXJpc2lsaWNvbi9oYW50cm9fdjRsMi5jCj4gQEAgLTkzMyw3ICs5MzMsNyBAQCBz dGF0aWMgaW50IGhhbnRyb19zdGFydF9zdHJlYW1pbmcoc3RydWN0IHZiMl9xdWV1ZSAqcSwgdW5z aWduZWQgaW50IGNvdW50KQo+ICAgCQl9Cj4gICAKPiAgIAkJaWYgKGhhbnRyb19uZWVkc19wb3N0 cHJvYyhjdHgsIGN0eC0+dnB1X2RzdF9mbXQpKSB7Cj4gLQkJCXJldCA9IGhhbnRyb19wb3N0cHJv Y19hbGxvYyhjdHgpOwo+ICsJCQlyZXQgPSBoYW50cm9fcG9zdHByb2NfaW5pdChjdHgpOwo+ICAg CQkJaWYgKHJldCkKPiAgIAkJCQlnb3RvIGVycl9jb2RlY19leGl0Owo+ICAgCQl9CgoKX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTGludXgtcm9ja2NoaXAg bWFpbGluZyBsaXN0CkxpbnV4LXJvY2tjaGlwQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1yb2NrY2hpcAo=