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 5F003C433EF for ; Thu, 27 Jan 2022 09:55:32 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:From:References:CC:To:Subject: MIME-Version:Date:Message-ID:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=Uzh9f7rda2ZGyrbYpQY2L6SGthiKw8eRAj7BCuoJdkg=; b=ryu0tUXP0Z1voL MNglQmNAXChpC4LG4TvB1BWwxOZcFza2QFxGV1oJLxK7OkmBnGGRsdR41r5ySfYp2b8gSkP4upZfl gOYkLYjoACxZv8pcfef8j6Av8gTU7I22UkRqbLMzJZPEpDIeb1uv/97O2gtlHAhVFHrZjPeritWBR VWRyazkwvi2T6rgESrjkSKG2Bbw+vNqeLa8z37KERPNugnHVozTQbVHd1GNmDF/CmN/qJIDRM/SMC JStKSTWn+zCRGbt1QPvjr3DV1Dd74Umwb7WEY+9ci+jadvdxg7+5sxsZE7AyOJZM26xuMYLSxq2PE 6gLiSebnQDkiqguyT5xA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1nD1TI-00EzUS-4J; Thu, 27 Jan 2022 09:53:41 +0000 Received: from alexa-out-sd-02.qualcomm.com ([199.106.114.39]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1nD19u-00Euvw-3o for linux-arm-kernel@lists.infradead.org; Thu, 27 Jan 2022 09:33:41 +0000 DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=quicinc.com; i=@quicinc.com; q=dns/txt; s=qcdkim; t=1643276018; x=1674812018; h=message-id:date:mime-version:subject:to:cc:references: from:in-reply-to:content-transfer-encoding; bh=ozq+LTwpMXjth0rTIKHrkM8marZVKxy8MHKPzE4YwIs=; b=LxF2DD6nlQfRGCBWQHJWhggCfdpS8SZlMLba6UWK7+X34Xxw5YSFK7D/ waF3o5NS4U0jMeWVCUiNDxcKaw0p8AutSQD0pFYRBhYVJT2dn+FM+BB2C 3z2RVCeVVnD9kFxAyXBD6ByZER+lwDWqSSDBnWjTvx3LtRBVIB/1PG82C 8=; Received: from unknown (HELO ironmsg02-sd.qualcomm.com) ([10.53.140.142]) by alexa-out-sd-02.qualcomm.com with ESMTP; 27 Jan 2022 01:33:35 -0800 X-QCInternal: smtphost Received: from nasanex01c.na.qualcomm.com ([10.47.97.222]) by ironmsg02-sd.qualcomm.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Jan 2022 01:33:34 -0800 Received: from nalasex01a.na.qualcomm.com (10.47.209.196) by nasanex01c.na.qualcomm.com (10.47.97.222) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.922.19; Thu, 27 Jan 2022 01:33:34 -0800 Received: from [10.253.77.50] (10.80.80.8) by nalasex01a.na.qualcomm.com (10.47.209.196) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.2.922.19; Thu, 27 Jan 2022 01:33:29 -0800 Message-ID: <25d9a681-b899-5936-868d-34f645ee40ef@quicinc.com> Date: Thu, 27 Jan 2022 17:33:26 +0800 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:91.0) Gecko/20100101 Thunderbird/91.3.0 Subject: Re: [PATCH v2 2/9] Coresight: Add coresight TPDM source driver Content-Language: en-US To: Mathieu Poirier CC: Mike Leach , Suzuki K Poulose , Alexander Shishkin , Leo Yan , "Greg Kroah-Hartman" , , , , Tingwei Zhang , Yuanfang Zhang , Tao Zhang , Trilok Soni , References: <20211209141543.21314-1-quic_jinlmao@quicinc.com> <20211209141543.21314-3-quic_jinlmao@quicinc.com> <20211214185714.GB1549991@p14s> <85ad17fb-c885-831d-d841-4c6f10920355@quicinc.com> <20211216190223.GA78825@p14s> <2703bf83-3a87-e69f-2392-7e0568e91712@quicinc.com> <20220121171552.GA1811357@p14s> <24c09945-bcda-81e4-f53c-af871f696094@quicinc.com> <20220126153437.GA2144852@p14s> From: Jinlong Mao In-Reply-To: <20220126153437.GA2144852@p14s> X-Originating-IP: [10.80.80.8] X-ClientProxiedBy: nasanex01b.na.qualcomm.com (10.46.141.250) To nalasex01a.na.qualcomm.com (10.47.209.196) X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220127_013338_313046_33994E49 X-CRM114-Status: GOOD ( 39.37 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org Ck9uIDEvMjYvMjAyMiAxMTozNCBQTSwgTWF0aGlldSBQb2lyaWVyIHdyb3RlOgo+IE9uIFdlZCwg SmFuIDI2LCAyMDIyIGF0IDAzOjA3OjM4UE0gKzA4MDAsIEppbmxvbmcgTWFvIHdyb3RlOgo+PiBI aSBNYXRoaWV1LAo+Pgo+PiBHb29kIGFmdGVybm9vbi4KPj4KPj4gT24gMS8yMi8yMDIyIDE6MTUg QU0sIE1hdGhpZXUgUG9pcmllciB3cm90ZToKPj4+IEhleSBKaW5sb25nLAo+Pj4KPj4+IE9uIEZy aSwgSmFuIDIxLCAyMDIyIGF0IDEwOjAxOjQ3UE0gKzA4MDAsIEppbmxvbmcgTWFvIHdyb3RlOgo+ Pj4+IEhpIE1hdGhpZXUsCj4+Pj4KPj4+PiBHb29kIERheS4KPj4+Pgo+Pj4+IE9uIDEyLzE3LzIw MjEgMzowMiBBTSwgTWF0aGlldSBQb2lyaWVyIHdyb3RlOgo+Pj4+PiBbLi4uXQo+Pj4+Pgo+Pj4+ Pj4+Pj4gKwo+Pj4+Pj4+Pj4gK3N0YXRpYyB2b2lkIHRwZG1faW5pdF9kZWZhdWx0X2RhdGEoc3Ry dWN0IHRwZG1fZHJ2ZGF0YSAqZHJ2ZGF0YSkKPj4+Pj4+Pj4+ICt7Cj4+Pj4+Pj4+PiArICAgIHN0 YXRpYyBpbnQgdHJhY2VpZCA9IFRQRE1fVFJBQ0VfSURfU1RBUlQ7Cj4+Pj4+Pj4+PiArCj4+Pj4+ Pj4+PiArICAgIGRydmRhdGEtPnRyYWNlaWQgPSB0cmFjZWlkKys7Cj4+Pj4+Pj4+PiArfQo+Pj4+ Pj4+PiBJIGhhdmUgYmVlbiBzcGVjaWZpYyBvbiBob3cgdG8gcHJvcGVybHkgZG8gdGhpcyBpbiB0 aGUgbGFzdCByZXZpc2lvbi4gIEdpdmVuIHRoZQo+Pj4+Pj4+PiBhYm92ZSBhYm91dCB0aGUgTUFJ TlRBSU5FUlMgZmlsZSwgSSBhbSBub3Qgc3VyZSB0aGF0IEkgd2lsbCBjb250aW51ZSByZXZpZXdp bmcgdGhpcyBzZXQuCj4+Pj4+Pj4+Cj4+Pj4+Pj4+IFRoZXJlIGlzIGFsc28gbm8gbmVlZCB0byBy dXNoIGFub3RoZXIgcmV2aXNpb24gYXMgSSB3b24ndCBoYXZlIHRoZSBiYW5kd2lkdGggdG8KPj4+ Pj4+Pj4gcHJvY2VzcyBpdCBiZWZvcmUgdGhlIGhvbGlkYXlzLgo+Pj4+Pj4+Pgo+Pj4+Pj4+PiBU aGFua3MsCj4+Pj4+Pj4+IE1hdGhpZXUKPj4+Pj4+PiBIaSBNYXRoaWV1LAo+Pj4+Pj4+Cj4+Pj4+ Pj4gU29ycnksIG5vdCBhZGRyZXNzZWQgeW91ciBwcmV2aW91cyBjb21tZW50cyBoZXJlLgo+Pj4+ Pj4+Cj4+Pj4+Pj4gRm9yIHRoZSB0cmFjZSBpZCwgZWFjaCBjb3Jlc2lnaHQgY29tcG9uZW50IGhh cyA3IGJpdHMgdG8gc3RvcmUgdGhlIHRyYWNlCj4+Pj4+Pj4gaWQuIFNvIHRoZSB0cmFjZSBpZCBz aG91bGQgYmUgZnJvbSAxIHRvIDEyNyBhcyAwIGlzIGludmFsaWQuCj4+Pj4+PiBJRHMgMHg3MCAt IDB4N0YgKGAxMTIgLSAxMjcgKSBhcmUgcmVzZXJ2ZWQgLSBzZWUgdGhlIEFSTSBDb3Jlc2lnaHQK Pj4+Pj4+IEFyY2hpdGVjdHVyZSBzcGVjaWZpY2F0aW9uIHYzLjAKPj4+Pj4+Cj4+Pj4+IENvcnJl Y3QKPj4+Pj4KPj4+Pj4+PiBBcGFydCBmcm9tIFRQRE1zL1NUTS9FVE1zLCB3ZSBhbHNvIGhhdmUg b3RoZXIgY29yZXNpZ2h0IGNvbXBvbmVudHMgaW4KPj4+Pj4+PiBvdXIgaW50ZXJuYWwgZGV2aWNl LiBBYm91dCA4MCBpZHMgYXJlIGFscmVhZHkgdXNlZC4KPj4+Pj4+Pgo+Pj4+Pj4+IFNvbWUgY29t cG9uZW50cyBoYXZlIGZpeGVkIHRyYWNlIGlkIGluIEhXLiBJZiB3ZSB1c2UgZnVuY3Rpb25zIGJl bG93IHRvCj4+Pj4+Pj4gY291bnQgdGhlIHRyYWNlIGlkLCB0aGVyZSB3aWxsIGJlIGNvbmZsaWN0 IHRvIG90aGVyIGNvbXBvbmVudHMuCj4+Pj4+Pj4KPj4+Pj4+PiBDYW4gd2UgdXNlIDEtMTUgZm9y IGV0bSB0cmFjZSBpZHMgIGFuZCAxNiAtIDEyNyBmb3Igb3RoZXIgY29yZXNpZ2h0Cj4+Pj4+Pj4g Y29tcG9uZW50cyA/IEFuZCBoYW5kbGUgdHJhY2UgaWRzIGluIGl0cycgb3duIGRyaXZlciA/Cj4+ Pj4+Pj4KPj4+Pj4+IFRoaXMgd2lsbCBsaW1pdCBzeXN0ZW1zIHRvIDE1IGNvcmVzIC0gc29tZSBo YXZlIG1vcmUhCj4+Pj4+Pgo+Pj4+PiBDb3JyZWN0Cj4+Pj4+Cj4+Pj4+Pj4gc3RhdGljIGlubGlu ZSBpbnQgY29yZXNpZ2h0X2dldF9zeXN0ZW1fdHJhY2VfaWQoaW50IGlkKQo+Pj4+Pj4+IHsKPj4+ Pj4+PiAgICAgICAgICAgICAvKiBTdGFydCBzeXN0ZW0gSURzIGFib3ZlIHRoZSBoaWdoZXN0IHBl ciBDUFUgdHJhY2UgSUQuICovCj4+Pj4+Pj4gICAgICAgICAgICAgcmV0dXJuIGNvcmVzaWd0aF9n ZXRfdHJhY2VfaWQoY3B1bWFza19sYXN0KGNwdV9wb3NzaWJsZV9tYXNrKSArIDEpOwo+Pj4+Pj4+ IH0KPj4+Pj4gTG9va2luZyBhdCBteSBvd24gc3VnZ2VzdGlvbiBhZ2FpbiB0aGlzIHdvbid0IHdv cmsgc2luY2UgaXQgcmV0dXJucyB0aGUgc2FtZSB0cmFjZUlECj4+Pj4+IHdoZW4gY2FsbGVkIG11 bHRpcGxlIHRpbWVzLgo+Pj4+Pgo+Pj4+PiBGb3IgdGhpcyBwYXRjaHNldCBhbmQgX3dpdGhvdXRf IHRha2luZyBpbnRvIGFjY291bnQgaW50ZXJuYWwgZGV2aWNlcyB0aGF0IGhhdmUKPj4+Pj4gdGhl aXIgdHJhY2VJRCBzZXQgaW4gSFc6Cj4+Pj4+Cj4+Pj4+IDEuIERlZmluZSBhIGJpdG1hc2sgdGhh dCBpcyA3IGJpdCB3aWRlLgo+Pj4+IFNob3VsZCBpdCBiZSBhIDEyOCBiaXQgd2lkZSBiaXRtYXNr wqAgKDAtLTEyNyk/Cj4+PiBZZXMsIHlvdSBhcmUgY29ycmVjdC4KPj4+Cj4+Pj4+IDIuIEJ5IGRl ZmF1bHQsIHNldCBiaXRzIHVuZGVyIDB4MTAgYW5kIGJldHdlZW4gMHg3MCAtIDB4N0YuCj4+Pj4+ IDMuIEluIGNvcmVzaWdodF9nZXRfc3lzdGVtX3RyYWNlX2lkKCksIGRyb3AgdGhlIEBpZCBwYXJh bWV0ZXIgYW5kIGFsbG9jYXRlIHRoZQo+Pj4+PiBmaXJzdCBhdmFpbGFibGUgYml0IGFmdGVyIGNw dW1hc2tfbGFzdChjcHVfcG9zc2libGVfbWFzaykgKyAxLgo+Pj4+IFNob3VsZCBpdCBhbGxvY2F0 ZSB0aGUgZmlyc3QgYXZhaWxhYmxlIGJpdCBhZnRlciAoY3B1bWFza19sYXN0KGNwdV9wb3NzaWJs ZV9tYXNrKSAqMiApICsgMHgxMCA/Cj4+Pj4gUmV0dXJuIHRoZSBmaXJzdCB6ZXJvIGJpdCBwb3Np dGlvbiBhcyB0aGUgdHJhY2UgaWQgYW5kIHNldCB0aGUgYml0Lgo+Pj4gSSBuZWVkIHRvIGNsYXJp Znkgc29tZXRoaW5nIHdpdGggTWlrZSBvbiB0aGlzIC0gSSB3aWxsIGdldCBiYWNrIHRvIHlvdSBv bgo+Pj4gTW9uZGF5Lgo+PiBEbyB5b3UgaGF2ZSBtb3JlIGNvbW1lbnRzIG9uIHRoaXMgPwo+IEkg anVzdCByZWNlaXZlZCBjbGFyaWZpY2F0aW9ucyBvbiB0aGlzIC0gdGhlcmUgaXMgbm8gbmVlZCB0 byBjb250aW51ZSBlbmFjdGluZwo+IHRoZSBjdXJyZW50IHNjaGVtZSBhbmQgYXMgc3VjaCByZXNl cnZpbmcgYml0cyBmb2xsb3dpbmcgdGhlIGFib3ZlIGZvcm11bGEgd2lsbAo+IG5vdCBiZSBuZWVk ZWQgZWl0aGVyLiAgU2ltcGx5IGFzc2lnbmluZyBmcmVlIHRyYWNlSURzIGJhc2VkIG9uIHJlcXVl c3Qgd2lsbAo+IHdvcmsganVzdCBmaW5lLgo+Cj4gVGhhdCBvZiBjb3Vyc2UgaXMgdGFraW5nIGlu dG8gYWNjb3VudCB0aGF0IDB4MCwgMHgxIGFuZCAweDcwIC0gMHg3ZiBhcmUKPiByZXNlcnZlZC4g IDB4MSBpcyBjdXJyZW50bHkgdXNlZCBmb3IgU1RNIGFuZCBzaG91bGQgZXZlbnR1YWxseSBiZSBm aXhlZCB0bwo+IHNpbXBseSByZXF1ZXN0IGEgdHJhY2VJRCB0aGUgc2FtZSB3YXkgYW55IG90aGVy IGNvbXBvbmVudCBkby4gIFlvdSBjYW4gZml4IGl0IGFzCj4gcGFydCBvZiB0aGlzIHNldCBidXQg aXQgaXMgbm90IG1hbmRhdG9yeS4KPgo+IExldCBtZSBrbm93IGlmIHRoZXJlIGFyZSB0aGluZ3Mg SSBoYXZlbid0IGJlZW4gY2xlYXIgb24uCj4KPiBUaGFua3MsCj4gTWF0aGlldQoKSGkgTWF0aGll dSwKCgpEbyB5b3UgbWVhbiBFVE0gc291cmNlcyBhbmQgb3RoZXIgc291cmNlcyBjYW4gc2hhcmUg dGhlIHNhbWUgCiJjb3Jlc2lnaHRfZ2V0X3RyYWNlX2lkIiBmdW5jdGlvbiA/CgoKaW50IHRyYWNl X2lkID0gMTsKCmludCBjb3Jlc2lnaHRfZ2V0X3RyYWNlX2lkICgpCnsKIMKgwqAgwqB0cmFjZV9p ZCArPSAxOwogwqDCoCDCoGlmICh0cmFjZV9pZCA+IDEgJiYgdHJhY2VfaWQgPCAweDcwKQogwqDC oCDCoMKgwqDCoCByZXR1cm4gdHJhY2VfaWQ7CiDCoMKgIMKgZWxzZQogwqDCoCDCoMKgwqDCoCBy ZXR1cm4gLUVJTlZBTDsKfQoKb3IgZG8gd2Ugc3RpbGwgbmVlZCBhIGRpZmZlcmVudCBmdW5jdGlv biBmb3Igb3RoZXIgc291cmNlcyBsaWtlIHVzZSAKImNvcmVzaWdodF9nZXRfc3lzdGVtX3RyYWNl X2lkIiA/ClJldHVybiB0aGUgaWQgZnJvbSAxIGFuZCBza2lwIHRoZSBpZHMgd2hpY2ggZXF1ZWFs cyB0byAKQ09SRVNJR0hUX0VUTV9QTVVfU0VFRCArIChjcHUgKiAyKS4KClRoYW5rcwoKSmlubG9u ZyBNYW8KCj4+Pj4+IDQuIERlZmluZSBhIG5ldyBmdW5jdGlvbiBjYWxsZWQgY29yZXNpZ2h0X3B1 dF9zeXN0ZW1fdHJhY2VfaWQoaW50IGlkKSB0aGF0Cj4+Pj4+IGNsZWFycyB0aGUgYml0IGluIHRo ZSBtYXNrIGNvcnJlc3BvbmRpbmcgdG8gQGlkLgo+Pj4+Pgo+Pj4+PiBGb3Igbm93IHRoYXQgc2hv dWxkIHdvcmsuCj4+Pj4+Cj4+Pj4+Pj4gc3RhdGljIGlubGluZSBpbnQgY29yZXNpZ2h0X2dldF90 cmFjZV9pZChpbnQgY3B1KQo+Pj4+Pj4+IHsKPj4+Pj4+PiAgICAgICAgIC8qCj4+Pj4+Pj4gICAg ICAgICAgKiBBIHRyYWNlIElEIG9mIHZhbHVlIDAgaXMgaW52YWxpZCwgc28gbGV0J3Mgc3RhcnQg YXQgc29tZQo+Pj4+Pj4+ICAgICAgICAgICogcmFuZG9tIHZhbHVlIHRoYXQgZml0cyBpbiA3IGJp dHMgYW5kIGdvIGZyb20gdGhlcmUuICBTaW5jZQo+Pj4+Pj4+ICAgICAgICAgICogdGhlIGNvbW1v biBjb252ZW50aW9uIGlzIHRvIGhhdmUgZGF0YSB0cmFjZSBJRHMgYmUgSShOKSArIDEsCj4+Pj4+ Pj4gICAgICAgICAgKiBzZXQgaW5zdHJ1Y3Rpb24gdHJhY2UgSURzIGFzIGEgZnVuY3Rpb24gb2Yg dGhlIENQVSBudW1iZXIuCj4+Pj4+Pj4gICAgICAgICAgKi8KPj4+Pj4+PiAgICAgICAgIHJldHVy biAoQ09SRVNJR0hUX0VUTV9QTVVfU0VFRCArIChjcHUgKiAyKSk7Cj4+Pj4+Pj4gfQo+Pj4+Pj4+ Cj4+Pj4+PiBUaGlzIGZpeGVkIHJlbGF0aW9uc2hpcCBiZXR3ZWVuIGNwdSBhbmQgdHJhY2UgSUQg aXMgdXNlZCBpbiB0aGUgcGVyZgo+Pj4+Pj4gdG9vbGluZyB0byBwb3B1bGF0ZSB0aGUgZWxlbWVu dHMgaW4gdGhlIHBlcmYuZGF0YSBmaWxlIHRvIGNvcnJlY3RseQo+Pj4+Pj4gYWxsb3cgYXNzb2Np YXRpb24gYmV0d2VlbiBDUFUgYW5kIHRyYWNlIGRhdGEsIGFuZCB0aHVzIGFsbG93IGNvcnJlY3QK Pj4+Pj4+IHRyYWNlIGRlY29kZS4KPj4+Pj4gVHJhY2VJRHMgYXNzb2NpYXRlZCB0byBDUFVzIGFy ZSBjb21tdW5pY2F0ZWQgdG8gdGhlIHBlcmYgdG9vbGluZyBieSB3YXkgb2YgdGhlCj4+Pj4+IHBl cmYgaGVhZGVyIC0gdGhlb3JldGljYWxseSB3ZSBzaG91bGQgYmUgYWJsZSB0byBjaGFuZ2UgdGhl IGFsbG9jYXRpb24gc2NoZW1lCj4+Pj4+IHdpdGhvdXQgaW1wYWN0aW5nIHRoZSBkZWNvZGluZyBw cm9jZXNzLgo+Pj4+Pgo+Pj4+Pj4gSXQgc2hvdWxkIGJlIHBvc3NpYmxlIHRvIGNyZWF0ZSBhbm90 aGVyIG1vcmUgZHluYW1pYyBtYXBwaW5nIHNjaGVtZSAtCj4+Pj4+PiBidXQgdGhpcyBtdXN0IGlu Y2x1ZGUgYSB3YXkgdG8gc3VwcG9ydCB0aGUgcGVyZiByZXF1aXJlbWVudHMgdG9vLgo+Pj4+Pj4K Pj4+Pj4gVHJhY2VJRHMgaGF2ZSBiZWVuIGEgbHVya2luZyBwcm9ibGVtIGZvciBhcyBsb25nIGFz IHRoZSBzdWJzeXN0ZW0gaGFzIGV4aXN0ZWQuCj4+Pj4+IEZvciBub3cgd2hhdCBJIGhhdmUgc3Vn Z2VzdGVkIGFib3ZlIHNob3VsZCBiZSBzdWZmaWNpZW50IHRvIHByb3ZpZGUgYW4KPj4+Pj4gaW4t YmV0d2VlbiBzb2x1dGlvbiB0aGF0IGRvZXNuJ3QgaG9sZCBiYWNrIHRoaXMgcGF0Y2hzZXQuCj4+ Pj4+Cj4+Pj4+IFRoYXQgYmVpbmcgc2FpZCwgd2UgbmVlZCB0byBzdGFydCB0aGlua2luZyBhYm91 dCB0aGUgYmVzdCB3YXkgdG8gZG8gdGhpcy4gIEkKPj4+Pj4gd2lsbCBwdXQgYSBwYXRjaHNldCB0 b2dldGhlciBpbiB0aGUgbmV3IHllYXIgdGhhdCBhaW1zIGluIHRoYXQgZGlyZWN0aW9uLgo+Pj4+ Pgo+Pj4+Pj4gUmVnYXJkcwo+Pj4+Pj4KPj4+Pj4+IE1pa2UKPj4+Pj4+Cj4+Pj4+Pj4gVGhhbmtz Cj4+Pj4+Pj4KPj4+Pj4+PiBKaW5sb25nIE1hbwo+Pj4+Pj4+Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+ PiArc3RhdGljIGludCB0cGRtX3Byb2JlKHN0cnVjdCBhbWJhX2RldmljZSAqYWRldiwgY29uc3Qg c3RydWN0IGFtYmFfaWQgKmlkKQo+Pj4+Pj4+Pj4gK3sKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IGRl dmljZSAqZGV2ID0gJmFkZXYtPmRldjsKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IGNvcmVzaWdodF9w bGF0Zm9ybV9kYXRhICpwZGF0YTsKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IHRwZG1fZHJ2ZGF0YSAq ZHJ2ZGF0YTsKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IGNvcmVzaWdodF9kZXNjIGRlc2MgPSB7IDAg fTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsgICAgZGVzYy5uYW1lID0gY29yZXNpZ2h0X2FsbG9j X2RldmljZV9uYW1lKCZ0cGRtX2RldnMsIGRldik7Cj4+Pj4+Pj4+PiArICAgIGlmICghZGVzYy5u YW1lKQo+Pj4+Pj4+Pj4gKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+Pj4+Pj4+Pj4gKyAg ICBwZGF0YSA9IGNvcmVzaWdodF9nZXRfcGxhdGZvcm1fZGF0YShkZXYpOwo+Pj4+Pj4+Pj4gKyAg ICBpZiAoSVNfRVJSKHBkYXRhKSkKPj4+Pj4+Pj4+ICsgICAgICAgICAgICByZXR1cm4gUFRSX0VS UihwZGF0YSk7Cj4+Pj4+Pj4+PiArICAgIGFkZXYtPmRldi5wbGF0Zm9ybV9kYXRhID0gcGRhdGE7 Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+PiArICAgIGRydmRhdGEgPSBkZXZtX2t6YWxsb2MoZGV2LCBz aXplb2YoKmRydmRhdGEpLCBHRlBfS0VSTkVMKTsKPj4+Pj4+Pj4+ICsgICAgaWYgKCFkcnZkYXRh KQo+Pj4+Pj4+Pj4gKyAgICAgICAgICAgIHJldHVybiAtRU5PTUVNOwo+Pj4+Pj4+Pj4gKyAgICBk cnZkYXRhLT5kZXYgPSAmYWRldi0+ZGV2Owo+Pj4+Pj4+Pj4gKyAgICBkZXZfc2V0X2RydmRhdGEo ZGV2LCBkcnZkYXRhKTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsgICAgZHJ2ZGF0YS0+YmFzZSA9 IGRldm1faW9yZW1hcF9yZXNvdXJjZShkZXYsICZhZGV2LT5yZXMpOwo+Pj4+Pj4+Pj4gKyAgICBp ZiAoIWRydmRhdGEtPmJhc2UpCj4+Pj4+Pj4+PiArICAgICAgICAgICAgcmV0dXJuIC1FTk9NRU07 Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+PiArICAgIG11dGV4X2luaXQoJmRydmRhdGEtPmxvY2spOwo+ Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4gKyAgICBkZXNjLnR5cGUgPSBDT1JFU0lHSFRfREVWX1RZUEVf U09VUkNFOwo+Pj4+Pj4+Pj4gKyAgICBkZXNjLnN1YnR5cGUuc291cmNlX3N1YnR5cGUgPSBDT1JF U0lHSFRfREVWX1NVQlRZUEVfU09VUkNFX1NZUzsKPj4+Pj4+Pj4+ICsgICAgZGVzYy5vcHMgPSAm dHBkbV9jc19vcHM7Cj4+Pj4+Pj4+PiArICAgIGRlc2MucGRhdGEgPSBhZGV2LT5kZXYucGxhdGZv cm1fZGF0YTsKPj4+Pj4+Pj4+ICsgICAgZGVzYy5kZXYgPSAmYWRldi0+ZGV2Owo+Pj4+Pj4+Pj4g KyAgICBkcnZkYXRhLT5jc2RldiA9IGNvcmVzaWdodF9yZWdpc3RlcigmZGVzYyk7Cj4+Pj4+Pj4+ PiArICAgIGlmIChJU19FUlIoZHJ2ZGF0YS0+Y3NkZXYpKQo+Pj4+Pj4+Pj4gKyAgICAgICAgICAg IHJldHVybiBQVFJfRVJSKGRydmRhdGEtPmNzZGV2KTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsg ICAgdHBkbV9pbml0X2RlZmF1bHRfZGF0YShkcnZkYXRhKTsKPj4+Pj4+Pj4+ICsgICAgcG1fcnVu dGltZV9wdXQoJmFkZXYtPmRldik7Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+PiArICAgIHJldHVybiAw Owo+Pj4+Pj4+Pj4gK30KPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICtzdGF0aWMgdm9pZCBfX2V4aXQg dHBkbV9yZW1vdmUoc3RydWN0IGFtYmFfZGV2aWNlICphZGV2KQo+Pj4+Pj4+Pj4gK3sKPj4+Pj4+ Pj4+ICsgICAgc3RydWN0IHRwZG1fZHJ2ZGF0YSAqZHJ2ZGF0YSA9IGRldl9nZXRfZHJ2ZGF0YSgm YWRldi0+ZGV2KTsKPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsgICAgY29yZXNpZ2h0X3VucmVnaXN0 ZXIoZHJ2ZGF0YS0+Y3NkZXYpOwo+Pj4+Pj4+Pj4gK30KPj4+Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICtz dGF0aWMgc3RydWN0IGFtYmFfaWQgdHBkbV9pZHNbXSA9IHsKPj4+Pj4+Pj4+ICsgICAgewo+Pj4+ Pj4+Pj4gKyAgICAgICAgICAgIC5pZCA9IDB4MDAwZjBlMDAsCj4+Pj4+Pj4+PiArICAgICAgICAg ICAgLm1hc2sgPSAweDAwMGZmZjAwLAo+Pj4+Pj4+Pj4gKyAgICB9LAo+Pj4+Pj4+Pj4gKyAgICB7 IDAsIDB9LAo+Pj4+Pj4+Pj4gK307Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+PiArc3RhdGljIHN0cnVj dCBhbWJhX2RyaXZlciB0cGRtX2RyaXZlciA9IHsKPj4+Pj4+Pj4+ICsgICAgLmRydiA9IHsKPj4+ Pj4+Pj4+ICsgICAgICAgICAgICAubmFtZSAgID0gImNvcmVzaWdodC10cGRtIiwKPj4+Pj4+Pj4+ ICsgICAgICAgICAgICAub3duZXIgID0gVEhJU19NT0RVTEUsCj4+Pj4+Pj4+PiArICAgICAgICAg ICAgLnN1cHByZXNzX2JpbmRfYXR0cnMgPSB0cnVlLAo+Pj4+Pj4+Pj4gKyAgICB9LAo+Pj4+Pj4+ Pj4gKyAgICAucHJvYmUgICAgICAgICAgPSB0cGRtX3Byb2JlLAo+Pj4+Pj4+Pj4gKyAgICAuaWRf dGFibGUgICAgICAgPSB0cGRtX2lkcywKPj4+Pj4+Pj4+ICt9Owo+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+ Pj4gK21vZHVsZV9hbWJhX2RyaXZlcih0cGRtX2RyaXZlcik7Cj4+Pj4+Pj4+PiArCj4+Pj4+Pj4+ PiArTU9EVUxFX0xJQ0VOU0UoIkdQTCB2MiIpOwo+Pj4+Pj4+Pj4gK01PRFVMRV9ERVNDUklQVElP TigiVHJhY2UsIFByb2ZpbGluZyAmIERpYWdub3N0aWMgTW9uaXRvciBkcml2ZXIiKTsKPj4+Pj4+ Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2h3dHJhY2luZy9jb3Jlc2lnaHQvY29yZXNpZ2h0LXRw ZG0uaCBiL2RyaXZlcnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtdHBkbS5oCj4+Pj4+ Pj4+PiBuZXcgZmlsZSBtb2RlIDEwMDY0NAo+Pj4+Pj4+Pj4gaW5kZXggMDAwMDAwMDAwMDAwLi45 ODBhZTkwZmYxYzgKPj4+Pj4+Pj4+IC0tLSAvZGV2L251bGwKPj4+Pj4+Pj4+ICsrKyBiL2RyaXZl cnMvaHd0cmFjaW5nL2NvcmVzaWdodC9jb3Jlc2lnaHQtdHBkbS5oCj4+Pj4+Pj4+PiBAQCAtMCww ICsxLDMxIEBACj4+Pj4+Pj4+PiArLyogU1BEWC1MaWNlbnNlLUlkZW50aWZpZXI6IEdQTC0yLjAg Ki8KPj4+Pj4+Pj4+ICsvKgo+Pj4+Pj4+Pj4gKyAqIENvcHlyaWdodCAoYykgMjAyMSBRdWFsY29t bSBJbm5vdmF0aW9uIENlbnRlciwgSW5jLiBBbGwgcmlnaHRzIHJlc2VydmVkLgo+Pj4+Pj4+Pj4g KyAqLwo+Pj4+Pj4+Pj4gKwo+Pj4+Pj4+Pj4gKyNpZm5kZWYgX0NPUkVTSUdIVF9DT1JFU0lHSFRf VFBETV9ICj4+Pj4+Pj4+PiArI2RlZmluZSBfQ09SRVNJR0hUX0NPUkVTSUdIVF9UUERNX0gKPj4+ Pj4+Pj4+ICsKPj4+Pj4+Pj4+ICsvKiBEZWZhdWx0IHZhbHVlIG9mIHRoZSB0cmFjZWlkICovCj4+ Pj4+Pj4+PiArI2RlZmluZSBUUERNX1RSQUNFX0lEX1NUQVJUIDEyOAo+Pj4+Pj4+Pj4gKwo+Pj4+ Pj4+Pj4gKy8qKgo+Pj4+Pj4+Pj4gKyAqIHN0cnVjdCB0cGRtX2RydmRhdGEgLSBzcGVjaWZpY3Mg YXNzb2NpYXRlZCB0byBhbiBUUERNIGNvbXBvbmVudAo+Pj4+Pj4+Pj4gKyAqIEBiYXNlOiAgICAg ICBtZW1vcnkgbWFwcGVkIGJhc2UgYWRkcmVzcyBmb3IgdGhpcyBjb21wb25lbnQuCj4+Pj4+Pj4+ PiArICogQGRldjogICAgICAgIFRoZSBkZXZpY2UgZW50aXR5IGFzc29jaWF0ZWQgdG8gdGhpcyBj b21wb25lbnQuCj4+Pj4+Pj4+PiArICogQGNzZGV2OiAgICAgIGNvbXBvbmVudCB2aXRhbHMgbmVl ZGVkIGJ5IHRoZSBmcmFtZXdvcmsuCj4+Pj4+Pj4+PiArICogQGxvY2s6ICAgICAgIGxvY2sgZm9y IHRoZSBlbmFibGUgdmFsdWUuCj4+Pj4+Pj4+PiArICogQGVuYWJsZTogICAgIGVuYWJsZSBzdGF0 dXMgb2YgdGhlIGNvbXBvbmVudC4KPj4+Pj4+Pj4+ICsgKiBAdHJhY2VpZDogICAgdmFsdWUgb2Yg dGhlIGN1cnJlbnQgSUQgZm9yIHRoaXMgY29tcG9uZW50Lgo+Pj4+Pj4+Pj4gKyAqLwo+Pj4+Pj4+ Pj4gKwo+Pj4+Pj4+Pj4gK3N0cnVjdCB0cGRtX2RydmRhdGEgewo+Pj4+Pj4+Pj4gKyAgICB2b2lk IF9faW9tZW0gICAgICAgICAgICAqYmFzZTsKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IGRldmljZSAg ICAgICAgICAgKmRldjsKPj4+Pj4+Pj4+ICsgICAgc3RydWN0IGNvcmVzaWdodF9kZXZpY2UgKmNz ZGV2Owo+Pj4+Pj4+Pj4gKyAgICBzdHJ1Y3QgbXV0ZXggICAgICAgICAgICBsb2NrOwo+Pj4+Pj4+ Pj4gKyAgICBib29sICAgICAgICAgICAgICAgICAgICBlbmFibGU7Cj4+Pj4+Pj4+PiArICAgIGlu dCAgICAgICAgICAgICAgICAgICAgIHRyYWNlaWQ7Cj4+Pj4+Pj4+PiArfTsKPj4+Pj4+Pj4+ICsK Pj4+Pj4+Pj4+ICsjZW5kaWYgIC8qIF9DT1JFU0lHSFRfQ09SRVNJR0hUX1RQRE1fSCAqLwo+Pj4+ Pj4+Pj4gZGlmZiAtLWdpdCBhL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LmggYi9pbmNsdWRlL2xp bnV4L2NvcmVzaWdodC5oCj4+Pj4+Pj4+PiBpbmRleCA5M2EyOTIyYjc2NTMuLmU0OGQ0NjNiZTYz YiAxMDA2NDQKPj4+Pj4+Pj4+IC0tLSBhL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LmgKPj4+Pj4+ Pj4+ICsrKyBiL2luY2x1ZGUvbGludXgvY29yZXNpZ2h0LmgKPj4+Pj4+Pj4+IEBAIC02NSw2ICs2 NSw3IEBAIGVudW0gY29yZXNpZ2h0X2Rldl9zdWJ0eXBlX3NvdXJjZSB7Cj4+Pj4+Pj4+PiAgICAg ICAgIENPUkVTSUdIVF9ERVZfU1VCVFlQRV9TT1VSQ0VfUFJPQywKPj4+Pj4+Pj4+ICAgICAgICAg Q09SRVNJR0hUX0RFVl9TVUJUWVBFX1NPVVJDRV9CVVMsCj4+Pj4+Pj4+PiAgICAgICAgIENPUkVT SUdIVF9ERVZfU1VCVFlQRV9TT1VSQ0VfU09GVFdBUkUsCj4+Pj4+Pj4+PiArICAgIENPUkVTSUdI VF9ERVZfU1VCVFlQRV9TT1VSQ0VfU1lTLAo+Pj4+Pj4+Pj4gICAgICB9Owo+Pj4+Pj4+Pj4KPj4+ Pj4+Pj4+ICAgICAgZW51bSBjb3Jlc2lnaHRfZGV2X3N1YnR5cGVfaGVscGVyIHsKPj4+Pj4+Pj4+ IC0tCj4+Pj4+Pj4+PiAyLjE3LjEKPj4+Pj4+Pj4+Cj4+Pj4+PiAtLSAKPj4+Pj4+IE1pa2UgTGVh Y2gKPj4+Pj4+IFByaW5jaXBhbCBFbmdpbmVlciwgQVJNIEx0ZC4KPj4+Pj4+IE1hbmNoZXN0ZXIg RGVzaWduIENlbnRyZS4gVUsKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1rZXJuZWxA bGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK