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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 70698C433DB for ; Thu, 18 Feb 2021 21:43:33 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id C03E664E92 for ; Thu, 18 Feb 2021 21:43:32 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org C03E664E92 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=siol.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=NF6MMAkIkm0lDyraG6duclWCeuzp9niPOgj/+gXJ1/w=; b=LFr1U1ga6VnbICEMkhYl6rLkP EOixFPqduIYkOV19IPb93DE/it/mhQY4aRo54QBYbgNRtwlCe/k1Zx7slWw6ufNVBXqCTjgVScljY 1dN8QbsLJ2Vc9t1PCFlLzNvNmpqeAH4qE5nBQaYTNQjf920qIW2LEI8hRfLQVLqxbMZNqSrT0KGMe YCHaU/basw0TyFpxmKEHlKrlhKUncg3RVtaatUdAX+2Q9v03NHoKlnP5uylAFcnQ0OpbURK14NXJt kyBXioXqmnl76RPfs486IxBYuUgbaQZThzEiW89VNUjV4UJagQfevfXDsDWFlZ9bV0CKzx4HUn+Sv 2c1dkf5eQ==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCr54-0000Aw-T3; Thu, 18 Feb 2021 21:43:26 +0000 Received: from mailoutvs29.siol.net ([185.57.226.220] helo=mail.siol.net) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCr50-00009S-5C; Thu, 18 Feb 2021 21:43:24 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id B310C52269D; Thu, 18 Feb 2021 22:43:19 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id HnWkJJ_plBwO; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id 019B85226AC; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from kista.localnet (cpe-86-58-17-133.cable.triera.net [86.58.17.133]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Postfix) with ESMTPA id 4DD505226AA; Thu, 18 Feb 2021 22:43:18 +0100 (CET) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com, Benjamin Gaignard Subject: Re: [PATCH v2 1/9] media: hevc: Modify structures to follow H265 ITU spec Date: Thu, 18 Feb 2021 22:43:18 +0100 Message-ID: <12182109.SKTadsSyRz@kista> In-Reply-To: <20210218191844.297869-2-benjamin.gaignard@collabora.com> References: <20210218191844.297869-1-benjamin.gaignard@collabora.com> <20210218191844.297869-2-benjamin.gaignard@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_164323_057877_2E900556 X-CRM114-Status: GOOD ( 22.46 ) X-BeenThere: linux-rockchip@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Upstream kernel work for Rockchip platforms List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Benjamin Gaignard , linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-rockchip" Errors-To: linux-rockchip-bounces+linux-rockchip=archiver.kernel.org@lists.infradead.org SGkhCgpEbmUgxI1ldHJ0ZWssIDE4LiBmZWJydWFyIDIwMjEgb2IgMjA6MTg6MzYgQ0VUIGplIEJl bmphbWluIEdhaWduYXJkIG5hcGlzYWwoYSk6Cj4gVGhlIEguMjY1IElUVSBzcGVjaWZpY2F0aW9u IChzZWN0aW9uIDcuNCkgZGVmaW5lIHRoZSBnZW5lcmFsCj4gc2xpY2Ugc2VnbWVudCBoZWFkZXIg c2VtYW50aWNzLgo+IE1vZGlmaWVkL2FkZGVkIGZpZWxkcyBhcmU6Cj4gLSB2aWRlb19wYXJhbWV0 ZXJfc2V0X2lkOiAoNy40LjMuMSkgaWRlbnRpZmllcyB0aGUgVlBTIGZvcgo+IHJlZmVyZW5jZSBi eSBvdGhlciBzeW50YXggZWxlbWVudHMuCj4gLSBzZXFfcGFyYW1ldGVyX3NldF9pZDogKDcuNC4z LjIuMSkgc3BlY2lmaWVzIHRoZSB2YWx1ZSBvZgo+IHRoZSB2cHNfdmlkZW9fcGFyYW1ldGVyX3Nl dF9pZCBvZiB0aGUgYWN0aXZlIFZQUy4KPiAtIGNocm9tYV9mb3JtYXRfaWRjOiAoNy40LjMuMi4x KSBzcGVjaWZpZXMgdGhlIGNocm9tYSBzYW1wbGluZwo+ICByZWxhdGl2ZSB0byB0aGUgbHVtYSBz YW1wbGluZwo+IC0gcGljX3BhcmFtZXRlcl9zZXRfaWQ6ICg3LjQuMy4zLjEpIGlkZW50aWZpZXMg dGhlIFBQUyBmb3IKPiByZWZlcmVuY2UgYnkgb3RoZXIgc3ludGF4IGVsZW1lbnRzCj4gLSBudW1f cmVmX2lkeF9sMF9kZWZhdWx0X2FjdGl2ZV9taW51czE6ICg3LjQuMy4zLjEpIHNwZWNpZmllcwo+ IHRoZSBpbmZlcnJlZCB2YWx1ZSBvZiBudW1fcmVmX2lkeF9sMF9hY3RpdmVfbWludXMxCj4gLSBu dW1fcmVmX2lkeF9sMV9kZWZhdWx0X2FjdGl2ZV9taW51czE6ICg3LjQuMy4zLjEpIHNwZWNpZmll cwo+IHRoZSBpbmZlcnJlZCB2YWx1ZSBvZiBudW1fcmVmX2lkeF9sMV9hY3RpdmVfbWludXMxCj4g LSBzbGljZV9zZWdtZW50X2FkZHI6ICg3LjQuNy4xKSBzcGVjaWZpZXMgdGhlIGFkZHJlc3Mgb2YK PiB0aGUgZmlyc3QgY29kaW5nIHRyZWUgYmxvY2sgaW4gdGhlIHNsaWNlIHNlZ21lbnQKPiAtIG51 bV9lbnRyeV9wb2ludF9vZmZzZXRzOiAoNy40LjcuMSkgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YK PiBlbnRyeV9wb2ludF9vZmZzZXRfbWludXMxWyBpIF0gc3ludGF4IGVsZW1lbnRzIGluIHRoZSBz bGljZSBoZWFkZXIKPiAKPiBBZGQgSEVWQyBkZWNvZGUgcGFyYW1zIGNvbnRhaW5zIHRoZSBpbmZv cm1hdGlvbiB1c2VkIGluIHNlY3Rpb24KPiAiOC4zIFNsaWNlIGRlY29kaW5nIHByb2Nlc3MiIG9m IHRoZSBzcGVjaWZpY2F0aW9uIHRvIGxldCB0aGUgaGFyZHdhcmUKPiBwZXJmb3JtIGRlY29kaW5n IG9mIGEgc2xpY2VzLgo+IAo+IEFkYXB0IENlZHJ1cyBkcml2ZXIgYWNjb3JkaW5nIHRvIHRoZXNl IGNoYW5nZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWlu LmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4gdmVyc2lvbiAyOgo+IC0gcmVtb3ZlIGFs bCBjaGFuZ2UgcmVsYXRlZCB0byBzY2FsaW5nCj4gLSBzcXVhc2ggY29tbWl0cyB0byBhIGNvaGVy ZW50IHNwbGl0Cj4gLSBiZSBtb3JlIHZlcmJvc2UgYWJvdXQgdGhlIGFkZGVkIGZpZWxkcwo+IAo+ ICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMgICAgICAgICAgfCAyNiArKysr KysrKy0tLQo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5jICAg fCAgNiArKysKPiAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXMuaCAg IHwgIDEgKwo+ICAuLi4vc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2RlYy5jICAg fCAgMiArCj4gIC4uLi9zdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jICB8 ICA2ICsrLQo+ICBpbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaCAgICAgICAgICAgICAgICAgICAg fCA0NSArKysrKysrKysrKysrKystLS0tCj4gIDYgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9u cygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdjRs Mi1jb3JlL3Y0bDItY3RybHMuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlLwp2NGwyLWN0cmxz LmMKPiBpbmRleCAwMTZjZjYyMDRjYmIuLjQwNjBiNWJjYzNjMCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLWN0cmxzLmMKPiBAQCAtMTAyOCw2ICsxMDI4LDcgQEAgY29uc3QgY2hhciAq djRsMl9jdHJsX2dldF9uYW1lKHUzMiBpZCkKPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19I RVZDX1NQUzoJCQkKcmV0dXJuICJIRVZDIFNlcXVlbmNlIFBhcmFtZXRlciBTZXQiOwo+ICAJY2Fz ZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfUFBTOgkJCQpyZXR1cm4gIkhFVkMgUGljdHVyZSBQ YXJhbWV0ZXIgU2V0IjsKPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NMSUNFX1BB UkFNUzoJCXJldHVybiAKIkhFVkMgU2xpY2UgUGFyYW1ldGVycyI7Cj4gKwljYXNlIFY0TDJfQ0lE X01QRUdfVklERU9fSEVWQ19ERUNPREVfUEFSQU1TOgkJCnJldHVybiAiSEVWQyBEZWNvZGUgUGFy YW1ldGVycyI7Cj4gIAljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19ERUNPREVfTU9ERToJ CXJldHVybiAiSEVWQyAKRGVjb2RlIE1vZGUiOwo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVP X0hFVkNfU1RBUlRfQ09ERToJCXJldHVybiAKIkhFVkMgU3RhcnQgQ29kZSI7Cj4gIAo+IEBAIC0x NDgyLDYgKzE0ODMsOSBAQCB2b2lkIHY0bDJfY3RybF9maWxsKHUzMiBpZCwgY29uc3QgY2hhciAq Km5hbWUsIGVudW0gCnY0bDJfY3RybF90eXBlICp0eXBlLAo+ICAJY2FzZSBWNEwyX0NJRF9NUEVH X1ZJREVPX0hFVkNfU0xJQ0VfUEFSQU1TOgo+ICAJCSp0eXBlID0gVjRMMl9DVFJMX1RZUEVfSEVW Q19TTElDRV9QQVJBTVM7Cj4gIAkJYnJlYWs7Cj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9f SEVWQ19ERUNPREVfUEFSQU1TOgo+ICsJCSp0eXBlID0gVjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNP REVfUEFSQU1TOwo+ICsJCWJyZWFrOwo+ICAJY2FzZSBWNEwyX0NJRF9VTklUX0NFTExfU0laRToK PiAgCQkqdHlwZSA9IFY0TDJfQ1RSTF9UWVBFX0FSRUE7Cj4gIAkJKmZsYWdzIHw9IFY0TDJfQ1RS TF9GTEFHX1JFQURfT05MWTsKPiBAQCAtMTgzMyw2ICsxODM3LDcgQEAgc3RhdGljIGludCBzdGRf dmFsaWRhdGVfY29tcG91bmQoY29uc3Qgc3RydWN0IAp2NGwyX2N0cmwgKmN0cmwsIHUzMiBpZHgs Cj4gIAlzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpwX2hldmNfc3BzOwo+ICAJc3RydWN0IHY0 bDJfY3RybF9oZXZjX3BwcyAqcF9oZXZjX3BwczsKPiAgCXN0cnVjdCB2NGwyX2N0cmxfaGV2Y19z bGljZV9wYXJhbXMgKnBfaGV2Y19zbGljZV9wYXJhbXM7Cj4gKwlzdHJ1Y3QgdjRsMl9jdHJsX2hl dmNfZGVjb2RlX3BhcmFtcyAqcF9oZXZjX2RlY29kZV9wYXJhbXM7Cj4gIAlzdHJ1Y3QgdjRsMl9h cmVhICphcmVhOwo+ICAJdm9pZCAqcCA9IHB0ci5wICsgaWR4ICogY3RybC0+ZWxlbV9zaXplOwo+ ICAJdW5zaWduZWQgaW50IGk7Cj4gQEAgLTIxMDgsMjMgKzIxMTMsMjcgQEAgc3RhdGljIGludCBz dGRfdmFsaWRhdGVfY29tcG91bmQoY29uc3Qgc3RydWN0IAp2NGwyX2N0cmwgKmN0cmwsIHUzMiBp ZHgsCj4gIAkJemVyb19wYWRkaW5nKCpwX2hldmNfcHBzKTsKPiAgCQlicmVhazsKPiAgCj4gLQlj YXNlIFY0TDJfQ1RSTF9UWVBFX0hFVkNfU0xJQ0VfUEFSQU1TOgo+IC0JCXBfaGV2Y19zbGljZV9w YXJhbXMgPSBwOwo+ICsJY2FzZSBWNEwyX0NUUkxfVFlQRV9IRVZDX0RFQ09ERV9QQVJBTVM6Cj4g KwkJcF9oZXZjX2RlY29kZV9wYXJhbXMgPSBwOwo+ICAKPiAtCQlpZiAocF9oZXZjX3NsaWNlX3Bh cmFtcy0+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyA+Cj4gKwkJaWYgKHBfaGV2Y19kZWNvZGVfcGFy YW1zLT5udW1fYWN0aXZlX2RwYl9lbnRyaWVzID4KPiAgCQkgICAgVjRMMl9IRVZDX0RQQl9FTlRS SUVTX05VTV9NQVgpCj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICAKPiAtCQl6ZXJvX3BhZGRpbmco cF9oZXZjX3NsaWNlX3BhcmFtcy0+cHJlZF93ZWlnaHRfdGFibGUpOwo+IC0KPiAtCQlmb3IgKGkg PSAwOyBpIDwgcF9oZXZjX3NsaWNlX3BhcmFtcy0KPm51bV9hY3RpdmVfZHBiX2VudHJpZXM7Cj4g KwkJZm9yIChpID0gMDsgaSA8IHBfaGV2Y19kZWNvZGVfcGFyYW1zLQo+bnVtX2FjdGl2ZV9kcGJf ZW50cmllczsKPiAgCQkgICAgIGkrKykgewo+ICAJCQlzdHJ1Y3QgdjRsMl9oZXZjX2RwYl9lbnRy eSAqZHBiX2VudHJ5ID0KPiAtCQkJCSZwX2hldmNfc2xpY2VfcGFyYW1zLT5kcGJbaV07Cj4gKwkJ CQkmcF9oZXZjX2RlY29kZV9wYXJhbXMtPmRwYltpXTsKPiAgCj4gIAkJCXplcm9fcGFkZGluZygq ZHBiX2VudHJ5KTsKPiAgCQl9Cj4gIAo+ICsJCWJyZWFrOwo+ICsKPiArCWNhc2UgVjRMMl9DVFJM X1RZUEVfSEVWQ19TTElDRV9QQVJBTVM6Cj4gKwkJcF9oZXZjX3NsaWNlX3BhcmFtcyA9IHA7Cj4g Kwo+ICsJCXplcm9fcGFkZGluZyhwX2hldmNfc2xpY2VfcGFyYW1zLT5wcmVkX3dlaWdodF90YWJs ZSk7Cj4gIAkJemVyb19wYWRkaW5nKCpwX2hldmNfc2xpY2VfcGFyYW1zKTsKPiAgCQlicmVhazsK PiAgCj4gQEAgLTI4MjEsNiArMjgzMCw5IEBAIHN0YXRpYyBzdHJ1Y3QgdjRsMl9jdHJsICp2NGwy X2N0cmxfbmV3KHN0cnVjdCAKdjRsMl9jdHJsX2hhbmRsZXIgKmhkbCwKPiAgCWNhc2UgVjRMMl9D VFJMX1RZUEVfSEVWQ19TTElDRV9QQVJBTVM6Cj4gIAkJZWxlbV9zaXplID0gc2l6ZW9mKHN0cnVj dCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJhbXMpOwo+ICAJCWJyZWFrOwo+ICsJY2FzZSBWNEwy X0NUUkxfVFlQRV9IRVZDX0RFQ09ERV9QQVJBTVM6Cj4gKwkJZWxlbV9zaXplID0gc2l6ZW9mKHN0 cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zKTsKPiArCQlicmVhazsKPiAgCWNhc2Ug VjRMMl9DVFJMX1RZUEVfQVJFQToKPiAgCQllbGVtX3NpemUgPSBzaXplb2Yoc3RydWN0IHY0bDJf YXJlYSk7Cj4gIAkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9z dW54aS9jZWRydXMvY2VkcnVzLmMgYi9kcml2ZXJzL3N0YWdpbmcvCm1lZGlhL3N1bnhpL2NlZHJ1 cy9jZWRydXMuYwo+IGluZGV4IDdiZDkyOTFjOGQ1Zi4uNGNkM2NhYjFhMjU3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmMKPiArKysgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5jCj4gQEAgLTE1MSw2ICsx NTEsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjZWRydXNfY29udHJvbCBjZWRydXNfY29udHJv bHNbXSA9IAp7Cj4gIAkJfSwKPiAgCQkuY29kZWMJCT0gQ0VEUlVTX0NPREVDX1ZQOCwKPiAgCX0s Cj4gKwl7Cj4gKwkJLmNmZyA9IHsKPiArCQkJLmlkID0gVjRMMl9DSURfTVBFR19WSURFT19IRVZD X0RFQ09ERV9QQVJBTVMsCj4gKwkJfSwKPiArCQkuY29kZWMJCT0gQ0VEUlVTX0NPREVDX0gyNjUs Cj4gKwl9LAo+ICB9Owo+ICAKPiAgI2RlZmluZSBDRURSVVNfQ09OVFJPTFNfQ09VTlQJQVJSQVlf U0laRShjZWRydXNfY29udHJvbHMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9zdW54aS9jZWRydXMvY2VkcnVzLmggYi9kcml2ZXJzL3N0YWdpbmcvCm1lZGlhL3N1bnhpL2Nl ZHJ1cy9jZWRydXMuaAo+IGluZGV4IDI1MWE2YTY2MDM1MS4uMmNhMzNhYzM4YjlhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmgKPiArKysg Yi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5oCj4gQEAgLTc2LDYg Kzc2LDcgQEAgc3RydWN0IGNlZHJ1c19oMjY1X3J1biB7Cj4gIAljb25zdCBzdHJ1Y3QgdjRsMl9j dHJsX2hldmNfc3BzCQkJKnNwczsKPiAgCWNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19wcHMJ CQkqcHBzOwo+ICAJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcwkqc2xp Y2VfcGFyYW1zOwo+ICsJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJhbXMJ KmRlY29kZV9wYXJhbXM7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgY2VkcnVzX3ZwOF9ydW4gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMu YyBiL2RyaXZlcnMvCnN0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMuYwo+IGlu ZGV4IGE5MDkwZGFmNjI2YS4uY2Q4MjFmNDE3YTE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2RlYy5jCj4gKysrIGIvZHJpdmVycy9zdGFn aW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfZGVjLmMKPiBAQCAtNjgsNiArNjgsOCBAQCB2 b2lkIGNlZHJ1c19kZXZpY2VfcnVuKHZvaWQgKnByaXYpCj4gIAkJCVY0TDJfQ0lEX01QRUdfVklE RU9fSEVWQ19QUFMpOwo+ICAJCXJ1bi5oMjY1LnNsaWNlX3BhcmFtcyA9IGNlZHJ1c19maW5kX2Nv bnRyb2xfZGF0YShjdHgsCj4gIAkJCVY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19TTElDRV9QQVJB TVMpOwo+ICsJCXJ1bi5oMjY1LmRlY29kZV9wYXJhbXMgPSBjZWRydXNfZmluZF9jb250cm9sX2Rh dGEoY3R4LAo+ICsJCQlWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUyk7Cj4g IAkJYnJlYWs7Cj4gIAo+ICAJY2FzZSBWNEwyX1BJWF9GTVRfVlA4X0ZSQU1FOgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19oMjY1LmMgYi9k cml2ZXJzLwpzdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gaW5kZXgg Y2U0OTdkMDE5N2RmLi5kY2U1ZGI2YmUxM2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5n L21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gQEAgLTI0NSw2ICsyNDUsNyBAQCBz dGF0aWMgdm9pZCBjZWRydXNfaDI2NV9zZXR1cChzdHJ1Y3QgY2VkcnVzX2N0eCAqY3R4LAo+ICAJ Y29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAqc3BzOwo+ICAJY29uc3Qgc3RydWN0IHY0 bDJfY3RybF9oZXZjX3BwcyAqcHBzOwo+ICAJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3Ns aWNlX3BhcmFtcyAqc2xpY2VfcGFyYW1zOwo+ICsJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZj X2RlY29kZV9wYXJhbXMgKmRlY29kZV9wYXJhbXM7Cj4gIAljb25zdCBzdHJ1Y3QgdjRsMl9oZXZj X3ByZWRfd2VpZ2h0X3RhYmxlICpwcmVkX3dlaWdodF90YWJsZTsKPiAgCWRtYV9hZGRyX3Qgc3Jj X2J1Zl9hZGRyOwo+ICAJZG1hX2FkZHJfdCBzcmNfYnVmX2VuZF9hZGRyOwo+IEBAIC0yNTYsNiAr MjU3LDcgQEAgc3RhdGljIHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHgg KmN0eCwKPiAgCXNwcyA9IHJ1bi0+aDI2NS5zcHM7Cj4gIAlwcHMgPSBydW4tPmgyNjUucHBzOwo+ ICAJc2xpY2VfcGFyYW1zID0gcnVuLT5oMjY1LnNsaWNlX3BhcmFtczsKPiArCWRlY29kZV9wYXJh bXMgPSBydW4tPmgyNjUuZGVjb2RlX3BhcmFtczsKPiAgCXByZWRfd2VpZ2h0X3RhYmxlID0gJnNs aWNlX3BhcmFtcy0+cHJlZF93ZWlnaHRfdGFibGU7Cj4gIAo+ICAJLyogTVYgY29sdW1uIGJ1ZmZl ciBzaXplIGFuZCBhbGxvY2F0aW9uLiAqLwo+IEBAIC00ODcsNyArNDg5LDcgQEAgc3RhdGljIHZv aWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHggKmN0eCwKPiAgCj4gIAlyZWcg PSAKVkVfREVDX0gyNjVfREVDX1NMSUNFX0hEUl9JTkZPMV9TTElDRV9UQ19PRkZTRVRfRElWMihz bGljZV9wYXJhbXMtCj5zbGljZV90Y19vZmZzZXRfZGl2MikgfAo+ICAJICAgICAgClZFX0RFQ19I MjY1X0RFQ19TTElDRV9IRFJfSU5GTzFfU0xJQ0VfQkVUQV9PRkZTRVRfRElWMihzbGljZV9wYXJh bXMtCj5zbGljZV9iZXRhX29mZnNldF9kaXYyKSB8Cj4gLQkgICAgICAKVkVfREVDX0gyNjVfREVD X1NMSUNFX0hEUl9JTkZPMV9TTElDRV9QT0NfQklHRVNUX0lOX1JQU19TVChzbGljZV9wYXJhbXMt Cj5udW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyID09IDApIHwKPiArCSAgICAgIApWRV9ERUNfSDI2 NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX1BPQ19CSUdFU1RfSU5fUlBTX1NUKGRlY29kZV9w YXJhbXMtCj5udW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyID09IDApIHwKPiAgCSAgICAgIApWRV9E RUNfSDI2NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX0NSX1FQX09GRlNFVChzbGljZV9wYXJh bXMtCj5zbGljZV9jcl9xcF9vZmZzZXQpIHwKPiAgCSAgICAgIApWRV9ERUNfSDI2NV9ERUNfU0xJ Q0VfSERSX0lORk8xX1NMSUNFX0NCX1FQX09GRlNFVChzbGljZV9wYXJhbXMtCj5zbGljZV9jYl9x cF9vZmZzZXQpIHwKPiAgCSAgICAgIFZFX0RFQ19IMjY1X0RFQ19TTElDRV9IRFJfSU5GTzFfU0xJ Q0VfUVBfREVMVEEoc2xpY2VfcGFyYW1zLQo+c2xpY2VfcXBfZGVsdGEpOwo+IEBAIC01MjgsNyAr NTMwLDcgQEAgc3RhdGljIHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHgg KmN0eCwKPiAgCj4gIAkvKiBXcml0ZSBkZWNvZGVkIHBpY3R1cmUgYnVmZmVyIGluIHBpYyBsaXN0 LiAqLwo+ICAJY2VkcnVzX2gyNjVfZnJhbWVfaW5mb193cml0ZV9kcGIoY3R4LCBzbGljZV9wYXJh bXMtPmRwYiwKPiAtCQkJCQkgc2xpY2VfcGFyYW1zLQo+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyk7 Cj4gKwkJCQkJIGRlY29kZV9wYXJhbXMtCj5udW1fYWN0aXZlX2RwYl9lbnRyaWVzKTsKPiAgCj4g IAkvKiBPdXRwdXQgZnJhbWUuICovCj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL2hl dmMtY3RybHMuaCBiL2luY2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oCj4gaW5kZXggYjRjYjJlZjAy ZjE3Li43ZmU3MDRhMDhmNzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxz LmgKPiArKysgYi9pbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaAo+IEBAIC0xOSw2ICsxOSw3IEBA Cj4gICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NQUwkJKFY0TDJfQ0lEX0NPREVD X0JBU0UgKyAKMTAwOCkKPiAgI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfUFBTCQko VjRMMl9DSURfQ09ERUNfQkFTRSArIAoxMDA5KQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklE RU9fSEVWQ19TTElDRV9QQVJBTVMJKFY0TDJfQ0lEX0NPREVDX0JBU0UgKyAKMTAxMCkKPiArI2Rl ZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUwkoVjRMMl9DSURfQ09E RUNfQkFTRSArIAoxMDEyKQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19ERUNP REVfTU9ERQkoVjRMMl9DSURfQ09ERUNfQkFTRSArIAoxMDE1KQo+ICAjZGVmaW5lIFY0TDJfQ0lE X01QRUdfVklERU9fSEVWQ19TVEFSVF9DT0RFCShWNEwyX0NJRF9DT0RFQ19CQVNFICsgCjEwMTYp Cj4gIAo+IEBAIC0yNiw2ICsyNyw3IEBACj4gICNkZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19T UFMgMHgwMTIwCj4gICNkZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19QUFMgMHgwMTIxCj4gICNk ZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19TTElDRV9QQVJBTVMgMHgwMTIyCj4gKyNkZWZpbmUg VjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1TIDB4MDEyNAo+ICAKPiAgZW51bSB2NGwy X21wZWdfdmlkZW9faGV2Y19kZWNvZGVfbW9kZSB7Cj4gIAlWNEwyX01QRUdfVklERU9fSEVWQ19E RUNPREVfTU9ERV9TTElDRV9CQVNFRCwKPiBAQCAtNTQsNiArNTYsOSBAQCBlbnVtIHY0bDJfbXBl Z192aWRlb19oZXZjX3N0YXJ0X2NvZGUgewo+ICAvKiBUaGUgY29udHJvbHMgYXJlIG5vdCBzdGFi bGUgYXQgdGhlIG1vbWVudCBhbmQgd2lsbCBsaWtlbHkgYmUgcmV3b3JrZWQuIAoqLwo+ICBzdHJ1 Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVj LiBILjI2NTogU2VxdWVuY2UgcGFyYW1ldGVyIHNldCAqLwo+ICsJX191OAl2aWRlb19wYXJhbWV0 ZXJfc2V0X2lkOwo+ICsJX191OAlzZXFfcGFyYW1ldGVyX3NldF9pZDsKPiArCV9fdTgJY2hyb21h X2Zvcm1hdF9pZGM7Cj4gIAlfX3UxNglwaWNfd2lkdGhfaW5fbHVtYV9zYW1wbGVzOwo+ICAJX191 MTYJcGljX2hlaWdodF9pbl9sdW1hX3NhbXBsZXM7Cj4gIAlfX3U4CWJpdF9kZXB0aF9sdW1hX21p bnVzODsKPiBAQCAtNzQsOSArNzksOSBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPiAg CV9fdTgJbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemU7Cj4gIAlf X3U4CW51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0czsKPiAgCV9fdTgJbnVtX2xvbmdfdGVybV9y ZWZfcGljc19zcHM7Cj4gLQlfX3U4CWNocm9tYV9mb3JtYXRfaWRjOwo+ICAKPiAtCV9fdTgJcGFk ZGluZzsKPiArCV9fdTgJbnVtX3NsaWNlczsKPiArCV9fdTgJcGFkZGluZ1s2XTsKPiAgCj4gIAlf X3U2NAlmbGFnczsKPiAgfTsKPiBAQCAtMTAwLDEwICsxMDUsMTUgQEAgc3RydWN0IHY0bDJfY3Ry bF9oZXZjX3NwcyB7Cj4gICNkZWZpbmUgVjRMMl9IRVZDX1BQU19GTEFHX1BQU19ESVNBQkxFX0RF QkxPQ0tJTkdfRklMVEVSCSgxVUxMIDw8IDE2KQo+ICAjZGVmaW5lIFY0TDJfSEVWQ19QUFNfRkxB R19MSVNUU19NT0RJRklDQVRJT05fUFJFU0VOVAkJKDFVTEwgPDwgMTcpCj4gICNkZWZpbmUgVjRM Ml9IRVZDX1BQU19GTEFHX1NMSUNFX1NFR01FTlRfSEVBREVSX0VYVEVOU0lPTl9QUkVTRU5UICgx VUxMIDw8IAoxOCkKPiArI2RlZmluZSBWNEwyX0hFVkNfUFBTX0ZMQUdfREVCTE9DS0lOR19GSUxU RVJfQ09OVFJPTF9QUkVTRU5UCSgxVUxMIDw8IDE5KQo+ICsjZGVmaW5lIFY0TDJfSEVWQ19QUFNf RkxBR19VTklGT1JNX1NQQUNJTkcJCQkKKDFVTEwgPDwgMjApCj4gIAo+ICBzdHJ1Y3QgdjRsMl9j dHJsX2hldmNfcHBzIHsKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTog UGljdHVyZSBwYXJhbWV0ZXIgc2V0ICovCj4gKwlfX3U4CXBpY19wYXJhbWV0ZXJfc2V0X2lkOwo+ ICAJX191OAludW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHM7Cj4gKwlfX3U4CW51bV9yZWZfaWR4 X2wwX2RlZmF1bHRfYWN0aXZlX21pbnVzMTsKPiArCV9fdTgJbnVtX3JlZl9pZHhfbDFfZGVmYXVs dF9hY3RpdmVfbWludXMxOwo+ICAJX19zOAlpbml0X3FwX21pbnVzMjY7Cj4gIAlfX3U4CWRpZmZf Y3VfcXBfZGVsdGFfZGVwdGg7Cj4gIAlfX3M4CXBwc19jYl9xcF9vZmZzZXQ7Cj4gQEAgLTExNiw3 ICsxMjYsNyBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfcHBzIHsKPiAgCV9fczgJcHBzX3RjX29m ZnNldF9kaXYyOwo+ICAJX191OAlsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsX21pbnVzMjsKPiAg Cj4gLQlfX3U4CXBhZGRpbmdbNF07Cj4gKwlfX3U4CXBhZGRpbmc7Cj4gIAlfX3U2NAlmbGFnczsK PiAgfTsKPiAgCj4gQEAgLTE2NSw2ICsxNzUsMTAgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3Ns aWNlX3BhcmFtcyB7Cj4gIAlfX3UzMgliaXRfc2l6ZTsKPiAgCV9fdTMyCWRhdGFfYml0X29mZnNl dDsKPiAgCj4gKwkvKiBJU08vSUVDIDIzMDA4LTIsIElUVS1UIFJlYy4gSC4yNjU6IEdlbmVyYWwg c2xpY2Ugc2VnbWVudCBoZWFkZXIgCiovCj4gKwlfX3UzMglzbGljZV9zZWdtZW50X2FkZHI7Cj4g KwlfX3UzMgludW1fZW50cnlfcG9pbnRfb2Zmc2V0czsKPiArCj4gIAkvKiBJU08vSUVDIDIzMDA4 LTIsIElUVS1UIFJlYy4gSC4yNjU6IE5BTCB1bml0IGhlYWRlciAqLwo+ICAJX191OAluYWxfdW5p dF90eXBlOwo+ICAJX191OAludWhfdGVtcG9yYWxfaWRfcGx1czE7Cj4gQEAgLTE5MCwxNSArMjA0 LDEzIEBAIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJhbXMgewo+ICAJX191OAlwaWNf c3RydWN0Owo+ICAKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTogR2Vu ZXJhbCBzbGljZSBzZWdtZW50IGhlYWRlciAKKi8KPiAtCV9fdTgJbnVtX2FjdGl2ZV9kcGJfZW50 cmllczsKPiAgCV9fdTgJcmVmX2lkeF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07 Cj4gIAlfX3U4CXJlZl9pZHhfbDFbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ICAK PiAtCV9fdTgJbnVtX3Jwc19wb2Nfc3RfY3Vycl9iZWZvcmU7Cj4gLQlfX3U4CW51bV9ycHNfcG9j X3N0X2N1cnJfYWZ0ZXI7Cj4gLQlfX3U4CW51bV9ycHNfcG9jX2x0X2N1cnI7Cj4gKwlfX3UxNglz aG9ydF90ZXJtX3JlZl9waWNfc2V0X3NpemU7Cj4gKwlfX3UxNglsb25nX3Rlcm1fcmVmX3BpY19z ZXRfc2l6ZTsKPiAgCj4gLQlfX3U4CXBhZGRpbmc7Cj4gKwlfX3U4CXBhZGRpbmdbNV07Cj4gIAo+ ICAJLyogSVNPL0lFQyAyMzAwOC0yLCBJVFUtVCBSZWMuIEguMjY1OiBHZW5lcmFsIHNsaWNlIHNl Z21lbnQgaGVhZGVyIAoqLwo+ICAJc3RydWN0IHY0bDJfaGV2Y19kcGJfZW50cnkgZHBiW1Y0TDJf SEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPiBAQCAtMjA5LDQgKzIyMSwyMSBAQCBzdHJ1Y3Qg djRsMl9jdHJsX2hldmNfc2xpY2VfcGFyYW1zIHsKPiAgCV9fdTY0CWZsYWdzOwo+ICB9Owo+ICAK PiArI2RlZmluZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfSVJBUF9QSUMJCTB4MQo+ICsj ZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVfUEFSQU1fRkxBR19JRFJfUElDCQkweDIKPiArI2RlZmlu ZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfTk9fT1VUUFVUX09GX1BSSU9SICAweDQKPiAr Cj4gK3N0cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zIHsKPiArCV9fczMyCXBpY19v cmRlcl9jbnRfdmFsOwo+ICsJX191OAludW1fYWN0aXZlX2RwYl9lbnRyaWVzOwo+ICsJc3RydWN0 CXY0bDJfaGV2Y19kcGJfZW50cnkgZHBiW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsK PiArCV9fdTgJbnVtX3Jwc19wb2Nfc3RfY3Vycl9iZWZvcmU7Cj4gKwlfX3U4CW51bV9ycHNfcG9j X3N0X2N1cnJfYWZ0ZXI7Cj4gKwlfX3U4CW51bV9ycHNfcG9jX2x0X2N1cnI7Cj4gKwlfX3U4CXJw c19zdF9jdXJyX2JlZm9yZVtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07Cj4gKwlfX3U4 CXJwc19zdF9jdXJyX2FmdGVyW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPiArCV9f dTgJcnBzX2x0X2N1cnJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ICsJX191NjQJ ZmxhZ3M7Cj4gK307CgpDdXJyZW50IHByYWN0aWNlIGlzIHRvIGFsc28gYWRkL3VwZGF0ZSBjb250 cm9scyBkb2N1bWVudGF0aW9uIGluIApEb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEv djRsLwoKV2l0aCB5b3VyIGNoYW5nZXMsIHY0bDJfY3RybF9oZXZjX3BwcyBhbmQgdjRsMl9jdHJs X2hldmNfc2xpY2VfcGFyYW1zIApkZXNjcmlwdGlvbnMgYXJlIG91dCBvZiBzeW5jIGFuZCB2NGwy X2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zIGRlc2NyaXB0aW9uIGlzIApjb21wbGV0ZWx5IG1pc3Np bmcuCgpCZXN0IHJlZ2FyZHMsCkplcm5lagoKPiArCj4gICNlbmRpZgo+IC0tIAo+IDIuMjUuMQo+ IAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpM aW51eC1yb2NrY2hpcCBtYWlsaW5nIGxpc3QKTGludXgtcm9ja2NoaXBAbGlzdHMuaW5mcmFkZWFk Lm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LXJv Y2tjaGlwCg== 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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5341BC433DB for ; Thu, 18 Feb 2021 21:45:38 +0000 (UTC) Received: from merlin.infradead.org (merlin.infradead.org [205.233.59.134]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id CFEAB60232 for ; Thu, 18 Feb 2021 21:45:37 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org CFEAB60232 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=siol.net Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=merlin.20170209; h=Sender:Content-Transfer-Encoding: Content-Type:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Message-ID:Date: Subject:To:From:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=gRZKERfkD3ZqAn0o6jbat9MuT36QdWDNMHc0q/LGaEE=; b=djN45j9Ck9zTN3OiPvSKYv6EK K7z50MHFdA7KfLxi4s6C06E29PFBeZnfn55idXl/qIgOVz5a34BzpVZD0dMvIj0FiotDVa7fVF/sV Dm1vBJiBdn5EIyIsgLwz/C3NQG+w407DKO0CavOdwgNnJb5Uk54vmn2YOv9Zi/Y5MnEJUGf5NItDi Y9AQ/9Ip9Cf+alA9SR4k9DYGLm+ADFToQDOxlcwF/K8khfq8vAav+bhghgAIldo1TEeA2o/Ue03mp kUInvA08n4rvcTHrYZMwWJcesez1XnKdPA6/RNb09x4BYFAkkKDwk0kIQBsxUKHgQwwIOEY0oI8me 9gnS6RrvA==; Received: from localhost ([::1] helo=merlin.infradead.org) by merlin.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCr53-0000AW-Id; Thu, 18 Feb 2021 21:43:25 +0000 Received: from mailoutvs29.siol.net ([185.57.226.220] helo=mail.siol.net) by merlin.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1lCr50-00009S-5C; Thu, 18 Feb 2021 21:43:24 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id B310C52269D; Thu, 18 Feb 2021 22:43:19 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id HnWkJJ_plBwO; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id 019B85226AC; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from kista.localnet (cpe-86-58-17-133.cable.triera.net [86.58.17.133]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Postfix) with ESMTPA id 4DD505226AA; Thu, 18 Feb 2021 22:43:18 +0100 (CET) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com, Benjamin Gaignard Subject: Re: [PATCH v2 1/9] media: hevc: Modify structures to follow H265 ITU spec Date: Thu, 18 Feb 2021 22:43:18 +0100 Message-ID: <12182109.SKTadsSyRz@kista> In-Reply-To: <20210218191844.297869-2-benjamin.gaignard@collabora.com> References: <20210218191844.297869-1-benjamin.gaignard@collabora.com> <20210218191844.297869-2-benjamin.gaignard@collabora.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210218_164323_057877_2E900556 X-CRM114-Status: GOOD ( 22.46 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: devicetree@vger.kernel.org, Benjamin Gaignard , linux-kernel@vger.kernel.org, linux-rockchip@lists.infradead.org, kernel@collabora.com, linux-arm-kernel@lists.infradead.org, linux-media@vger.kernel.org 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 SGkhCgpEbmUgxI1ldHJ0ZWssIDE4LiBmZWJydWFyIDIwMjEgb2IgMjA6MTg6MzYgQ0VUIGplIEJl bmphbWluIEdhaWduYXJkIG5hcGlzYWwoYSk6Cj4gVGhlIEguMjY1IElUVSBzcGVjaWZpY2F0aW9u IChzZWN0aW9uIDcuNCkgZGVmaW5lIHRoZSBnZW5lcmFsCj4gc2xpY2Ugc2VnbWVudCBoZWFkZXIg c2VtYW50aWNzLgo+IE1vZGlmaWVkL2FkZGVkIGZpZWxkcyBhcmU6Cj4gLSB2aWRlb19wYXJhbWV0 ZXJfc2V0X2lkOiAoNy40LjMuMSkgaWRlbnRpZmllcyB0aGUgVlBTIGZvcgo+IHJlZmVyZW5jZSBi eSBvdGhlciBzeW50YXggZWxlbWVudHMuCj4gLSBzZXFfcGFyYW1ldGVyX3NldF9pZDogKDcuNC4z LjIuMSkgc3BlY2lmaWVzIHRoZSB2YWx1ZSBvZgo+IHRoZSB2cHNfdmlkZW9fcGFyYW1ldGVyX3Nl dF9pZCBvZiB0aGUgYWN0aXZlIFZQUy4KPiAtIGNocm9tYV9mb3JtYXRfaWRjOiAoNy40LjMuMi4x KSBzcGVjaWZpZXMgdGhlIGNocm9tYSBzYW1wbGluZwo+ICByZWxhdGl2ZSB0byB0aGUgbHVtYSBz YW1wbGluZwo+IC0gcGljX3BhcmFtZXRlcl9zZXRfaWQ6ICg3LjQuMy4zLjEpIGlkZW50aWZpZXMg dGhlIFBQUyBmb3IKPiByZWZlcmVuY2UgYnkgb3RoZXIgc3ludGF4IGVsZW1lbnRzCj4gLSBudW1f cmVmX2lkeF9sMF9kZWZhdWx0X2FjdGl2ZV9taW51czE6ICg3LjQuMy4zLjEpIHNwZWNpZmllcwo+ IHRoZSBpbmZlcnJlZCB2YWx1ZSBvZiBudW1fcmVmX2lkeF9sMF9hY3RpdmVfbWludXMxCj4gLSBu dW1fcmVmX2lkeF9sMV9kZWZhdWx0X2FjdGl2ZV9taW51czE6ICg3LjQuMy4zLjEpIHNwZWNpZmll cwo+IHRoZSBpbmZlcnJlZCB2YWx1ZSBvZiBudW1fcmVmX2lkeF9sMV9hY3RpdmVfbWludXMxCj4g LSBzbGljZV9zZWdtZW50X2FkZHI6ICg3LjQuNy4xKSBzcGVjaWZpZXMgdGhlIGFkZHJlc3Mgb2YK PiB0aGUgZmlyc3QgY29kaW5nIHRyZWUgYmxvY2sgaW4gdGhlIHNsaWNlIHNlZ21lbnQKPiAtIG51 bV9lbnRyeV9wb2ludF9vZmZzZXRzOiAoNy40LjcuMSkgc3BlY2lmaWVzIHRoZSBudW1iZXIgb2YK PiBlbnRyeV9wb2ludF9vZmZzZXRfbWludXMxWyBpIF0gc3ludGF4IGVsZW1lbnRzIGluIHRoZSBz bGljZSBoZWFkZXIKPiAKPiBBZGQgSEVWQyBkZWNvZGUgcGFyYW1zIGNvbnRhaW5zIHRoZSBpbmZv cm1hdGlvbiB1c2VkIGluIHNlY3Rpb24KPiAiOC4zIFNsaWNlIGRlY29kaW5nIHByb2Nlc3MiIG9m IHRoZSBzcGVjaWZpY2F0aW9uIHRvIGxldCB0aGUgaGFyZHdhcmUKPiBwZXJmb3JtIGRlY29kaW5n IG9mIGEgc2xpY2VzLgo+IAo+IEFkYXB0IENlZHJ1cyBkcml2ZXIgYWNjb3JkaW5nIHRvIHRoZXNl IGNoYW5nZXMuCj4gCj4gU2lnbmVkLW9mZi1ieTogQmVuamFtaW4gR2FpZ25hcmQgPGJlbmphbWlu LmdhaWduYXJkQGNvbGxhYm9yYS5jb20+Cj4gLS0tCj4gdmVyc2lvbiAyOgo+IC0gcmVtb3ZlIGFs bCBjaGFuZ2UgcmVsYXRlZCB0byBzY2FsaW5nCj4gLSBzcXVhc2ggY29tbWl0cyB0byBhIGNvaGVy ZW50IHNwbGl0Cj4gLSBiZSBtb3JlIHZlcmJvc2UgYWJvdXQgdGhlIGFkZGVkIGZpZWxkcwo+IAo+ ICBkcml2ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMgICAgICAgICAgfCAyNiArKysr KysrKy0tLQo+ICBkcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5jICAg fCAgNiArKysKPiAgZHJpdmVycy9zdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXMuaCAg IHwgIDEgKwo+ICAuLi4vc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2RlYy5jICAg fCAgMiArCj4gIC4uLi9zdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jICB8 ICA2ICsrLQo+ICBpbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaCAgICAgICAgICAgICAgICAgICAg fCA0NSArKysrKysrKysrKysrKystLS0tCj4gIDYgZmlsZXMgY2hhbmdlZCwgNjkgaW5zZXJ0aW9u cygrKSwgMTcgZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbWVkaWEvdjRs Mi1jb3JlL3Y0bDItY3RybHMuYyBiL2RyaXZlcnMvbWVkaWEvdjRsMi1jb3JlLwp2NGwyLWN0cmxz LmMKPiBpbmRleCAwMTZjZjYyMDRjYmIuLjQwNjBiNWJjYzNjMCAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL21lZGlhL3Y0bDItY29yZS92NGwyLWN0cmxzLmMKPiArKysgYi9kcml2ZXJzL21lZGlhL3Y0 bDItY29yZS92NGwyLWN0cmxzLmMKPiBAQCAtMTAyOCw2ICsxMDI4LDcgQEAgY29uc3QgY2hhciAq djRsMl9jdHJsX2dldF9uYW1lKHUzMiBpZCkKPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19I RVZDX1NQUzoJCQkKcmV0dXJuICJIRVZDIFNlcXVlbmNlIFBhcmFtZXRlciBTZXQiOwo+ICAJY2Fz ZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfUFBTOgkJCQpyZXR1cm4gIkhFVkMgUGljdHVyZSBQ YXJhbWV0ZXIgU2V0IjsKPiAgCWNhc2UgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NMSUNFX1BB UkFNUzoJCXJldHVybiAKIkhFVkMgU2xpY2UgUGFyYW1ldGVycyI7Cj4gKwljYXNlIFY0TDJfQ0lE X01QRUdfVklERU9fSEVWQ19ERUNPREVfUEFSQU1TOgkJCnJldHVybiAiSEVWQyBEZWNvZGUgUGFy YW1ldGVycyI7Cj4gIAljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19ERUNPREVfTU9ERToJ CXJldHVybiAiSEVWQyAKRGVjb2RlIE1vZGUiOwo+ICAJY2FzZSBWNEwyX0NJRF9NUEVHX1ZJREVP X0hFVkNfU1RBUlRfQ09ERToJCXJldHVybiAKIkhFVkMgU3RhcnQgQ29kZSI7Cj4gIAo+IEBAIC0x NDgyLDYgKzE0ODMsOSBAQCB2b2lkIHY0bDJfY3RybF9maWxsKHUzMiBpZCwgY29uc3QgY2hhciAq Km5hbWUsIGVudW0gCnY0bDJfY3RybF90eXBlICp0eXBlLAo+ICAJY2FzZSBWNEwyX0NJRF9NUEVH X1ZJREVPX0hFVkNfU0xJQ0VfUEFSQU1TOgo+ICAJCSp0eXBlID0gVjRMMl9DVFJMX1RZUEVfSEVW Q19TTElDRV9QQVJBTVM7Cj4gIAkJYnJlYWs7Cj4gKwljYXNlIFY0TDJfQ0lEX01QRUdfVklERU9f SEVWQ19ERUNPREVfUEFSQU1TOgo+ICsJCSp0eXBlID0gVjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNP REVfUEFSQU1TOwo+ICsJCWJyZWFrOwo+ICAJY2FzZSBWNEwyX0NJRF9VTklUX0NFTExfU0laRToK PiAgCQkqdHlwZSA9IFY0TDJfQ1RSTF9UWVBFX0FSRUE7Cj4gIAkJKmZsYWdzIHw9IFY0TDJfQ1RS TF9GTEFHX1JFQURfT05MWTsKPiBAQCAtMTgzMyw2ICsxODM3LDcgQEAgc3RhdGljIGludCBzdGRf dmFsaWRhdGVfY29tcG91bmQoY29uc3Qgc3RydWN0IAp2NGwyX2N0cmwgKmN0cmwsIHUzMiBpZHgs Cj4gIAlzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzICpwX2hldmNfc3BzOwo+ICAJc3RydWN0IHY0 bDJfY3RybF9oZXZjX3BwcyAqcF9oZXZjX3BwczsKPiAgCXN0cnVjdCB2NGwyX2N0cmxfaGV2Y19z bGljZV9wYXJhbXMgKnBfaGV2Y19zbGljZV9wYXJhbXM7Cj4gKwlzdHJ1Y3QgdjRsMl9jdHJsX2hl dmNfZGVjb2RlX3BhcmFtcyAqcF9oZXZjX2RlY29kZV9wYXJhbXM7Cj4gIAlzdHJ1Y3QgdjRsMl9h cmVhICphcmVhOwo+ICAJdm9pZCAqcCA9IHB0ci5wICsgaWR4ICogY3RybC0+ZWxlbV9zaXplOwo+ ICAJdW5zaWduZWQgaW50IGk7Cj4gQEAgLTIxMDgsMjMgKzIxMTMsMjcgQEAgc3RhdGljIGludCBz dGRfdmFsaWRhdGVfY29tcG91bmQoY29uc3Qgc3RydWN0IAp2NGwyX2N0cmwgKmN0cmwsIHUzMiBp ZHgsCj4gIAkJemVyb19wYWRkaW5nKCpwX2hldmNfcHBzKTsKPiAgCQlicmVhazsKPiAgCj4gLQlj YXNlIFY0TDJfQ1RSTF9UWVBFX0hFVkNfU0xJQ0VfUEFSQU1TOgo+IC0JCXBfaGV2Y19zbGljZV9w YXJhbXMgPSBwOwo+ICsJY2FzZSBWNEwyX0NUUkxfVFlQRV9IRVZDX0RFQ09ERV9QQVJBTVM6Cj4g KwkJcF9oZXZjX2RlY29kZV9wYXJhbXMgPSBwOwo+ICAKPiAtCQlpZiAocF9oZXZjX3NsaWNlX3Bh cmFtcy0+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyA+Cj4gKwkJaWYgKHBfaGV2Y19kZWNvZGVfcGFy YW1zLT5udW1fYWN0aXZlX2RwYl9lbnRyaWVzID4KPiAgCQkgICAgVjRMMl9IRVZDX0RQQl9FTlRS SUVTX05VTV9NQVgpCj4gIAkJCXJldHVybiAtRUlOVkFMOwo+ICAKPiAtCQl6ZXJvX3BhZGRpbmco cF9oZXZjX3NsaWNlX3BhcmFtcy0+cHJlZF93ZWlnaHRfdGFibGUpOwo+IC0KPiAtCQlmb3IgKGkg PSAwOyBpIDwgcF9oZXZjX3NsaWNlX3BhcmFtcy0KPm51bV9hY3RpdmVfZHBiX2VudHJpZXM7Cj4g KwkJZm9yIChpID0gMDsgaSA8IHBfaGV2Y19kZWNvZGVfcGFyYW1zLQo+bnVtX2FjdGl2ZV9kcGJf ZW50cmllczsKPiAgCQkgICAgIGkrKykgewo+ICAJCQlzdHJ1Y3QgdjRsMl9oZXZjX2RwYl9lbnRy eSAqZHBiX2VudHJ5ID0KPiAtCQkJCSZwX2hldmNfc2xpY2VfcGFyYW1zLT5kcGJbaV07Cj4gKwkJ CQkmcF9oZXZjX2RlY29kZV9wYXJhbXMtPmRwYltpXTsKPiAgCj4gIAkJCXplcm9fcGFkZGluZygq ZHBiX2VudHJ5KTsKPiAgCQl9Cj4gIAo+ICsJCWJyZWFrOwo+ICsKPiArCWNhc2UgVjRMMl9DVFJM X1RZUEVfSEVWQ19TTElDRV9QQVJBTVM6Cj4gKwkJcF9oZXZjX3NsaWNlX3BhcmFtcyA9IHA7Cj4g Kwo+ICsJCXplcm9fcGFkZGluZyhwX2hldmNfc2xpY2VfcGFyYW1zLT5wcmVkX3dlaWdodF90YWJs ZSk7Cj4gIAkJemVyb19wYWRkaW5nKCpwX2hldmNfc2xpY2VfcGFyYW1zKTsKPiAgCQlicmVhazsK PiAgCj4gQEAgLTI4MjEsNiArMjgzMCw5IEBAIHN0YXRpYyBzdHJ1Y3QgdjRsMl9jdHJsICp2NGwy X2N0cmxfbmV3KHN0cnVjdCAKdjRsMl9jdHJsX2hhbmRsZXIgKmhkbCwKPiAgCWNhc2UgVjRMMl9D VFJMX1RZUEVfSEVWQ19TTElDRV9QQVJBTVM6Cj4gIAkJZWxlbV9zaXplID0gc2l6ZW9mKHN0cnVj dCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJhbXMpOwo+ICAJCWJyZWFrOwo+ICsJY2FzZSBWNEwy X0NUUkxfVFlQRV9IRVZDX0RFQ09ERV9QQVJBTVM6Cj4gKwkJZWxlbV9zaXplID0gc2l6ZW9mKHN0 cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zKTsKPiArCQlicmVhazsKPiAgCWNhc2Ug VjRMMl9DVFJMX1RZUEVfQVJFQToKPiAgCQllbGVtX3NpemUgPSBzaXplb2Yoc3RydWN0IHY0bDJf YXJlYSk7Cj4gIAkJYnJlYWs7Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9z dW54aS9jZWRydXMvY2VkcnVzLmMgYi9kcml2ZXJzL3N0YWdpbmcvCm1lZGlhL3N1bnhpL2NlZHJ1 cy9jZWRydXMuYwo+IGluZGV4IDdiZDkyOTFjOGQ1Zi4uNGNkM2NhYjFhMjU3IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmMKPiArKysgYi9k cml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5jCj4gQEAgLTE1MSw2ICsx NTEsMTIgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjZWRydXNfY29udHJvbCBjZWRydXNfY29udHJv bHNbXSA9IAp7Cj4gIAkJfSwKPiAgCQkuY29kZWMJCT0gQ0VEUlVTX0NPREVDX1ZQOCwKPiAgCX0s Cj4gKwl7Cj4gKwkJLmNmZyA9IHsKPiArCQkJLmlkID0gVjRMMl9DSURfTVBFR19WSURFT19IRVZD X0RFQ09ERV9QQVJBTVMsCj4gKwkJfSwKPiArCQkuY29kZWMJCT0gQ0VEUlVTX0NPREVDX0gyNjUs Cj4gKwl9LAo+ICB9Owo+ICAKPiAgI2RlZmluZSBDRURSVVNfQ09OVFJPTFNfQ09VTlQJQVJSQVlf U0laRShjZWRydXNfY29udHJvbHMpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvc3RhZ2luZy9tZWRp YS9zdW54aS9jZWRydXMvY2VkcnVzLmggYi9kcml2ZXJzL3N0YWdpbmcvCm1lZGlhL3N1bnhpL2Nl ZHJ1cy9jZWRydXMuaAo+IGluZGV4IDI1MWE2YTY2MDM1MS4uMmNhMzNhYzM4YjlhIDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvc3RhZ2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzLmgKPiArKysg Yi9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1cy5oCj4gQEAgLTc2LDYg Kzc2LDcgQEAgc3RydWN0IGNlZHJ1c19oMjY1X3J1biB7Cj4gIAljb25zdCBzdHJ1Y3QgdjRsMl9j dHJsX2hldmNfc3BzCQkJKnNwczsKPiAgCWNvbnN0IHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19wcHMJ CQkqcHBzOwo+ICAJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NsaWNlX3BhcmFtcwkqc2xp Y2VfcGFyYW1zOwo+ICsJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX2RlY29kZV9wYXJhbXMJ KmRlY29kZV9wYXJhbXM7Cj4gIH07Cj4gIAo+ICBzdHJ1Y3QgY2VkcnVzX3ZwOF9ydW4gewo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMu YyBiL2RyaXZlcnMvCnN0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19kZWMuYwo+IGlu ZGV4IGE5MDkwZGFmNjI2YS4uY2Q4MjFmNDE3YTE0IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvc3Rh Z2luZy9tZWRpYS9zdW54aS9jZWRydXMvY2VkcnVzX2RlYy5jCj4gKysrIGIvZHJpdmVycy9zdGFn aW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfZGVjLmMKPiBAQCAtNjgsNiArNjgsOCBAQCB2 b2lkIGNlZHJ1c19kZXZpY2VfcnVuKHZvaWQgKnByaXYpCj4gIAkJCVY0TDJfQ0lEX01QRUdfVklE RU9fSEVWQ19QUFMpOwo+ICAJCXJ1bi5oMjY1LnNsaWNlX3BhcmFtcyA9IGNlZHJ1c19maW5kX2Nv bnRyb2xfZGF0YShjdHgsCj4gIAkJCVY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19TTElDRV9QQVJB TVMpOwo+ICsJCXJ1bi5oMjY1LmRlY29kZV9wYXJhbXMgPSBjZWRydXNfZmluZF9jb250cm9sX2Rh dGEoY3R4LAo+ICsJCQlWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUyk7Cj4g IAkJYnJlYWs7Cj4gIAo+ICAJY2FzZSBWNEwyX1BJWF9GTVRfVlA4X0ZSQU1FOgo+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL3N0YWdpbmcvbWVkaWEvc3VueGkvY2VkcnVzL2NlZHJ1c19oMjY1LmMgYi9k cml2ZXJzLwpzdGFnaW5nL21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gaW5kZXgg Y2U0OTdkMDE5N2RmLi5kY2U1ZGI2YmUxM2EgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9zdGFnaW5n L21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gKysrIGIvZHJpdmVycy9zdGFnaW5n L21lZGlhL3N1bnhpL2NlZHJ1cy9jZWRydXNfaDI2NS5jCj4gQEAgLTI0NSw2ICsyNDUsNyBAQCBz dGF0aWMgdm9pZCBjZWRydXNfaDI2NV9zZXR1cChzdHJ1Y3QgY2VkcnVzX2N0eCAqY3R4LAo+ICAJ Y29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3NwcyAqc3BzOwo+ICAJY29uc3Qgc3RydWN0IHY0 bDJfY3RybF9oZXZjX3BwcyAqcHBzOwo+ICAJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZjX3Ns aWNlX3BhcmFtcyAqc2xpY2VfcGFyYW1zOwo+ICsJY29uc3Qgc3RydWN0IHY0bDJfY3RybF9oZXZj X2RlY29kZV9wYXJhbXMgKmRlY29kZV9wYXJhbXM7Cj4gIAljb25zdCBzdHJ1Y3QgdjRsMl9oZXZj X3ByZWRfd2VpZ2h0X3RhYmxlICpwcmVkX3dlaWdodF90YWJsZTsKPiAgCWRtYV9hZGRyX3Qgc3Jj X2J1Zl9hZGRyOwo+ICAJZG1hX2FkZHJfdCBzcmNfYnVmX2VuZF9hZGRyOwo+IEBAIC0yNTYsNiAr MjU3LDcgQEAgc3RhdGljIHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHgg KmN0eCwKPiAgCXNwcyA9IHJ1bi0+aDI2NS5zcHM7Cj4gIAlwcHMgPSBydW4tPmgyNjUucHBzOwo+ ICAJc2xpY2VfcGFyYW1zID0gcnVuLT5oMjY1LnNsaWNlX3BhcmFtczsKPiArCWRlY29kZV9wYXJh bXMgPSBydW4tPmgyNjUuZGVjb2RlX3BhcmFtczsKPiAgCXByZWRfd2VpZ2h0X3RhYmxlID0gJnNs aWNlX3BhcmFtcy0+cHJlZF93ZWlnaHRfdGFibGU7Cj4gIAo+ICAJLyogTVYgY29sdW1uIGJ1ZmZl ciBzaXplIGFuZCBhbGxvY2F0aW9uLiAqLwo+IEBAIC00ODcsNyArNDg5LDcgQEAgc3RhdGljIHZv aWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHggKmN0eCwKPiAgCj4gIAlyZWcg PSAKVkVfREVDX0gyNjVfREVDX1NMSUNFX0hEUl9JTkZPMV9TTElDRV9UQ19PRkZTRVRfRElWMihz bGljZV9wYXJhbXMtCj5zbGljZV90Y19vZmZzZXRfZGl2MikgfAo+ICAJICAgICAgClZFX0RFQ19I MjY1X0RFQ19TTElDRV9IRFJfSU5GTzFfU0xJQ0VfQkVUQV9PRkZTRVRfRElWMihzbGljZV9wYXJh bXMtCj5zbGljZV9iZXRhX29mZnNldF9kaXYyKSB8Cj4gLQkgICAgICAKVkVfREVDX0gyNjVfREVD X1NMSUNFX0hEUl9JTkZPMV9TTElDRV9QT0NfQklHRVNUX0lOX1JQU19TVChzbGljZV9wYXJhbXMt Cj5udW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyID09IDApIHwKPiArCSAgICAgIApWRV9ERUNfSDI2 NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX1BPQ19CSUdFU1RfSU5fUlBTX1NUKGRlY29kZV9w YXJhbXMtCj5udW1fcnBzX3BvY19zdF9jdXJyX2FmdGVyID09IDApIHwKPiAgCSAgICAgIApWRV9E RUNfSDI2NV9ERUNfU0xJQ0VfSERSX0lORk8xX1NMSUNFX0NSX1FQX09GRlNFVChzbGljZV9wYXJh bXMtCj5zbGljZV9jcl9xcF9vZmZzZXQpIHwKPiAgCSAgICAgIApWRV9ERUNfSDI2NV9ERUNfU0xJ Q0VfSERSX0lORk8xX1NMSUNFX0NCX1FQX09GRlNFVChzbGljZV9wYXJhbXMtCj5zbGljZV9jYl9x cF9vZmZzZXQpIHwKPiAgCSAgICAgIFZFX0RFQ19IMjY1X0RFQ19TTElDRV9IRFJfSU5GTzFfU0xJ Q0VfUVBfREVMVEEoc2xpY2VfcGFyYW1zLQo+c2xpY2VfcXBfZGVsdGEpOwo+IEBAIC01MjgsNyAr NTMwLDcgQEAgc3RhdGljIHZvaWQgY2VkcnVzX2gyNjVfc2V0dXAoc3RydWN0IGNlZHJ1c19jdHgg KmN0eCwKPiAgCj4gIAkvKiBXcml0ZSBkZWNvZGVkIHBpY3R1cmUgYnVmZmVyIGluIHBpYyBsaXN0 LiAqLwo+ICAJY2VkcnVzX2gyNjVfZnJhbWVfaW5mb193cml0ZV9kcGIoY3R4LCBzbGljZV9wYXJh bXMtPmRwYiwKPiAtCQkJCQkgc2xpY2VfcGFyYW1zLQo+bnVtX2FjdGl2ZV9kcGJfZW50cmllcyk7 Cj4gKwkJCQkJIGRlY29kZV9wYXJhbXMtCj5udW1fYWN0aXZlX2RwYl9lbnRyaWVzKTsKPiAgCj4g IAkvKiBPdXRwdXQgZnJhbWUuICovCj4gIAo+IGRpZmYgLS1naXQgYS9pbmNsdWRlL21lZGlhL2hl dmMtY3RybHMuaCBiL2luY2x1ZGUvbWVkaWEvaGV2Yy1jdHJscy5oCj4gaW5kZXggYjRjYjJlZjAy ZjE3Li43ZmU3MDRhMDhmNzcgMTAwNjQ0Cj4gLS0tIGEvaW5jbHVkZS9tZWRpYS9oZXZjLWN0cmxz LmgKPiArKysgYi9pbmNsdWRlL21lZGlhL2hldmMtY3RybHMuaAo+IEBAIC0xOSw2ICsxOSw3IEBA Cj4gICNkZWZpbmUgVjRMMl9DSURfTVBFR19WSURFT19IRVZDX1NQUwkJKFY0TDJfQ0lEX0NPREVD X0JBU0UgKyAKMTAwOCkKPiAgI2RlZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfUFBTCQko VjRMMl9DSURfQ09ERUNfQkFTRSArIAoxMDA5KQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklE RU9fSEVWQ19TTElDRV9QQVJBTVMJKFY0TDJfQ0lEX0NPREVDX0JBU0UgKyAKMTAxMCkKPiArI2Rl ZmluZSBWNEwyX0NJRF9NUEVHX1ZJREVPX0hFVkNfREVDT0RFX1BBUkFNUwkoVjRMMl9DSURfQ09E RUNfQkFTRSArIAoxMDEyKQo+ICAjZGVmaW5lIFY0TDJfQ0lEX01QRUdfVklERU9fSEVWQ19ERUNP REVfTU9ERQkoVjRMMl9DSURfQ09ERUNfQkFTRSArIAoxMDE1KQo+ICAjZGVmaW5lIFY0TDJfQ0lE X01QRUdfVklERU9fSEVWQ19TVEFSVF9DT0RFCShWNEwyX0NJRF9DT0RFQ19CQVNFICsgCjEwMTYp Cj4gIAo+IEBAIC0yNiw2ICsyNyw3IEBACj4gICNkZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19T UFMgMHgwMTIwCj4gICNkZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19QUFMgMHgwMTIxCj4gICNk ZWZpbmUgVjRMMl9DVFJMX1RZUEVfSEVWQ19TTElDRV9QQVJBTVMgMHgwMTIyCj4gKyNkZWZpbmUg VjRMMl9DVFJMX1RZUEVfSEVWQ19ERUNPREVfUEFSQU1TIDB4MDEyNAo+ICAKPiAgZW51bSB2NGwy X21wZWdfdmlkZW9faGV2Y19kZWNvZGVfbW9kZSB7Cj4gIAlWNEwyX01QRUdfVklERU9fSEVWQ19E RUNPREVfTU9ERV9TTElDRV9CQVNFRCwKPiBAQCAtNTQsNiArNTYsOSBAQCBlbnVtIHY0bDJfbXBl Z192aWRlb19oZXZjX3N0YXJ0X2NvZGUgewo+ICAvKiBUaGUgY29udHJvbHMgYXJlIG5vdCBzdGFi bGUgYXQgdGhlIG1vbWVudCBhbmQgd2lsbCBsaWtlbHkgYmUgcmV3b3JrZWQuIAoqLwo+ICBzdHJ1 Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVj LiBILjI2NTogU2VxdWVuY2UgcGFyYW1ldGVyIHNldCAqLwo+ICsJX191OAl2aWRlb19wYXJhbWV0 ZXJfc2V0X2lkOwo+ICsJX191OAlzZXFfcGFyYW1ldGVyX3NldF9pZDsKPiArCV9fdTgJY2hyb21h X2Zvcm1hdF9pZGM7Cj4gIAlfX3UxNglwaWNfd2lkdGhfaW5fbHVtYV9zYW1wbGVzOwo+ICAJX191 MTYJcGljX2hlaWdodF9pbl9sdW1hX3NhbXBsZXM7Cj4gIAlfX3U4CWJpdF9kZXB0aF9sdW1hX21p bnVzODsKPiBAQCAtNzQsOSArNzksOSBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfc3BzIHsKPiAg CV9fdTgJbG9nMl9kaWZmX21heF9taW5fcGNtX2x1bWFfY29kaW5nX2Jsb2NrX3NpemU7Cj4gIAlf X3U4CW51bV9zaG9ydF90ZXJtX3JlZl9waWNfc2V0czsKPiAgCV9fdTgJbnVtX2xvbmdfdGVybV9y ZWZfcGljc19zcHM7Cj4gLQlfX3U4CWNocm9tYV9mb3JtYXRfaWRjOwo+ICAKPiAtCV9fdTgJcGFk ZGluZzsKPiArCV9fdTgJbnVtX3NsaWNlczsKPiArCV9fdTgJcGFkZGluZ1s2XTsKPiAgCj4gIAlf X3U2NAlmbGFnczsKPiAgfTsKPiBAQCAtMTAwLDEwICsxMDUsMTUgQEAgc3RydWN0IHY0bDJfY3Ry bF9oZXZjX3NwcyB7Cj4gICNkZWZpbmUgVjRMMl9IRVZDX1BQU19GTEFHX1BQU19ESVNBQkxFX0RF QkxPQ0tJTkdfRklMVEVSCSgxVUxMIDw8IDE2KQo+ICAjZGVmaW5lIFY0TDJfSEVWQ19QUFNfRkxB R19MSVNUU19NT0RJRklDQVRJT05fUFJFU0VOVAkJKDFVTEwgPDwgMTcpCj4gICNkZWZpbmUgVjRM Ml9IRVZDX1BQU19GTEFHX1NMSUNFX1NFR01FTlRfSEVBREVSX0VYVEVOU0lPTl9QUkVTRU5UICgx VUxMIDw8IAoxOCkKPiArI2RlZmluZSBWNEwyX0hFVkNfUFBTX0ZMQUdfREVCTE9DS0lOR19GSUxU RVJfQ09OVFJPTF9QUkVTRU5UCSgxVUxMIDw8IDE5KQo+ICsjZGVmaW5lIFY0TDJfSEVWQ19QUFNf RkxBR19VTklGT1JNX1NQQUNJTkcJCQkKKDFVTEwgPDwgMjApCj4gIAo+ICBzdHJ1Y3QgdjRsMl9j dHJsX2hldmNfcHBzIHsKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTog UGljdHVyZSBwYXJhbWV0ZXIgc2V0ICovCj4gKwlfX3U4CXBpY19wYXJhbWV0ZXJfc2V0X2lkOwo+ ICAJX191OAludW1fZXh0cmFfc2xpY2VfaGVhZGVyX2JpdHM7Cj4gKwlfX3U4CW51bV9yZWZfaWR4 X2wwX2RlZmF1bHRfYWN0aXZlX21pbnVzMTsKPiArCV9fdTgJbnVtX3JlZl9pZHhfbDFfZGVmYXVs dF9hY3RpdmVfbWludXMxOwo+ICAJX19zOAlpbml0X3FwX21pbnVzMjY7Cj4gIAlfX3U4CWRpZmZf Y3VfcXBfZGVsdGFfZGVwdGg7Cj4gIAlfX3M4CXBwc19jYl9xcF9vZmZzZXQ7Cj4gQEAgLTExNiw3 ICsxMjYsNyBAQCBzdHJ1Y3QgdjRsMl9jdHJsX2hldmNfcHBzIHsKPiAgCV9fczgJcHBzX3RjX29m ZnNldF9kaXYyOwo+ICAJX191OAlsb2cyX3BhcmFsbGVsX21lcmdlX2xldmVsX21pbnVzMjsKPiAg Cj4gLQlfX3U4CXBhZGRpbmdbNF07Cj4gKwlfX3U4CXBhZGRpbmc7Cj4gIAlfX3U2NAlmbGFnczsK PiAgfTsKPiAgCj4gQEAgLTE2NSw2ICsxNzUsMTAgQEAgc3RydWN0IHY0bDJfY3RybF9oZXZjX3Ns aWNlX3BhcmFtcyB7Cj4gIAlfX3UzMgliaXRfc2l6ZTsKPiAgCV9fdTMyCWRhdGFfYml0X29mZnNl dDsKPiAgCj4gKwkvKiBJU08vSUVDIDIzMDA4LTIsIElUVS1UIFJlYy4gSC4yNjU6IEdlbmVyYWwg c2xpY2Ugc2VnbWVudCBoZWFkZXIgCiovCj4gKwlfX3UzMglzbGljZV9zZWdtZW50X2FkZHI7Cj4g KwlfX3UzMgludW1fZW50cnlfcG9pbnRfb2Zmc2V0czsKPiArCj4gIAkvKiBJU08vSUVDIDIzMDA4 LTIsIElUVS1UIFJlYy4gSC4yNjU6IE5BTCB1bml0IGhlYWRlciAqLwo+ICAJX191OAluYWxfdW5p dF90eXBlOwo+ICAJX191OAludWhfdGVtcG9yYWxfaWRfcGx1czE7Cj4gQEAgLTE5MCwxNSArMjA0 LDEzIEBAIHN0cnVjdCB2NGwyX2N0cmxfaGV2Y19zbGljZV9wYXJhbXMgewo+ICAJX191OAlwaWNf c3RydWN0Owo+ICAKPiAgCS8qIElTTy9JRUMgMjMwMDgtMiwgSVRVLVQgUmVjLiBILjI2NTogR2Vu ZXJhbCBzbGljZSBzZWdtZW50IGhlYWRlciAKKi8KPiAtCV9fdTgJbnVtX2FjdGl2ZV9kcGJfZW50 cmllczsKPiAgCV9fdTgJcmVmX2lkeF9sMFtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07 Cj4gIAlfX3U4CXJlZl9pZHhfbDFbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ICAK PiAtCV9fdTgJbnVtX3Jwc19wb2Nfc3RfY3Vycl9iZWZvcmU7Cj4gLQlfX3U4CW51bV9ycHNfcG9j X3N0X2N1cnJfYWZ0ZXI7Cj4gLQlfX3U4CW51bV9ycHNfcG9jX2x0X2N1cnI7Cj4gKwlfX3UxNglz aG9ydF90ZXJtX3JlZl9waWNfc2V0X3NpemU7Cj4gKwlfX3UxNglsb25nX3Rlcm1fcmVmX3BpY19z ZXRfc2l6ZTsKPiAgCj4gLQlfX3U4CXBhZGRpbmc7Cj4gKwlfX3U4CXBhZGRpbmdbNV07Cj4gIAo+ ICAJLyogSVNPL0lFQyAyMzAwOC0yLCBJVFUtVCBSZWMuIEguMjY1OiBHZW5lcmFsIHNsaWNlIHNl Z21lbnQgaGVhZGVyIAoqLwo+ICAJc3RydWN0IHY0bDJfaGV2Y19kcGJfZW50cnkgZHBiW1Y0TDJf SEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPiBAQCAtMjA5LDQgKzIyMSwyMSBAQCBzdHJ1Y3Qg djRsMl9jdHJsX2hldmNfc2xpY2VfcGFyYW1zIHsKPiAgCV9fdTY0CWZsYWdzOwo+ICB9Owo+ICAK PiArI2RlZmluZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfSVJBUF9QSUMJCTB4MQo+ICsj ZGVmaW5lIFY0TDJfSEVWQ19ERUNPREVfUEFSQU1fRkxBR19JRFJfUElDCQkweDIKPiArI2RlZmlu ZSBWNEwyX0hFVkNfREVDT0RFX1BBUkFNX0ZMQUdfTk9fT1VUUFVUX09GX1BSSU9SICAweDQKPiAr Cj4gK3N0cnVjdCB2NGwyX2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zIHsKPiArCV9fczMyCXBpY19v cmRlcl9jbnRfdmFsOwo+ICsJX191OAludW1fYWN0aXZlX2RwYl9lbnRyaWVzOwo+ICsJc3RydWN0 CXY0bDJfaGV2Y19kcGJfZW50cnkgZHBiW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsK PiArCV9fdTgJbnVtX3Jwc19wb2Nfc3RfY3Vycl9iZWZvcmU7Cj4gKwlfX3U4CW51bV9ycHNfcG9j X3N0X2N1cnJfYWZ0ZXI7Cj4gKwlfX3U4CW51bV9ycHNfcG9jX2x0X2N1cnI7Cj4gKwlfX3U4CXJw c19zdF9jdXJyX2JlZm9yZVtWNEwyX0hFVkNfRFBCX0VOVFJJRVNfTlVNX01BWF07Cj4gKwlfX3U4 CXJwc19zdF9jdXJyX2FmdGVyW1Y0TDJfSEVWQ19EUEJfRU5UUklFU19OVU1fTUFYXTsKPiArCV9f dTgJcnBzX2x0X2N1cnJbVjRMMl9IRVZDX0RQQl9FTlRSSUVTX05VTV9NQVhdOwo+ICsJX191NjQJ ZmxhZ3M7Cj4gK307CgpDdXJyZW50IHByYWN0aWNlIGlzIHRvIGFsc28gYWRkL3VwZGF0ZSBjb250 cm9scyBkb2N1bWVudGF0aW9uIGluIApEb2N1bWVudGF0aW9uL3VzZXJzcGFjZS1hcGkvbWVkaWEv djRsLwoKV2l0aCB5b3VyIGNoYW5nZXMsIHY0bDJfY3RybF9oZXZjX3BwcyBhbmQgdjRsMl9jdHJs X2hldmNfc2xpY2VfcGFyYW1zIApkZXNjcmlwdGlvbnMgYXJlIG91dCBvZiBzeW5jIGFuZCB2NGwy X2N0cmxfaGV2Y19kZWNvZGVfcGFyYW1zIGRlc2NyaXB0aW9uIGlzIApjb21wbGV0ZWx5IG1pc3Np bmcuCgpCZXN0IHJlZ2FyZHMsCkplcm5lagoKPiArCj4gICNlbmRpZgo+IC0tIAo+IDIuMjUuMQo+ IAo+IAoKCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwps aW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJh ZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51 eC1hcm0ta2VybmVsCg== 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 X-Spam-Level: X-Spam-Status: No, score=-13.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E1CF5C433E0 for ; Thu, 18 Feb 2021 21:44:08 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 835EB64EAE for ; Thu, 18 Feb 2021 21:44:08 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229577AbhBRVoH convert rfc822-to-8bit (ORCPT ); Thu, 18 Feb 2021 16:44:07 -0500 Received: from mailoutvs35.siol.net ([185.57.226.226]:37566 "EHLO mail.siol.net" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S229480AbhBRVoG (ORCPT ); Thu, 18 Feb 2021 16:44:06 -0500 X-Greylist: delayed 503 seconds by postgrey-1.27 at vger.kernel.org; Thu, 18 Feb 2021 16:44:01 EST Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTP id B310C52269D; Thu, 18 Feb 2021 22:43:19 +0100 (CET) X-Virus-Scanned: amavisd-new at psrvmta09.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta09.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id HnWkJJ_plBwO; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Postfix) with ESMTPS id 019B85226AC; Thu, 18 Feb 2021 22:43:19 +0100 (CET) Received: from kista.localnet (cpe-86-58-17-133.cable.triera.net [86.58.17.133]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Postfix) with ESMTPA id 4DD505226AA; Thu, 18 Feb 2021 22:43:18 +0100 (CET) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: ezequiel@collabora.com, p.zabel@pengutronix.de, mchehab@kernel.org, robh+dt@kernel.org, shawnguo@kernel.org, s.hauer@pengutronix.de, kernel@pengutronix.de, festevam@gmail.com, linux-imx@nxp.com, gregkh@linuxfoundation.org, mripard@kernel.org, paul.kocialkowski@bootlin.com, wens@csie.org, peng.fan@nxp.com, hverkuil-cisco@xs4all.nl, dan.carpenter@oracle.com, Benjamin Gaignard Cc: linux-media@vger.kernel.org, linux-rockchip@lists.infradead.org, devicetree@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, kernel@collabora.com, Benjamin Gaignard Subject: Re: [PATCH v2 1/9] media: hevc: Modify structures to follow H265 ITU spec Date: Thu, 18 Feb 2021 22:43:18 +0100 Message-ID: <12182109.SKTadsSyRz@kista> In-Reply-To: <20210218191844.297869-2-benjamin.gaignard@collabora.com> References: <20210218191844.297869-1-benjamin.gaignard@collabora.com> <20210218191844.297869-2-benjamin.gaignard@collabora.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: devicetree@vger.kernel.org Hi! Dne Ĩetrtek, 18. februar 2021 ob 20:18:36 CET je Benjamin Gaignard napisal(a): > The H.265 ITU specification (section 7.4) define the general > slice segment header semantics. > Modified/added fields are: > - video_parameter_set_id: (7.4.3.1) identifies the VPS for > reference by other syntax elements. > - seq_parameter_set_id: (7.4.3.2.1) specifies the value of > the vps_video_parameter_set_id of the active VPS. > - chroma_format_idc: (7.4.3.2.1) specifies the chroma sampling > relative to the luma sampling > - pic_parameter_set_id: (7.4.3.3.1) identifies the PPS for > reference by other syntax elements > - num_ref_idx_l0_default_active_minus1: (7.4.3.3.1) specifies > the inferred value of num_ref_idx_l0_active_minus1 > - num_ref_idx_l1_default_active_minus1: (7.4.3.3.1) specifies > the inferred value of num_ref_idx_l1_active_minus1 > - slice_segment_addr: (7.4.7.1) specifies the address of > the first coding tree block in the slice segment > - num_entry_point_offsets: (7.4.7.1) specifies the number of > entry_point_offset_minus1[ i ] syntax elements in the slice header > > Add HEVC decode params contains the information used in section > "8.3 Slice decoding process" of the specification to let the hardware > perform decoding of a slices. > > Adapt Cedrus driver according to these changes. > > Signed-off-by: Benjamin Gaignard > --- > version 2: > - remove all change related to scaling > - squash commits to a coherent split > - be more verbose about the added fields > > drivers/media/v4l2-core/v4l2-ctrls.c | 26 ++++++++--- > drivers/staging/media/sunxi/cedrus/cedrus.c | 6 +++ > drivers/staging/media/sunxi/cedrus/cedrus.h | 1 + > .../staging/media/sunxi/cedrus/cedrus_dec.c | 2 + > .../staging/media/sunxi/cedrus/cedrus_h265.c | 6 ++- > include/media/hevc-ctrls.h | 45 +++++++++++++++---- > 6 files changed, 69 insertions(+), 17 deletions(-) > > diff --git a/drivers/media/v4l2-core/v4l2-ctrls.c b/drivers/media/v4l2-core/ v4l2-ctrls.c > index 016cf6204cbb..4060b5bcc3c0 100644 > --- a/drivers/media/v4l2-core/v4l2-ctrls.c > +++ b/drivers/media/v4l2-core/v4l2-ctrls.c > @@ -1028,6 +1028,7 @@ const char *v4l2_ctrl_get_name(u32 id) > case V4L2_CID_MPEG_VIDEO_HEVC_SPS: return "HEVC Sequence Parameter Set"; > case V4L2_CID_MPEG_VIDEO_HEVC_PPS: return "HEVC Picture Parameter Set"; > case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS: return "HEVC Slice Parameters"; > + case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS: return "HEVC Decode Parameters"; > case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE: return "HEVC Decode Mode"; > case V4L2_CID_MPEG_VIDEO_HEVC_START_CODE: return "HEVC Start Code"; > > @@ -1482,6 +1483,9 @@ void v4l2_ctrl_fill(u32 id, const char **name, enum v4l2_ctrl_type *type, > case V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS: > *type = V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS; > break; > + case V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS: > + *type = V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS; > + break; > case V4L2_CID_UNIT_CELL_SIZE: > *type = V4L2_CTRL_TYPE_AREA; > *flags |= V4L2_CTRL_FLAG_READ_ONLY; > @@ -1833,6 +1837,7 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, > struct v4l2_ctrl_hevc_sps *p_hevc_sps; > struct v4l2_ctrl_hevc_pps *p_hevc_pps; > struct v4l2_ctrl_hevc_slice_params *p_hevc_slice_params; > + struct v4l2_ctrl_hevc_decode_params *p_hevc_decode_params; > struct v4l2_area *area; > void *p = ptr.p + idx * ctrl->elem_size; > unsigned int i; > @@ -2108,23 +2113,27 @@ static int std_validate_compound(const struct v4l2_ctrl *ctrl, u32 idx, > zero_padding(*p_hevc_pps); > break; > > - case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: > - p_hevc_slice_params = p; > + case V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS: > + p_hevc_decode_params = p; > > - if (p_hevc_slice_params->num_active_dpb_entries > > + if (p_hevc_decode_params->num_active_dpb_entries > > V4L2_HEVC_DPB_ENTRIES_NUM_MAX) > return -EINVAL; > > - zero_padding(p_hevc_slice_params->pred_weight_table); > - > - for (i = 0; i < p_hevc_slice_params- >num_active_dpb_entries; > + for (i = 0; i < p_hevc_decode_params- >num_active_dpb_entries; > i++) { > struct v4l2_hevc_dpb_entry *dpb_entry = > - &p_hevc_slice_params->dpb[i]; > + &p_hevc_decode_params->dpb[i]; > > zero_padding(*dpb_entry); > } > > + break; > + > + case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: > + p_hevc_slice_params = p; > + > + zero_padding(p_hevc_slice_params->pred_weight_table); > zero_padding(*p_hevc_slice_params); > break; > > @@ -2821,6 +2830,9 @@ static struct v4l2_ctrl *v4l2_ctrl_new(struct v4l2_ctrl_handler *hdl, > case V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS: > elem_size = sizeof(struct v4l2_ctrl_hevc_slice_params); > break; > + case V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS: > + elem_size = sizeof(struct v4l2_ctrl_hevc_decode_params); > + break; > case V4L2_CTRL_TYPE_AREA: > elem_size = sizeof(struct v4l2_area); > break; > diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.c b/drivers/staging/ media/sunxi/cedrus/cedrus.c > index 7bd9291c8d5f..4cd3cab1a257 100644 > --- a/drivers/staging/media/sunxi/cedrus/cedrus.c > +++ b/drivers/staging/media/sunxi/cedrus/cedrus.c > @@ -151,6 +151,12 @@ static const struct cedrus_control cedrus_controls[] = { > }, > .codec = CEDRUS_CODEC_VP8, > }, > + { > + .cfg = { > + .id = V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS, > + }, > + .codec = CEDRUS_CODEC_H265, > + }, > }; > > #define CEDRUS_CONTROLS_COUNT ARRAY_SIZE(cedrus_controls) > diff --git a/drivers/staging/media/sunxi/cedrus/cedrus.h b/drivers/staging/ media/sunxi/cedrus/cedrus.h > index 251a6a660351..2ca33ac38b9a 100644 > --- a/drivers/staging/media/sunxi/cedrus/cedrus.h > +++ b/drivers/staging/media/sunxi/cedrus/cedrus.h > @@ -76,6 +76,7 @@ struct cedrus_h265_run { > const struct v4l2_ctrl_hevc_sps *sps; > const struct v4l2_ctrl_hevc_pps *pps; > const struct v4l2_ctrl_hevc_slice_params *slice_params; > + const struct v4l2_ctrl_hevc_decode_params *decode_params; > }; > > struct cedrus_vp8_run { > diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_dec.c b/drivers/ staging/media/sunxi/cedrus/cedrus_dec.c > index a9090daf626a..cd821f417a14 100644 > --- a/drivers/staging/media/sunxi/cedrus/cedrus_dec.c > +++ b/drivers/staging/media/sunxi/cedrus/cedrus_dec.c > @@ -68,6 +68,8 @@ void cedrus_device_run(void *priv) > V4L2_CID_MPEG_VIDEO_HEVC_PPS); > run.h265.slice_params = cedrus_find_control_data(ctx, > V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS); > + run.h265.decode_params = cedrus_find_control_data(ctx, > + V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS); > break; > > case V4L2_PIX_FMT_VP8_FRAME: > diff --git a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c b/drivers/ staging/media/sunxi/cedrus/cedrus_h265.c > index ce497d0197df..dce5db6be13a 100644 > --- a/drivers/staging/media/sunxi/cedrus/cedrus_h265.c > +++ b/drivers/staging/media/sunxi/cedrus/cedrus_h265.c > @@ -245,6 +245,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, > const struct v4l2_ctrl_hevc_sps *sps; > const struct v4l2_ctrl_hevc_pps *pps; > const struct v4l2_ctrl_hevc_slice_params *slice_params; > + const struct v4l2_ctrl_hevc_decode_params *decode_params; > const struct v4l2_hevc_pred_weight_table *pred_weight_table; > dma_addr_t src_buf_addr; > dma_addr_t src_buf_end_addr; > @@ -256,6 +257,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, > sps = run->h265.sps; > pps = run->h265.pps; > slice_params = run->h265.slice_params; > + decode_params = run->h265.decode_params; > pred_weight_table = &slice_params->pred_weight_table; > > /* MV column buffer size and allocation. */ > @@ -487,7 +489,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, > > reg = VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_TC_OFFSET_DIV2(slice_params- >slice_tc_offset_div2) | > VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_BETA_OFFSET_DIV2(slice_params- >slice_beta_offset_div2) | > - VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_POC_BIGEST_IN_RPS_ST(slice_params- >num_rps_poc_st_curr_after == 0) | > + VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_POC_BIGEST_IN_RPS_ST(decode_params- >num_rps_poc_st_curr_after == 0) | > VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CR_QP_OFFSET(slice_params- >slice_cr_qp_offset) | > VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_CB_QP_OFFSET(slice_params- >slice_cb_qp_offset) | > VE_DEC_H265_DEC_SLICE_HDR_INFO1_SLICE_QP_DELTA(slice_params- >slice_qp_delta); > @@ -528,7 +530,7 @@ static void cedrus_h265_setup(struct cedrus_ctx *ctx, > > /* Write decoded picture buffer in pic list. */ > cedrus_h265_frame_info_write_dpb(ctx, slice_params->dpb, > - slice_params- >num_active_dpb_entries); > + decode_params- >num_active_dpb_entries); > > /* Output frame. */ > > diff --git a/include/media/hevc-ctrls.h b/include/media/hevc-ctrls.h > index b4cb2ef02f17..7fe704a08f77 100644 > --- a/include/media/hevc-ctrls.h > +++ b/include/media/hevc-ctrls.h > @@ -19,6 +19,7 @@ > #define V4L2_CID_MPEG_VIDEO_HEVC_SPS (V4L2_CID_CODEC_BASE + 1008) > #define V4L2_CID_MPEG_VIDEO_HEVC_PPS (V4L2_CID_CODEC_BASE + 1009) > #define V4L2_CID_MPEG_VIDEO_HEVC_SLICE_PARAMS (V4L2_CID_CODEC_BASE + 1010) > +#define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_PARAMS (V4L2_CID_CODEC_BASE + 1012) > #define V4L2_CID_MPEG_VIDEO_HEVC_DECODE_MODE (V4L2_CID_CODEC_BASE + 1015) > #define V4L2_CID_MPEG_VIDEO_HEVC_START_CODE (V4L2_CID_CODEC_BASE + 1016) > > @@ -26,6 +27,7 @@ > #define V4L2_CTRL_TYPE_HEVC_SPS 0x0120 > #define V4L2_CTRL_TYPE_HEVC_PPS 0x0121 > #define V4L2_CTRL_TYPE_HEVC_SLICE_PARAMS 0x0122 > +#define V4L2_CTRL_TYPE_HEVC_DECODE_PARAMS 0x0124 > > enum v4l2_mpeg_video_hevc_decode_mode { > V4L2_MPEG_VIDEO_HEVC_DECODE_MODE_SLICE_BASED, > @@ -54,6 +56,9 @@ enum v4l2_mpeg_video_hevc_start_code { > /* The controls are not stable at the moment and will likely be reworked. */ > struct v4l2_ctrl_hevc_sps { > /* ISO/IEC 23008-2, ITU-T Rec. H.265: Sequence parameter set */ > + __u8 video_parameter_set_id; > + __u8 seq_parameter_set_id; > + __u8 chroma_format_idc; > __u16 pic_width_in_luma_samples; > __u16 pic_height_in_luma_samples; > __u8 bit_depth_luma_minus8; > @@ -74,9 +79,9 @@ struct v4l2_ctrl_hevc_sps { > __u8 log2_diff_max_min_pcm_luma_coding_block_size; > __u8 num_short_term_ref_pic_sets; > __u8 num_long_term_ref_pics_sps; > - __u8 chroma_format_idc; > > - __u8 padding; > + __u8 num_slices; > + __u8 padding[6]; > > __u64 flags; > }; > @@ -100,10 +105,15 @@ struct v4l2_ctrl_hevc_sps { > #define V4L2_HEVC_PPS_FLAG_PPS_DISABLE_DEBLOCKING_FILTER (1ULL << 16) > #define V4L2_HEVC_PPS_FLAG_LISTS_MODIFICATION_PRESENT (1ULL << 17) > #define V4L2_HEVC_PPS_FLAG_SLICE_SEGMENT_HEADER_EXTENSION_PRESENT (1ULL << 18) > +#define V4L2_HEVC_PPS_FLAG_DEBLOCKING_FILTER_CONTROL_PRESENT (1ULL << 19) > +#define V4L2_HEVC_PPS_FLAG_UNIFORM_SPACING (1ULL << 20) > > struct v4l2_ctrl_hevc_pps { > /* ISO/IEC 23008-2, ITU-T Rec. H.265: Picture parameter set */ > + __u8 pic_parameter_set_id; > __u8 num_extra_slice_header_bits; > + __u8 num_ref_idx_l0_default_active_minus1; > + __u8 num_ref_idx_l1_default_active_minus1; > __s8 init_qp_minus26; > __u8 diff_cu_qp_delta_depth; > __s8 pps_cb_qp_offset; > @@ -116,7 +126,7 @@ struct v4l2_ctrl_hevc_pps { > __s8 pps_tc_offset_div2; > __u8 log2_parallel_merge_level_minus2; > > - __u8 padding[4]; > + __u8 padding; > __u64 flags; > }; > > @@ -165,6 +175,10 @@ struct v4l2_ctrl_hevc_slice_params { > __u32 bit_size; > __u32 data_bit_offset; > > + /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ > + __u32 slice_segment_addr; > + __u32 num_entry_point_offsets; > + > /* ISO/IEC 23008-2, ITU-T Rec. H.265: NAL unit header */ > __u8 nal_unit_type; > __u8 nuh_temporal_id_plus1; > @@ -190,15 +204,13 @@ struct v4l2_ctrl_hevc_slice_params { > __u8 pic_struct; > > /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ > - __u8 num_active_dpb_entries; > __u8 ref_idx_l0[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > __u8 ref_idx_l1[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > > - __u8 num_rps_poc_st_curr_before; > - __u8 num_rps_poc_st_curr_after; > - __u8 num_rps_poc_lt_curr; > + __u16 short_term_ref_pic_set_size; > + __u16 long_term_ref_pic_set_size; > > - __u8 padding; > + __u8 padding[5]; > > /* ISO/IEC 23008-2, ITU-T Rec. H.265: General slice segment header */ > struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > @@ -209,4 +221,21 @@ struct v4l2_ctrl_hevc_slice_params { > __u64 flags; > }; > > +#define V4L2_HEVC_DECODE_PARAM_FLAG_IRAP_PIC 0x1 > +#define V4L2_HEVC_DECODE_PARAM_FLAG_IDR_PIC 0x2 > +#define V4L2_HEVC_DECODE_PARAM_FLAG_NO_OUTPUT_OF_PRIOR 0x4 > + > +struct v4l2_ctrl_hevc_decode_params { > + __s32 pic_order_cnt_val; > + __u8 num_active_dpb_entries; > + struct v4l2_hevc_dpb_entry dpb[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > + __u8 num_rps_poc_st_curr_before; > + __u8 num_rps_poc_st_curr_after; > + __u8 num_rps_poc_lt_curr; > + __u8 rps_st_curr_before[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > + __u8 rps_st_curr_after[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > + __u8 rps_lt_curr[V4L2_HEVC_DPB_ENTRIES_NUM_MAX]; > + __u64 flags; > +}; Current practice is to also add/update controls documentation in Documentation/userspace-api/media/v4l/ With your changes, v4l2_ctrl_hevc_pps and v4l2_ctrl_hevc_slice_params descriptions are out of sync and v4l2_ctrl_hevc_decode_params description is completely missing. Best regards, Jernej > + > #endif > -- > 2.25.1 > >