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 A7FCEC77B73 for ; Wed, 19 Apr 2023 15:10:51 +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:In-Reply-To:MIME-Version:References: Message-ID:Subject:Cc:To:From:Date:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=tPwFbtN8aVxeqVN6XgvGH90ktNppJyALgdJstXYdrrA=; b=K9iAuOl4NTcH9E BaVfXzGbOEAUiKO7r88Lvx86+fsZOZ94oZkrV2LMZKjYJRo5QYCbgVszHSGBpTImdZkoX7XvSjCOh EVxocYDHT1WSGVAGx9z6OMqDzkbvHTU7AAjC/2E/wcl6YtAEvN9/CdboVXH1Tuoe5rDxl/USo30Oo EFyabs4e51gezIR+4N6HSyMivV4UuMBanib/nZxiGf/TuTgo3e9PefpXX1XCm6yGElhEsKAZmURHu sCywEnI8CEp6UsziKQKCJXpjduOeUzQvJ+rhC4b2X9DKoN4RcX9hhx5c3VSH8jkqEXCzt4yg2CnFt gXOaJ5YClLbkNXQP8y6A==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pp9RU-005kSG-1y; Wed, 19 Apr 2023 15:09:56 +0000 Received: from mail-pg1-x52d.google.com ([2607:f8b0:4864:20::52d]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pp9RR-005kQt-1t for linux-arm-kernel@lists.infradead.org; Wed, 19 Apr 2023 15:09:55 +0000 Received: by mail-pg1-x52d.google.com with SMTP id 41be03b00d2f7-517bdd9957dso2854977a12.1 for ; Wed, 19 Apr 2023 08:09:50 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1681916990; x=1684508990; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=9xYRx4lxSwrTz8KomOP3X7PYWUvothv5g/ZoMajkQIs=; b=sXPBCslnv6R9uVZX7Gq3xtSsKpgzb0/01i98xXOZQx+KbP4KqVddhPYdcEVIH92o4/ pmZSEaoq7K27ohwgJ+wenSjn0dMQerb+uCo2ZucB/ttrkOH+5nH3PbagzZ3PTu4MLinA TuKX/J6WZKuecdQ+SbtWPDBxIT9YSQFdk9EpXU82KxmWB7eepY+FOWYRQZw89n6lAOaK XrVRagqX0pIaFphG3FrY/Kf+S15ViKgyd1zdDEgbm2ZGDCRg5ygwZkCfIxnA/TylLYqo kupYb4zacsCkJMBL3td7FdPMMyd0LNOaVeCVWWXhum1Qx2Kzg3cACS2tSOJI8K/kMrPz X4Yg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1681916990; x=1684508990; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=9xYRx4lxSwrTz8KomOP3X7PYWUvothv5g/ZoMajkQIs=; b=DzUKikQFVBbNB6PnkRlMYzLyHxo65FecKlECv9BuAHGpO/jjGsRR5ckA97k3TODqMp 1IlMSBaBG83rXMxD/caL4KtTtb7qs5WoOqhU2iBEwh7l9UjNsvA8gYKrSaphCGReGHQb kkA2O+/g+vD64cOJO0uKPWj/fmuRhrFajD7rFYi4boxXt7VYDG1BUZSlBu3oGYZn2qvH jpK/aMedvlvj1Bg9ySlApuEQ+VdO5wOW6FrVhOXqvXOP52AhCJxvM4KEtKP1xd2mnhKc hsaapIRTSoqbr35Ko3QZq6+Z/8zjViV8ZUpmg9kiT+tPPqpa5qndGghd7N34piRlV/oM 3fCA== X-Gm-Message-State: AAQBX9eI5pDpD+ZNVHrdjc03SXbb6HdCKrjBotE5rf+MYKwmrAcRmCVR IAyW45+uQYLw89OkiL9kfJqIjw== X-Google-Smtp-Source: AKy350ZOsj/rgDa7m85kCFSt/yyAxPXdtikhF0MU23Wn0WjNTH8dh6EXRwbGslBJniiqLHyCe3xjGQ== X-Received: by 2002:a17:90a:72c8:b0:246:9bad:2354 with SMTP id l8-20020a17090a72c800b002469bad2354mr3110204pjk.43.1681916990193; Wed, 19 Apr 2023 08:09:50 -0700 (PDT) Received: from p14s ([2604:3d09:148c:c800:302c:551a:91d2:840f]) by smtp.gmail.com with ESMTPSA id ip11-20020a17090b314b00b00246626343aesm1541885pjb.25.2023.04.19.08.09.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 19 Apr 2023 08:09:49 -0700 (PDT) Date: Wed, 19 Apr 2023 09:09:47 -0600 From: Mathieu Poirier To: TingHan Shen =?utf-8?B?KOayiOW7t+e/sCk=?= Cc: "linux-kernel@vger.kernel.org" , "robh+dt@kernel.org" , "linux-remoteproc@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-mediatek@lists.infradead.org" , Project_Global_Chrome_Upstream_Group , "linux-arm-kernel@lists.infradead.org" , "krzysztof.kozlowski+dt@linaro.org" , "matthias.bgg@gmail.com" , "andersson@kernel.org" , "angelogioacchino.delregno@collabora.com" Subject: Re: [PATCH v9 05/11] remoteproc: mediatek: Extract remoteproc initialization flow Message-ID: References: <20230328022733.29910-1-tinghan.shen@mediatek.com> <20230328022733.29910-6-tinghan.shen@mediatek.com> <20230331174431.GA3504605@p14s> <46baff1f95fa13976d7a07b5e50ff2175e464baa.camel@mediatek.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <46baff1f95fa13976d7a07b5e50ff2175e464baa.camel@mediatek.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230419_080953_621832_0452A95E X-CRM114-Status: GOOD ( 35.25 ) 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 T24gV2VkLCBBcHIgMTksIDIwMjMgYXQgMDM6Mzg6MTRBTSArMDAwMCwgVGluZ0hhbiBTaGVuICjm sojlu7fnv7ApIHdyb3RlOgo+IEhpIE1hdGhpZXUsCj4gCj4gT24gRnJpLCAyMDIzLTAzLTMxIGF0 IDExOjQ0IC0wNjAwLCBNYXRoaWV1IFBvaXJpZXIgd3JvdGU6Cj4gPiBFeHRlcm5hbCBlbWFpbCA6 IFBsZWFzZSBkbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bnRpbCB5b3Ug aGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIG9yIHRoZSBjb250ZW50Lgo+ID4gCj4gPiAKPiA+IE9u IFR1ZSwgTWFyIDI4LCAyMDIzIGF0IDEwOjI3OjI3QU0gKzA4MDAsIFRpbmdoYW4gU2hlbiB3cm90 ZToKPiA+ID4gVGhpcyBpcyB0aGUgcHJlcGFyYXRpb24gZm9yIHByb2JpbmcgbXVsdGktY29yZSBT Q1AuIFRoZSByZW1vdGVwcm9jCj4gPiA+IGluaXRpYWxpemF0aW9uIGZsb3cgaXMgc2ltaWxhciBv biBjb3JlcyBhbmQgaXMgcmV1c2VkIHRvIGF2b2lkCj4gPiA+IHJlZHVuZGFudCBjb2RlLgo+ID4g PiAKPiA+ID4gVGhlIHJlZ2lzdGVycyBvZiBjb25maWcgYW5kIGwxdGNtIGFyZSBzaGFyZWQgZm9y IG11bHRpLWNvcmUKPiA+ID4gU0NQLiBSZXVzZSB0aGUgbWFwcGVkIGFkZHJlc3NlcyBmb3IgYWxs IGNvcmVzLgo+ID4gPiAKPiA+ID4gU2lnbmVkLW9mZi1ieTogVGluZ2hhbiBTaGVuIDx0aW5naGFu LnNoZW5AbWVkaWF0ZWsuY29tPgo+ID4gPiBSZXZpZXdlZC1ieTogQW5nZWxvR2lvYWNjaGlubyBE ZWwgUmVnbm8gPGFuZ2Vsb2dpb2FjY2hpbm8uZGVscmVnbm9AY29sbGFib3JhLmNvbT4KPiA+ID4g LS0tCj4gPiA+ICBkcml2ZXJzL3JlbW90ZXByb2MvbXRrX3NjcC5jIHwgNjQgKysrKysrKysrKysr KysrKysrKysrKysrKy0tLS0tLS0tLS0tCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgNDUgaW5zZXJ0 aW9ucygrKSwgMTkgZGVsZXRpb25zKC0pCj4gPiA+IAo+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVy cy9yZW1vdGVwcm9jL210a19zY3AuYyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9tdGtfc2NwLmMKPiA+ ID4gaW5kZXggYTNiOWJjMTU4Y2Q5Li4zMmVjZDE0NTBjNmYgMTAwNjQ0Cj4gPiA+IC0tLSBhL2Ry aXZlcnMvcmVtb3RlcHJvYy9tdGtfc2NwLmMKPiA+ID4gKysrIGIvZHJpdmVycy9yZW1vdGVwcm9j L210a19zY3AuYwo+ID4gPiBAQCAtMjMsNiArMjMsMTMgQEAKPiA+ID4gICNkZWZpbmUgTUFYX0NP REVfU0laRSAweDUwMDAwMAo+ID4gPiAgI2RlZmluZSBTRUNUSU9OX05BTUVfSVBJX0JVRkZFUiAi LmlwaV9idWZmZXIiCj4gPiA+IAo+ID4gPiArc3RydWN0IG10a19zY3Bfb2ZfcmVncyB7Cj4gPiA+ ICsgICAgIHZvaWQgX19pb21lbSAqcmVnX2Jhc2U7Cj4gPiA+ICsgICAgIHZvaWQgX19pb21lbSAq bDF0Y21fYmFzZTsKPiA+ID4gKyAgICAgc2l6ZV90IGwxdGNtX3NpemU7Cj4gPiA+ICsgICAgIHBo eXNfYWRkcl90IGwxdGNtX3BoeXM7Cj4gPiA+ICt9Owo+ID4gPiArCj4gPiAKPiA+IFRoaXMgc2hv dWxkIHJlcHJlc2VudCB0aGUgY2x1c3RlciB3aXRoIGEgbGlzdCBvZiBtdGtfc2NwIGluc3RlYWQg b2YgQGNsdXN0ZXJfY29yZXMgYXMKPiA+IGludHJvZHVjZWQgaW4gdGhlIG5leHQgcGF0Y2guCj4g Cj4gSWYgSSdtIHVuZGVyc3RhbmRpbmcgeW91IGNvcnJlY3RseSwgeW91J3JlIHN1Z2dlc3Rpbmcg dGhhdCBAY2x1c3Rlcl9jb3JlcyBzaG91bGQgYmUgaW5jbHVkZWQgCj4gYXMgYSBtZW1iZXIgb2Yg dGhpcyBzdHJ1Y3R1cmUuIElzIHRoYXQgY29ycmVjdD8KCkNvcnJlY3QuICBUaGFuIHRoaXMgc3Ry dWN0dXJlIGlzIGFsbG9jYXRlZCBpbiBwcm9iZSgpIGFuZCBhZGRlZCBhcyBkcml2ZXIgZGF0YQpm b3IgdGhlIHBsYXRmb3JtIGRldmljZS4gIEl0cyBuYW1lIHNob3VsZCBhbHNvIGJlIHNvbWV0aGlu ZyBsaWtlCm10a19zY3BfY2x1c3RlciBvciBzb21ldGhpbmcgbGlrZSB0aGF0LiAgSSBzdWdnZXN0 IHlvdSBsb29rIGF0IHdoYXQgaGFzIGJlZW4KZG9uZSBpbiB0aV9rM19yNV9yZW1vdGVwcm9jLmMs IHlvdXIgZW5kIGRlc2lnbiBzaG91bGQgYmUgcXVpdGUgc2ltaWxhciB0byB0aGF0LgpJbiBmYWN0 IHlvdSBhcmUgY2xvc2UgYnV0IGEgZmV3IHRoaW5ncyBuZWVkIHRvIGJlIGFkZHJlc3NlZC4KCj4g Cj4gQmVzdCByZWdhcmRzLAo+IFRpbmdIYW4KPiAKPiA+IAo+ID4gPiAgLyoqCj4gPiA+ICAgKiBz Y3BfZ2V0KCkgLSBnZXQgYSByZWZlcmVuY2UgdG8gU0NQLgo+ID4gPiAgICoKPiA+ID4gQEAgLTg1 NSw3ICs4NjIsOCBAQCBzdGF0aWMgdm9pZCBzY3BfcmVtb3ZlX3JwbXNnX3N1YmRldihzdHJ1Y3Qg bXRrX3NjcCAqc2NwKQo+ID4gPiAgICAgICB9Cj4gPiA+ICB9Cj4gPiA+IAo+ID4gPiAtc3RhdGlj IGludCBzY3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ID4gK3N0YXRp YyBpbnQgc2NwX3Jwcm9jX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG10a19zY3Bfb2ZfcmVncyAqb2ZfcmVncykK PiA+ID4gIHsKPiA+ID4gICAgICAgc3RydWN0IGRldmljZSAqZGV2ID0gJnBkZXYtPmRldjsKPiA+ ID4gICAgICAgc3RydWN0IGRldmljZV9ub2RlICpucCA9IGRldi0+b2Zfbm9kZTsKPiA+ID4gQEAg LTg3OSw2ICs4ODcsMTEgQEAgc3RhdGljIGludCBzY3BfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKPiA+ID4gICAgICAgc2NwLT5kYXRhID0gb2ZfZGV2aWNlX2dldF9tYXRjaF9k YXRhKGRldik7Cj4gPiA+ICAgICAgIHBsYXRmb3JtX3NldF9kcnZkYXRhKHBkZXYsIHNjcCk7Cj4g PiA+IAo+ID4gPiArICAgICBzY3AtPnJlZ19iYXNlID0gb2ZfcmVncy0+cmVnX2Jhc2U7Cj4gPiA+ ICsgICAgIHNjcC0+bDF0Y21fYmFzZSA9IG9mX3JlZ3MtPmwxdGNtX2Jhc2U7Cj4gPiA+ICsgICAg IHNjcC0+bDF0Y21fc2l6ZSA9IG9mX3JlZ3MtPmwxdGNtX3NpemU7Cj4gPiA+ICsgICAgIHNjcC0+ bDF0Y21fcGh5cyA9IG9mX3JlZ3MtPmwxdGNtX3BoeXM7Cj4gPiA+ICsKPiA+ID4gICAgICAgcmVz ID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09VUkNFX01FTSwgInNy YW0iKTsKPiA+ID4gICAgICAgc2NwLT5zcmFtX2Jhc2UgPSBkZXZtX2lvcmVtYXBfcmVzb3VyY2Uo ZGV2LCByZXMpOwo+ID4gPiAgICAgICBpZiAoSVNfRVJSKHNjcC0+c3JhbV9iYXNlKSkKPiA+ID4g QEAgLTg4OCwyNCArOTAxLDYgQEAgc3RhdGljIGludCBzY3BfcHJvYmUoc3RydWN0IHBsYXRmb3Jt X2RldmljZSAqcGRldikKPiA+ID4gICAgICAgc2NwLT5zcmFtX3NpemUgPSByZXNvdXJjZV9zaXpl KHJlcyk7Cj4gPiA+ICAgICAgIHNjcC0+c3JhbV9waHlzID0gcmVzLT5zdGFydDsKPiA+ID4gCj4g PiA+IC0gICAgIC8qIGwxdGNtIGlzIGFuIG9wdGlvbmFsIG1lbW9yeSByZWdpb24gKi8KPiA+ID4g LSAgICAgcmVzID0gcGxhdGZvcm1fZ2V0X3Jlc291cmNlX2J5bmFtZShwZGV2LCBJT1JFU09VUkNF X01FTSwgImwxdGNtIik7Cj4gPiA+IC0gICAgIHNjcC0+bDF0Y21fYmFzZSA9IGRldm1faW9yZW1h cF9yZXNvdXJjZShkZXYsIHJlcyk7Cj4gPiA+IC0gICAgIGlmIChJU19FUlIoc2NwLT5sMXRjbV9i YXNlKSkgewo+ID4gPiAtICAgICAgICAgICAgIHJldCA9IFBUUl9FUlIoc2NwLT5sMXRjbV9iYXNl KTsKPiA+ID4gLSAgICAgICAgICAgICBpZiAocmV0ICE9IC1FSU5WQUwpIHsKPiA+ID4gLSAgICAg ICAgICAgICAgICAgICAgIHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiRmFpbGVkIHRv IG1hcCBsMXRjbSBtZW1vcnlcbiIpOwo+ID4gPiAtICAgICAgICAgICAgIH0KPiA+ID4gLSAgICAg fSBlbHNlIHsKPiA+IAo+ID4gICAgICAgICAgICAgICAgIHNjcC0+bDF0Y21fYmFzZSA9IE5VTEw7 Cj4gPiAKPiA+ID4gLSAgICAgICAgICAgICBzY3AtPmwxdGNtX3NpemUgPSByZXNvdXJjZV9zaXpl KHJlcyk7Cj4gPiA+IC0gICAgICAgICAgICAgc2NwLT5sMXRjbV9waHlzID0gcmVzLT5zdGFydDsK PiA+ID4gLSAgICAgfQo+ID4gPiAtCj4gPiA+IC0gICAgIHNjcC0+cmVnX2Jhc2UgPSBkZXZtX3Bs YXRmb3JtX2lvcmVtYXBfcmVzb3VyY2VfYnluYW1lKHBkZXYsICJjZmciKTsKPiA+ID4gLSAgICAg aWYgKElTX0VSUihzY3AtPnJlZ19iYXNlKSkKPiA+ID4gLSAgICAgICAgICAgICByZXR1cm4gZGV2 X2Vycl9wcm9iZShkZXYsIFBUUl9FUlIoc2NwLT5yZWdfYmFzZSksCj4gPiA+IC0gICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgIkZhaWxlZCB0byBwYXJzZSBhbmQgbWFwIGNmZyBtZW1v cnlcbiIpOwo+ID4gPiAtCj4gPiA+ICAgICAgIHJldCA9IHNjcC0+ZGF0YS0+c2NwX2Nsa19nZXQo c2NwKTsKPiA+ID4gICAgICAgaWYgKHJldCkKPiA+ID4gICAgICAgICAgICAgICByZXR1cm4gcmV0 Owo+ID4gPiBAQCAtOTU3LDYgKzk1MiwzNyBAQCBzdGF0aWMgaW50IHNjcF9wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiAgICAgICByZXR1cm4gcmV0Owo+ID4gPiAgfQo+ ID4gPiAKPiA+ID4gK3N0YXRpYyBpbnQgc2NwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2Ug KnBkZXYpCj4gPiA+ICt7Cj4gPiA+ICsgICAgIHN0cnVjdCBkZXZpY2UgKmRldiA9ICZwZGV2LT5k ZXY7Cj4gPiA+ICsgICAgIHN0cnVjdCBtdGtfc2NwX29mX3JlZ3Mgc2NwX3JlZ3M7Cj4gPiA+ICsg ICAgIHN0cnVjdCByZXNvdXJjZSAqcmVzOwo+ID4gPiArICAgICBpbnQgcmV0Owo+ID4gPiArCj4g PiA+ICsgICAgIHJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUocGRldiwgSU9SRVNP VVJDRV9NRU0sICJjZmciKTsKPiA+ID4gKyAgICAgc2NwX3JlZ3MucmVnX2Jhc2UgPSBkZXZtX2lv cmVtYXBfcmVzb3VyY2UoZGV2LCByZXMpOwo+ID4gPiArICAgICBpZiAoSVNfRVJSKHNjcF9yZWdz LnJlZ19iYXNlKSkKPiA+ID4gKyAgICAgICAgICAgICByZXR1cm4gZGV2X2Vycl9wcm9iZShkZXYs IFBUUl9FUlIoc2NwX3JlZ3MucmVnX2Jhc2UpLAo+ID4gPiArICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICJGYWlsZWQgdG8gcGFyc2UgYW5kIG1hcCBjZmcgbWVtb3J5XG4iKTsKPiA+ ID4gKwo+ID4gPiArICAgICAvKiBsMXRjbSBpcyBhbiBvcHRpb25hbCBtZW1vcnkgcmVnaW9uICov Cj4gPiA+ICsgICAgIHJlcyA9IHBsYXRmb3JtX2dldF9yZXNvdXJjZV9ieW5hbWUocGRldiwgSU9S RVNPVVJDRV9NRU0sICJsMXRjbSIpOwo+ID4gPiArICAgICBzY3BfcmVncy5sMXRjbV9iYXNlID0g ZGV2bV9pb3JlbWFwX3Jlc291cmNlKGRldiwgcmVzKTsKPiA+ID4gKyAgICAgaWYgKElTX0VSUihz Y3BfcmVncy5sMXRjbV9iYXNlKSkgewo+ID4gPiArICAgICAgICAgICAgIHJldCA9IFBUUl9FUlIo c2NwX3JlZ3MubDF0Y21fYmFzZSk7Cj4gPiA+ICsgICAgICAgICAgICAgaWYgKHJldCAhPSAtRUlO VkFMKQo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIGRldl9lcnJfcHJvYmUoZGV2 LCByZXQsICJGYWlsZWQgdG8gbWFwIGwxdGNtIG1lbW9yeVxuIik7Cj4gPiA+ICsKPiA+ID4gKyAg ICAgICAgICAgICBzY3BfcmVncy5sMXRjbV9zaXplID0gMDsKPiA+ID4gKyAgICAgICAgICAgICBz Y3BfcmVncy5sMXRjbV9waHlzID0gMDsKPiA+ID4gKyAgICAgfSBlbHNlIHsKPiA+ID4gKyAgICAg ICAgICAgICBzY3BfcmVncy5sMXRjbV9zaXplID0gcmVzb3VyY2Vfc2l6ZShyZXMpOwo+ID4gPiAr ICAgICAgICAgICAgIHNjcF9yZWdzLmwxdGNtX3BoeXMgPSByZXMtPnN0YXJ0Owo+ID4gPiArICAg ICB9Cj4gPiA+ICsKPiA+ID4gKyAgICAgcmV0dXJuIHNjcF9ycHJvY19pbml0KHBkZXYsICZzY3Bf cmVncyk7Cj4gPiA+ICt9Cj4gPiA+ICsKPiA+ID4gIHN0YXRpYyBpbnQgc2NwX3JlbW92ZShzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiAgewo+ID4gPiAgICAgICBzdHJ1Y3QgbXRr X3NjcCAqc2NwID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gPiA+IC0tCj4gPiA+IDIu MTguMAo+ID4gPiAKPiAKPiAtLSAKPiBCZXN0IHJlZ2FyZHMsCj4gVGluZ0hhbgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=