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 2BD50C7EE26 for ; Mon, 15 May 2023 17:08:28 +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=AjqpCK7USP+NqKtjtIv2bRzhcX9ay1gKXlriC+SD/pM=; b=uCu7AZitWW5DL1 leXkHKE39uE2Es/aQc0Ty3KyigH0X9Dwzd3Z6XLA0EzZeXCR0ZsjvE0X+ilvr2lYLo7INqz7zUo4t 5Q7G5X2KSAsWGTfK5KU5lLogULPJuWB1EHtRyW1BibyvgPkmkPPdgv9UVf5dK1ziN+VXKyj9/jiTm nJJb7sUenHseAPC9wxa/29hj2tlbWgM1GBq3RRRWepqhZHv/EkYga5jM+LFiNrrx6hQwmiK0s8ONb xupIJIoDmaDZwMTiscBnaFj8kUVC2iIelAS00XcTbbTy9lx5bjJt1h7TDOU6yPZY8wWWJXu8avrzn QyzV7JwimR7zTGPWbNTg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.96 #2 (Red Hat Linux)) id 1pybg4-002sQS-0F; Mon, 15 May 2023 17:08:04 +0000 Received: from mail-pf1-x436.google.com ([2607:f8b0:4864:20::436]) by bombadil.infradead.org with esmtps (Exim 4.96 #2 (Red Hat Linux)) id 1pybg0-002sOQ-2M for linux-arm-kernel@lists.infradead.org; Mon, 15 May 2023 17:08:02 +0000 Received: by mail-pf1-x436.google.com with SMTP id d2e1a72fcca58-643a6f993a7so8227918b3a.1 for ; Mon, 15 May 2023 10:07:56 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; t=1684170476; x=1686762476; 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=2nHtEWxnGpGcZQSGGCC9iqpPMY8cRtXXTyviVXLj7sE=; b=RfNBq7TDdB2IKmzexzeaLngBcSjUiBcZ76IWWMJjgqNJUzMd+r6cCkMiwv37HGifZ1 oUgOU3QJmdlwWc4gCYiUibfRVz/LIKi2erGbGCg0J9x/Am6T/uxzV4hNQJAb9I2pLr4n x7ERVV7Mwoedg3fxwt/WADMRh/cJMOIRIIWa8P0cFY0z4bVpqPONf2iazLAAUT/pNaO8 W3cLW8JQPhNRlKzm9JdZlHXzKVG9zlEcuxgS53YlvVkLs3VzTn3CfqPHe0w09VBrRUTx cLr++MTEfSCczuMcgvsvTdPa/Pg/vkKTaXFguNsYbaDZ24W+jjA2W37GpSo6TSjXptd+ VKmA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1684170476; x=1686762476; 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=2nHtEWxnGpGcZQSGGCC9iqpPMY8cRtXXTyviVXLj7sE=; b=OXCw5kHvSecWYISDJ1/76wRl3ddmy75X52JS5Y+X0lSotfhBOwc88K50VOuv3uGUfx LN5sbM/uBbggAVTQqNgNdZSp6EShjM5mk9zCtNn9hQ6XEG62ayTqnJEkwzzJA8bbzG/i 0P7HieoASzwl8pU4XLF5tIDUePxwz1xdCvo40juf6tFmmWqWfAZWOQRGyCEDvjOc+/xM UF+OYa1gj1KCDwBMPv8aVkh0y0rhjBcpEgijDhvkjUafzTtJ8JFjqAN+YxAHVe/mAaU5 M1aXxu+DZUZvLcJFob/bqDC3AqBagZyFH7FtAEYHMKswQGGDqDYeYx0hIQvoSfMSnoo5 jCAw== X-Gm-Message-State: AC+VfDxRymcjpvCep72OVevsmUPLKnzWdobHKbMquWWTV7Ak1PW0Wl9m 1L7uF3YHfiozEOHZxb1SEBAmGQ== X-Google-Smtp-Source: ACHHUZ52HZolmtjdAn8T2k4UpZ3HNolbARPshrUQ24xkpbnjgc72ibaTbyTOGYAaZX0FatvS+jMmVg== X-Received: by 2002:a05:6a20:12d0:b0:102:f744:a708 with SMTP id v16-20020a056a2012d000b00102f744a708mr24322492pzg.35.1684170475724; Mon, 15 May 2023 10:07:55 -0700 (PDT) Received: from p14s ([2604:3d09:148c:c800:d401:af78:6aa0:cf61]) by smtp.gmail.com with ESMTPSA id h5-20020a62b405000000b0063f33e216dasm12365831pfn.96.2023.05.15.10.07.54 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 15 May 2023 10:07:55 -0700 (PDT) Date: Mon, 15 May 2023 11:07:52 -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" , "conor+dt@kernel.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 v11 06/11] remoteproc: mediatek: Probe multi-core SCP Message-ID: References: <20230510063749.5127-1-tinghan.shen@mediatek.com> <20230510063749.5127-7-tinghan.shen@mediatek.com> <968894ff6a9ed9cfb71cd28eb3552047e4d298a6.camel@mediatek.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <968894ff6a9ed9cfb71cd28eb3552047e4d298a6.camel@mediatek.com> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20230515_100800_773575_4B9B5377 X-CRM114-Status: GOOD ( 47.92 ) 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 T24gTW9uLCBNYXkgMTUsIDIwMjMgYXQgMTI6MzE6MDRQTSArMDAwMCwgVGluZ0hhbiBTaGVuICjm sojlu7fnv7ApIHdyb3RlOgo+IEhpIE1hdGhpZXUsCj4gCj4gT24gRnJpLCAyMDIzLTA1LTEyIGF0 IDExOjU2IC0wNjAwLCBNYXRoaWV1IFBvaXJpZXIgd3JvdGU6Cj4gPiBFeHRlcm5hbCBlbWFpbCA6 IFBsZWFzZSBkbyBub3QgY2xpY2sgbGlua3Mgb3Igb3BlbiBhdHRhY2htZW50cyB1bnRpbCB5b3Ug aGF2ZSB2ZXJpZmllZCB0aGUgc2VuZGVyIG9yIHRoZSBjb250ZW50Lgo+ID4gCj4gPiAKPiA+IE9u IFdlZCwgTWF5IDEwLCAyMDIzIGF0IDAyOjM3OjQ0UE0gKzA4MDAsIFRpbmdoYW4gU2hlbiB3cm90 ZToKPiA+ID4gVGhlIGRpZmZlcmVuY2Ugb2Ygc2luZ2xlLWNvcmUgU0NQIGFuZCBtdWx0aS1jb3Jl IFNDUCBkZXZpY2UgdHJlZSBpcwo+ID4gPiB0aGUgcHJlc2VuY2Ugb2YgY2hpbGQgZGV2aWNlIG5v ZGVzIGRlc2NyaWJlZCBTQ1AgY29yZXMuIFRoZSBTQ1AKPiA+ID4gZHJpdmVyIHBvcHVsYXRlcyB0 aGUgcGxhdGZvcm0gZGV2aWNlIGFuZCBjaGVja3MgdGhlIGNoaWxkIG5vZGVzCj4gPiA+IHRvIGlk ZW50aWZ5IHdoZXRoZXIgaXQncyBhIHNpbmdsZS1jb3JlIFNDUCBvciBhIG11bHRpLWNvcmUgU0NQ Lgo+ID4gPiAKPiA+ID4gQWRkIHRoZSByZW1vdGVwcm9jIGluc3RhbmNlcyBvZiBtdWx0aS1jb3Jl IFNDUCB0byB0aGUgU0NQIGNsdXN0ZXIgbGlzdC4KPiA+ID4gV2hlbiB0aGUgU0NQIGRyaXZlciBp cyByZW1vdmVkLCBpdCBjbGVhbnVwIHJlc291cmNlcyBieSB3YWxraW5nCj4gPiA+IHRocm91Z2gg dGhlIGNsdXN0ZXIgbGlzdC4KPiA+ID4gCj4gPiA+IFNpZ25lZC1vZmYtYnk6IFRpbmdoYW4gU2hl biA8dGluZ2hhbi5zaGVuQG1lZGlhdGVrLmNvbT4KPiA+ID4gLS0tCj4gPiA+ICBkcml2ZXJzL3Jl bW90ZXByb2MvbXRrX3NjcC5jIHwgMTM1ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0t LS0tCj4gPiA+ICAxIGZpbGUgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKyksIDE4IGRlbGV0aW9u cygtKQo+ID4gPiAKPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvcmVtb3RlcHJvYy9tdGtfc2Nw LmMgYi9kcml2ZXJzL3JlbW90ZXByb2MvbXRrX3NjcC5jCj4gPiA+IGluZGV4IGZmNzNjNmRkOTYz Ny4uODcyMTVhMGUxNDVlIDEwMDY0NAo+ID4gPiAtLS0gYS9kcml2ZXJzL3JlbW90ZXByb2MvbXRr X3NjcC5jCj4gPiA+ICsrKyBiL2RyaXZlcnMvcmVtb3RlcHJvYy9tdGtfc2NwLmMKPiA+ID4gQEAg LTg2NCw3ICs4NjQsOCBAQCBzdGF0aWMgdm9pZCBzY3BfcmVtb3ZlX3JwbXNnX3N1YmRldihzdHJ1 Y3QgbXRrX3NjcCAqc2NwKQo+ID4gPiAgfQo+ID4gPiAKPiA+ID4gIHN0YXRpYyBzdHJ1Y3QgbXRr X3NjcCAqc2NwX3Jwcm9jX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiA+ID4g LSAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3RydWN0IG10a19zY3Bfb2ZfY2x1 c3RlciAqc2NwX2NsdXN0ZXIpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIHN0cnVjdCBtdGtfc2NwX29mX2NsdXN0ZXIgKnNjcF9jbHVzdGVyLAo+ID4gPiArICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjb25zdCBzdHJ1Y3QgbXRrX3NjcF9vZl9kYXRh ICpvZl9kYXRhKQo+ID4gPiAgewo+ID4gPiAgICAgICBzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRl di0+ZGV2Owo+ID4gPiAgICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0gZGV2LT5vZl9ub2Rl Owo+ID4gPiBAQCAtODg3LDcgKzg4OCw3IEBAIHN0YXRpYyBzdHJ1Y3QgbXRrX3NjcCAqc2NwX3Jw cm9jX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldiwKPiA+ID4gICAgICAgc2NwID0g cnByb2MtPnByaXY7Cj4gPiA+ICAgICAgIHNjcC0+cnByb2MgPSBycHJvYzsKPiA+ID4gICAgICAg c2NwLT5kZXYgPSBkZXY7Cj4gPiA+IC0gICAgIHNjcC0+ZGF0YSA9IG9mX2RldmljZV9nZXRfbWF0 Y2hfZGF0YShkZXYpOwo+ID4gPiArICAgICBzY3AtPmRhdGEgPSBvZl9kYXRhOwo+ID4gPiAgICAg ICBwbGF0Zm9ybV9kZXZpY2VfYWRkX2RhdGEocGRldiwgJnNjcCwgc2l6ZW9mKHNjcCkpOwo+ID4g PiAKPiA+ID4gICAgICAgc2NwLT5yZWdfYmFzZSA9IHNjcF9jbHVzdGVyLT5yZWdfYmFzZTsKPiA+ ID4gQEAgLTkzOCwxMCArOTM5LDYgQEAgc3RhdGljIHN0cnVjdCBtdGtfc2NwICpzY3BfcnByb2Nf aW5pdChzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LAo+ID4gPiAgICAgICAgICAgICAgIGdv dG8gcmVtb3ZlX3N1YmRldjsKPiA+ID4gICAgICAgfQo+ID4gPiAKPiA+ID4gLSAgICAgcmV0ID0g cnByb2NfYWRkKHJwcm9jKTsKPiA+ID4gLSAgICAgaWYgKHJldCkKPiA+ID4gLSAgICAgICAgICAg ICBnb3RvIHJlbW92ZV9zdWJkZXY7Cj4gPiA+IC0KPiA+IAo+ID4gVGhpcyBzaG91bGQgaGF2ZSBi ZWVuIGRvbmUgaW4gdGhlIHByZXZpb3VzIHBhdGNoLgo+IAo+IE9rLgo+IAo+ID4gCj4gPiA+ICAg ICAgIHJldHVybiBzY3A7Cj4gPiA+IAo+ID4gPiAgcmVtb3ZlX3N1YmRldjoKPiA+ID4gQEAgLTk1 NiwxOSArOTUzLDExNiBAQCBzdGF0aWMgc3RydWN0IG10a19zY3AgKnNjcF9ycHJvY19pbml0KHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsCj4gPiA+ICAgICAgIHJldHVybiBFUlJfUFRSKHJl dCk7Cj4gPiA+ICB9Cj4gPiA+IAo+ID4gPiArc3RhdGljIHZvaWQgc2NwX3Jwcm9jX2ZyZWUoc3Ry dWN0IG10a19zY3AgKnNjcCkKPiA+ID4gK3sKPiA+ID4gKyAgICAgaW50IGk7Cj4gPiA+ICsKPiA+ ID4gKyAgICAgc2NwX3JlbW92ZV9ycG1zZ19zdWJkZXYoc2NwKTsKPiA+ID4gKyAgICAgc2NwX2lw aV91bnJlZ2lzdGVyKHNjcCwgU0NQX0lQSV9JTklUKTsKPiA+ID4gKyAgICAgc2NwX3VubWFwX21l bW9yeV9yZWdpb24oc2NwKTsKPiA+ID4gKyAgICAgZm9yIChpID0gMDsgaSA8IFNDUF9JUElfTUFY OyBpKyspCj4gPiA+ICsgICAgICAgICAgICAgbXV0ZXhfZGVzdHJveSgmc2NwLT5pcGlfZGVzY1tp XS5sb2NrKTsKPiA+ID4gKyAgICAgbXV0ZXhfZGVzdHJveSgmc2NwLT5zZW5kX2xvY2spOwo+ID4g PiArfQo+ID4gPiArCj4gPiA+ICtzdGF0aWMgaW50IHNjcF9pc19zaW5nbGVfY29yZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gPiArewo+ID4gPiArICAgICBzdHJ1Y3QgZGV2aWNl ICpkZXYgPSAmcGRldi0+ZGV2Owo+ID4gPiArICAgICBzdHJ1Y3QgZGV2aWNlX25vZGUgKm5wID0g ZGV2X29mX25vZGUoZGV2KTsKPiA+ID4gKyAgICAgc3RydWN0IGRldmljZV9ub2RlICpjaGlsZDsK PiA+ID4gKwo+ID4gPiArICAgICBjaGlsZCA9IG9mX2dldF9uZXh0X2F2YWlsYWJsZV9jaGlsZChu cCwgTlVMTCk7Cj4gPiA+ICsgICAgIGlmICghY2hpbGQpCj4gPiA+ICsgICAgICAgICAgICAgcmV0 dXJuIGRldl9lcnJfcHJvYmUoZGV2LCAtRU5PREVWLCAiTm8gY2hpbGQgbm9kZVxuIik7Cj4gPiA+ ICsKPiA+ID4gKyAgICAgb2Zfbm9kZV9wdXQoY2hpbGQpOwo+ID4gPiArICAgICByZXR1cm4gb2Zf bm9kZV9uYW1lX2VxKGNoaWxkLCAiY3Jvcy1lYy1ycG1zZyIpOwo+ID4gPiArfQo+ID4gPiArCj4g PiA+ICBzdGF0aWMgaW50IHNjcF9jbHVzdGVyX2luaXQoc3RydWN0IHBsYXRmb3JtX2RldmljZSAq cGRldikKPiA+ID4gIHsKPiA+ID4gLSAgICAgc3RydWN0IG10a19zY3AgKnNjcDsKPiA+ID4gKyAg ICAgc3RydWN0IG10a19zY3AgKnNjcCwgKnRlbXA7Cj4gPiA+ICAgICAgIHN0cnVjdCBtdGtfc2Nw X29mX2NsdXN0ZXIgKnNjcF9jbHVzdGVyID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4g PiA+ICAgICAgIHN0cnVjdCBsaXN0X2hlYWQgKmNsdXN0ZXIgPSAmc2NwX2NsdXN0ZXItPm10a19z Y3BfY2x1c3RlcjsKPiA+ID4gCj4gPiA+IC0gICAgIHNjcCA9IHNjcF9ycHJvY19pbml0KHBkZXYs IHNjcF9jbHVzdGVyKTsKPiA+ID4gLSAgICAgaWYgKElTX0VSUihzY3ApKQo+ID4gPiAtICAgICAg ICAgICAgIHJldHVybiBQVFJfRVJSKHNjcCk7Cj4gPiA+ICsgICAgIHN0cnVjdCBkZXZpY2UgKmRl diA9ICZwZGV2LT5kZXY7Cj4gPiA+ICsgICAgIHN0cnVjdCBkZXZpY2Vfbm9kZSAqbnAgPSBkZXZf b2Zfbm9kZShkZXYpOwo+ID4gPiArICAgICBzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpjcGRldjsK PiA+ID4gKyAgICAgc3RydWN0IGRldmljZV9ub2RlICpjaGlsZDsKPiA+ID4gKyAgICAgY29uc3Qg c3RydWN0IG10a19zY3Bfb2ZfZGF0YSAqKmNsdXN0ZXJfb2ZfZGF0YTsKPiA+ID4gKyAgICAgaW50 IGNvcmVfaWQgPSAwOwo+ID4gPiArICAgICBpbnQgcmV0Owo+ID4gPiArCj4gPiA+ICsgICAgIHJl dCA9IHNjcF9pc19zaW5nbGVfY29yZShwZGV2KTsKPiA+ID4gKyAgICAgaWYgKHJldCA8IDApCj4g PiA+ICsgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ID4gKwo+ID4gPiArICAgICBpZiAocmV0 KSB7Cj4gPiA+ICsgICAgICAgICAgICAgZGV2X2RiZyhkZXYsICJzaW5nbGUtY29yZSBzY3BcbiIp Owo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgLyogV2hlbiB1c2luZyB0aGUgU0NQIG5vZGUg cGhhbmRsZSBvbiBleHBvcnRlZCBTQ1AgQVBJcywgdGhlIGRydmRhdGEKPiA+ID4gKyAgICAgICAg ICAgICAgKiBpcyBleHBlY3RlZCB0byBiZSB0aGUgbXRrX3NjcCBvYmplY3QsIGFuZCBhcyBhIHJl c3VsdCwgaXQgaXMgaW50ZW5kZWQKPiA+ID4gKyAgICAgICAgICAgICAgKiB0byBiZSBvdmVyd3Jp dHRlbiBmb3Igc2luZ2xlLWNvcmUgU0NQIHVzYWdlLgo+ID4gPiArICAgICAgICAgICAgICAqLwo+ ID4gCj4gPiBJcyB0aGlzIGNvbW1lbnQgc3RpbGwgcmVsZXZhbnQ/Cj4gCj4gTm8sIEknbGwgcmVt b3ZlIGl0LiAKPiAKPiA+IAo+ID4gPiArICAgICAgICAgICAgIHNjcCA9IHNjcF9ycHJvY19pbml0 KHBkZXYsIHNjcF9jbHVzdGVyLCBvZl9kZXZpY2VfZ2V0X21hdGNoX2RhdGEoZGV2KSk7Cj4gPiA+ ICsgICAgICAgICAgICAgaWYgKElTX0VSUihzY3ApKQo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIFBUUl9FUlIoc2NwKTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgIGxpc3Rf YWRkX3RhaWwoJnNjcC0+ZWxlbSwgY2x1c3Rlcik7Cj4gPiAKPiA+IFRoaXMgaXMgZ2V0dGluZyBt ZXNzeS4gIFBsZWFzZSBhZGQgdHdvIG5ldyBmdW5jdGlvbnMsIGkuZSBzY3BfYWRkX3NpbmdsZV9j b3JlKCkKPiA+IGFuZCBzY3BfYWRkX211bHRpX2NvcmUoKS4KPiAKPiBPay4KPiAKPiA+IAo+ID4g PiArICAgICB9IGVsc2Ugewo+ID4gPiArICAgICAgICAgICAgIGRldl9kYmcoZGV2LCAibXVsdGkt Y29yZSBzY3BcbiIpOwo+ID4gPiArCj4gPiA+ICsgICAgICAgICAgICAgY2x1c3Rlcl9vZl9kYXRh ID0gKGNvbnN0IHN0cnVjdCBtdGtfc2NwX29mX2RhdGEgKiopb2ZfZGV2aWNlX2dldF9tYXRjaF9k YXRhKGRldik7Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICBmb3JfZWFjaF9hdmFpbGFibGVf Y2hpbGRfb2Zfbm9kZShucCwgY2hpbGQpIHsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlm ICghY2x1c3Rlcl9vZl9kYXRhW2NvcmVfaWRdKSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIHJldCA9IC1FSU5WQUw7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAg ICAgIGRldl9lcnIoZGV2LCAiTm90IHN1cHBvcnQgY29yZSAlZFxuIiwgY29yZV9pZCk7Cj4gPiA+ ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mX25vZGVfcHV0KGNoaWxkKTsKPiA+ID4g KyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBpbml0X2ZhaWw7Cj4gPiA+ICsgICAg ICAgICAgICAgICAgICAgICB9Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGNw ZGV2ID0gb2ZfZmluZF9kZXZpY2VfYnlfbm9kZShjaGlsZCk7Cj4gPiA+ICsgICAgICAgICAgICAg ICAgICAgICBpZiAoIWNwZGV2KSB7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAg IHJldCA9IC1FTk9ERVY7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGRldl9l cnIoZGV2LCAiTm90IGZvdW5kIHBsYXRmb3JtIGRldmljZSBmb3IgY29yZSAlZFxuIiwgY29yZV9p ZCk7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9mX25vZGVfcHV0KGNoaWxk KTsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZ290byBpbml0X2ZhaWw7Cj4g PiA+ICsgICAgICAgICAgICAgICAgICAgICB9Cj4gPiA+ICsKPiA+ID4gKyAgICAgICAgICAgICAg ICAgICAgIHNjcCA9IHNjcF9ycHJvY19pbml0KGNwZGV2LCBzY3BfY2x1c3RlciwgY2x1c3Rlcl9v Zl9kYXRhW2NvcmVfaWRdKTsKPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGlmIChJU19FUlIo c2NwKSkgewo+ID4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkZXZfZXJyKGRldiwg IkZhaWxlZCB0byBpbml0aWFsaXplIGNvcmUgJWQgcnByb2NcbiIsIGNvcmVfaWQpOwo+ID4gPiAr ICAgICAgICAgICAgICAgICAgICAgICAgICAgICBwdXRfZGV2aWNlKCZjcGRldi0+ZGV2KTsKPiA+ ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgICAgb2Zfbm9kZV9wdXQoY2hpbGQpOwo+ID4g PiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICBnb3RvIGluaXRfZmFpbDsKPiA+ID4gKyAg ICAgICAgICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAgICAgICAgICAgICAgICAgIGxpc3RfYWRk X3RhaWwoJnNjcC0+ZWxlbSwgY2x1c3Rlcik7Cj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBw dXRfZGV2aWNlKCZjcGRldi0+ZGV2KTsKPiA+ID4gKwo+ID4gPiArICAgICAgICAgICAgICAgICAg ICAgY29yZV9pZCsrOwo+ID4gPiArICAgICAgICAgICAgIH0KPiA+ID4gKyAgICAgfQo+ID4gPiAK PiA+ID4gLSAgICAgbGlzdF9hZGRfdGFpbCgmc2NwLT5lbGVtLCBjbHVzdGVyKTsKPiA+ID4gKyAg ICAgbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlX3JldmVyc2Uoc2NwLCB0ZW1wLCBjbHVzdGVyLCBl bGVtKSB7Cj4gPiA+ICsgICAgICAgICAgICAgcmV0ID0gcnByb2NfYWRkKHNjcC0+cnByb2MpOwo+ ID4gCj4gPiBDYWxsIHJwcm9jX2FkZCgpIGluIHRoZSBmb3JfZWFjaF9hdmFpbGFibGVfY2hpbGRf b2Zfbm9kZSgpIGxvb3AgYWJvdmUuICBUaGF0IHdheQo+ID4gaXQgaWYgZmFpbHMgeW91IGNhbiBj YWxsIHNjcF9ycHJvY19mcmVlKCkgcmlnaHQgYXdheSBhbmQganVtcCB0byBpbml0X2ZhaWwgdG8K PiA+IGRlYWwgd2l0aCB0aGUgb3RoZXIgY29yZXMgb24gdGhlIGxpc3QuCj4gCj4gT2ssIEknbGwg dXBkYXRlIGl0IGluIG5leHQgdmVyc2lvbi4KPiAKPiA+IAo+ID4gPiArICAgICAgICAgICAgIGlm IChyZXQpCj4gPiA+ICsgICAgICAgICAgICAgICAgICAgICBnb3RvIGFkZF9mYWlsOwo+ID4gPiAr ICAgICB9Cj4gPiA+IAo+ID4gPiAgICAgICByZXR1cm4gMDsKPiA+ID4gKwo+ID4gPiArYWRkX2Zh aWw6Cj4gPiA+ICsgICAgIGxpc3RfZm9yX2VhY2hfZW50cnlfY29udGludWUoc2NwLCBjbHVzdGVy LCBlbGVtKSB7Cj4gPiA+ICsgICAgICAgICAgICAgcnByb2NfZGVsKHNjcC0+cnByb2MpOwo+ID4g PiArICAgICB9Cj4gPiA+ICtpbml0X2ZhaWw6Cj4gPiA+ICsgICAgIGxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZV9yZXZlcnNlKHNjcCwgdGVtcCwgY2x1c3RlciwgZWxlbSkgewo+ID4gPiArICAgICAg ICAgICAgIGxpc3RfZGVsKCZzY3AtPmVsZW0pOwo+ID4gPiArICAgICAgICAgICAgIHNjcF9ycHJv Y19mcmVlKHNjcCk7Cj4gPiA+ICsgICAgIH0KPiA+ID4gKwo+ID4gCj4gPiBUaGVyZSBhcmUgYSBz ZXJpb3VzIHByb2JsZW1zIHdpdGggdGhlIGNvZGUgaW4gYm90aCBsYWJlbHMgYWJvdmUuICBJIHdp bGwgbGV0IHlvdQo+ID4gdGhpbmsgYWJvdXQgdGhhdCBhbmQgSSB3aWxsIHN0b3AgaGVyZSBmb3Ig dGhpcyByZXZpc2lvbi4KPiA+IAo+ID4gTWF0aGlldQo+IAo+IE1heSBiZSB0aGUgcHJvYmxlbSBp cyB0aGUgcG9zc2libGUgbnVsbCBhY2Nlc3Mgb2YgKnNjcD8KPiBPciwgdGhlIHJlc291cmNlcyBi b3VuZCB3aXRoIGNwZGV2IHNob3VsZCBiZSByZWxlYXNlZCBhdCBoZXJlPwoKVGhlIGZpcnN0IHBy b2JsZW0gaXMgcmVsYXRlZCB0byBsaXN0IHByb2Nlc3NpbmcuICBGdW5jdGlvbgpsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmVfcmV2ZXJzZSgpIHN0YXJ0cyBhdCB0aGUgZW5kIG9mIHRoZSBsaXN0IGFu ZCBzdG9wcyBpZiBhbgplcnJvciBpcyBlbmNvdW50ZXJlZC4gIEZyb20gdGhlcmUgd2UgZ28gYmFj ayB0aGUgb3RoZXIgd2F5IHdpdGgKbGlzdF9mb3JfZWFjaF9lbnRyeV9jb250aW51ZSgpIGFuZCB0 aGVuIHJldmVyc2UgYWdhaW4gZm9yCmxpc3RfZm9yX2VhY2hfZW50cnlfc2FmZV9yZXZlcnNlKCku ICBUaGlzIGJhY2sgYW5kIGZvcnRoIGlzIGVycm9yIHByb25lIGFuZCB2ZXJ5CmhhcmQgdG8gbWFp bnRhaW4uICAKClRoZSBzZWNvbmQgcHJvYmxlbSBpcyB3aXRoIHJwcm9jX2RlbCgpLi4uIERvZXMg aXQgbmVlZCB0byBiZSB0aGVyZT8KCj4gCj4gCj4gPiAKPiA+ID4gKyAgICAgcmV0dXJuIHJldDsK PiA+ID4gIH0KPiA+ID4gCj4gPiA+ICBzdGF0aWMgaW50IHNjcF9wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQo+ID4gPiBAQCAtMTAwNSw2ICsxMDk5LDEwIEBAIHN0YXRpYyBpbnQg c2NwX3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiA+ICAgICAgIElOSVRf TElTVF9IRUFEKCZzY3BfY2x1c3Rlci0+bXRrX3NjcF9jbHVzdGVyKTsKPiA+ID4gICAgICAgcGxh dGZvcm1fc2V0X2RydmRhdGEocGRldiwgc2NwX2NsdXN0ZXIpOwo+ID4gPiAKPiA+ID4gKyAgICAg cmV0ID0gZGV2bV9vZl9wbGF0Zm9ybV9wb3B1bGF0ZShkZXYpOwo+ID4gPiArICAgICBpZiAocmV0 KQo+ID4gPiArICAgICAgICAgICAgIHJldHVybiBkZXZfZXJyX3Byb2JlKGRldiwgcmV0LCAiRmFp bGVkIHRvIHBvcHVsYXRlIHBsYXRmb3JtIGRldmljZXNcbiIpOwo+ID4gPiArCj4gPiA+ICAgICAg IHJldCA9IHNjcF9jbHVzdGVyX2luaXQocGRldik7Cj4gPiA+ICAgICAgIGlmIChyZXQpCj4gPiA+ ICAgICAgICAgICAgICAgcmV0dXJuIHJldDsKPiA+ID4gQEAgLTEwMTYsMTcgKzExMTQsMTEgQEAg c3RhdGljIGludCBzY3BfcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiA+ ICB7Cj4gPiA+ICAgICAgIHN0cnVjdCBtdGtfc2NwX29mX2NsdXN0ZXIgKnNjcF9jbHVzdGVyID0g cGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gPiA+ICAgICAgIHN0cnVjdCBtdGtfc2NwICpz Y3AsICp0ZW1wOwo+ID4gPiAtICAgICBpbnQgaTsKPiA+ID4gCj4gPiA+ICAgICAgIGxpc3RfZm9y X2VhY2hfZW50cnlfc2FmZV9yZXZlcnNlKHNjcCwgdGVtcCwgJnNjcF9jbHVzdGVyLT5tdGtfc2Nw X2NsdXN0ZXIsIGVsZW0pIHsKPiA+ID4gICAgICAgICAgICAgICBsaXN0X2RlbCgmc2NwLT5lbGVt KTsKPiA+ID4gICAgICAgICAgICAgICBycHJvY19kZWwoc2NwLT5ycHJvYyk7Cj4gPiA+IC0gICAg ICAgICAgICAgc2NwX3JlbW92ZV9ycG1zZ19zdWJkZXYoc2NwKTsKPiA+ID4gLSAgICAgICAgICAg ICBzY3BfaXBpX3VucmVnaXN0ZXIoc2NwLCBTQ1BfSVBJX0lOSVQpOwo+ID4gPiAtICAgICAgICAg ICAgIHNjcF91bm1hcF9tZW1vcnlfcmVnaW9uKHNjcCk7Cj4gPiA+IC0gICAgICAgICAgICAgZm9y IChpID0gMDsgaSA8IFNDUF9JUElfTUFYOyBpKyspCj4gPiA+IC0gICAgICAgICAgICAgICAgICAg ICBtdXRleF9kZXN0cm95KCZzY3AtPmlwaV9kZXNjW2ldLmxvY2spOwo+ID4gPiAtICAgICAgICAg ICAgIG11dGV4X2Rlc3Ryb3koJnNjcC0+c2VuZF9sb2NrKTsKPiA+ID4gKyAgICAgICAgICAgICBz Y3BfcnByb2NfZnJlZShzY3ApOwo+ID4gPiAgICAgICB9Cj4gPiA+IAo+ID4gPiAgICAgICByZXR1 cm4gMDsKPiA+ID4gQEAgLTExMDYsMTIgKzExOTgsMTkgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBt dGtfc2NwX29mX2RhdGEgbXQ4MTk1X29mX2RhdGFfYzEgPSB7Cj4gPiA+ICAgICAgIC5ob3N0X3Rv X3NjcF9pbnRfYml0ID0gTVQ4MTk1X0NPUkUxX0hPU1RfSVBDX0lOVF9CSVQsCj4gPiA+ICB9Owo+ ID4gPiAKPiA+ID4gK3N0YXRpYyBjb25zdCBzdHJ1Y3QgbXRrX3NjcF9vZl9kYXRhICptdDgxOTVf b2ZfZGF0YV9jb3Jlc1tdID0gewo+ID4gPiArICAgICAmbXQ4MTk1X29mX2RhdGEsCj4gPiA+ICsg ICAgICZtdDgxOTVfb2ZfZGF0YV9jMSwKPiA+ID4gKyAgICAgTlVMTAo+ID4gPiArfTsKPiA+ID4g Kwo+ID4gPiAgc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgbXRrX3NjcF9vZl9tYXRj aFtdID0gewo+ID4gPiAgICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE4My1zY3Ai LCAuZGF0YSA9ICZtdDgxODNfb2ZfZGF0YSB9LAo+ID4gPiAgICAgICB7IC5jb21wYXRpYmxlID0g Im1lZGlhdGVrLG10ODE4Ni1zY3AiLCAuZGF0YSA9ICZtdDgxODZfb2ZfZGF0YSB9LAo+ID4gPiAg ICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE4OC1zY3AiLCAuZGF0YSA9ICZtdDgx ODhfb2ZfZGF0YSB9LAo+ID4gPiAgICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5 Mi1zY3AiLCAuZGF0YSA9ICZtdDgxOTJfb2ZfZGF0YSB9LAo+ID4gPiAgICAgICB7IC5jb21wYXRp YmxlID0gIm1lZGlhdGVrLG10ODE5NS1zY3AiLCAuZGF0YSA9ICZtdDgxOTVfb2ZfZGF0YSB9LAo+ ID4gPiArICAgICB7IC5jb21wYXRpYmxlID0gIm1lZGlhdGVrLG10ODE5NS1zY3AtZHVhbCIsIC5k YXRhID0gJm10ODE5NV9vZl9kYXRhX2NvcmVzIH0sCj4gPiA+ICAgICAgIHt9LAo+ID4gPiAgfTsK PiA+ID4gIE1PRFVMRV9ERVZJQ0VfVEFCTEUob2YsIG10a19zY3Bfb2ZfbWF0Y2gpOwo+ID4gPiAt LQo+ID4gPiAyLjE4LjAKPiA+ID4gCj4gCj4gLS0gCj4gQmVzdCByZWdhcmRzLAo+IFRpbmdIYW4K Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFy bS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9y ZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1r ZXJuZWwK