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=-1.2 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,MAILING_LIST_MULTI,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 6BE6AC6786C for ; Fri, 14 Dec 2018 08:24:27 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 368A92086D for ; Fri, 14 Dec 2018 08:24:27 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="O0ku2WUf"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="SEqa/uQv" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 368A92086D Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.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:Subject: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=Fs6+tDp0okHM3yb6J3noH/bUWvF/YJFo3RqOjzKgCDA=; b=O0ku2WUflX19DS fhYkpKnK52UanUH0y5jKyUygx2CuYG3npV2f0SmotzEodm36p/iz1liCMZJaIkaXkqUu/4x9OL9me 5l+8nQVofK9sK6hmj+Y7dnIt2p7k+/oTBIuLnzOubB+NELuse6d8DBo+yeG9peVI9LV8GPWgqOE3+ 1+Ub+jPHzWExSChsl7OmOFWde4eMiZyDw4sARRsPXIwX3cN61xFZXQdlvNQfBwIu19hS3ZMKZf/rx GCn4M56oQjrZ8mbQw4KOYgssGhnFW+Bjjj9N78aaHxcRfKWtlMsmlMdl6a0sm7SYrS5+qnpPAzBQd rjCAgSWe535Ez5hITbcQ==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.90_1 #2 (Red Hat Linux)) id 1gXilm-0003TB-PI; Fri, 14 Dec 2018 08:24:26 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.90_1 #2 (Red Hat Linux)) id 1gXilj-0003SP-JV for linux-i3c@lists.infradead.org; Fri, 14 Dec 2018 08:24:25 +0000 Received: from bbrezillon (aaubervilliers-681-1-89-7.w90-88.abo.wanadoo.fr [90.88.30.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id B7ED32086D; Fri, 14 Dec 2018 08:24:11 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544775853; bh=VamouKqgrqrUuq5sO39ez+eVoSd6sT+ggSKQ/6zo/dg=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=SEqa/uQvcCe8DHjETG59wlbp0Sxhuilfzk8GAYRE2kXenHh854Nzl8+J4GqTJgIyy bCGq43cVYerSqpyPNn58G41e4sXEEofO0qMY8fsKSjQOCltvTyAm9jsLY/oPqToqUk gkcD09lk/JgwxBLwYgsSQAkbD26p4+ToBPGlWQ6g= Date: Fri, 14 Dec 2018 09:24:07 +0100 From: Boris Brezillon To: Przemyslaw Gaj Subject: Re: [PATCH 1/2] i3c: Add support for mastership request to I3C subsystem Message-ID: <20181214092407.4882ef31@bbrezillon> In-Reply-To: References: <68ffa8026fb3cc32415058861ece07f158b00647.1544703840.git.pgaj@cadence.com> <20181213145020.124cb103@bbrezillon> X-Mailer: Claws Mail 3.16.0 (GTK+ 2.24.32; x86_64-pc-linux-gnu) MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20181214_002423_671737_97C623CB X-CRM114-Status: GOOD ( 41.75 ) X-BeenThere: linux-i3c@lists.infradead.org X-Mailman-Version: 2.1.21 Precedence: list List-Id: Linux I3C List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: "linux-i3c@lists.infradead.org" , Przemyslaw Sroka , Rafal Ciepiela , "vitor.soares@synopsys.com" Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-i3c" Errors-To: linux-i3c-bounces+linux-i3c=archiver.kernel.org@lists.infradead.org SGkgUHJ6ZW1laywKCk9uIEZyaSwgMTQgRGVjIDIwMTggMDc6MTQ6NDQgKzAwMDAKUHJ6ZW15c2xh dyBHYWogPHBnYWpAY2FkZW5jZS5jb20+IHdyb3RlOgoKPiAgICAgPiBNYXN0ZXJzaGlwIHJlcXVl c3Qgb2NjdXJzIGluIHRoZSBmb2xsb3dpbmcgY2FzZXM6Cj4gICAgID4gLSBNYXN0ZXJzaGlwIGlz IHJlcXVlc3RlZCBhdXRvbWF0aWNhbGx5IGFmdGVyIHNlY29uZGFyeSBtYXN0ZXIKPiAgICAgPiBy ZWNlaXZlcyBtYXN0ZXJzaGlwIEVORUMgZXZlbnQuIFRoaXMgYWxsb3dzIHNlY29uZGFyeSBtYXN0 ZXJzIHRvCj4gICAgID4gaW5pdGlhbGl6ZSB0aGVpciBidXMgIAo+ICAgICAKPiAgICAgSSBndWVz cyB0aGlzIG9ubHkgaGFwcGVucyB3aGVuIHRoZSBzZWNvbmRhcnkgbWFzdGVyIHJlY2VpdmVkIGEg REVGU0xWUwo+ICAgICBwYWNrZXQsIHJpZ2h0Pwo+IAo+IEFjdHVhbGx5LCB0aGlzIGhhcHBlbnMg d2hlbiBjdXJyZW50IG1hc3RlciBlbmFibGVzIE1SIGV2ZW50LiAKPiBIZSBzaG91bGQgdGFrZSBj YXJlIG9mIHByb3ZpZGluZyBkZXZpY2VzIGxpc3QuCj4gT2YgY291cnNlLCB3ZSBjYW4gY29uc2lk ZXIgYWRkaW5nIGEgZmxhZyB3aGljaCBpbmRpY2F0ZXMgaWYgc2xhdmVzIGFyZSBhbHJlYWR5IGRl ZmluZWQgb3Igbm90LgoKaTNjX21hc3Rlcl9hZGRfaTNjX2Rldl9sb2NrZWQoKSBhbHJlYWR5IGhh bmRsZXMgdGhpcyAiZGV2aWNlIGlzIGFscmVhZHkKa25vd24vcmVnaXN0ZXJlZCIgY2FzZSwgc28g dGhhdCBzaG91bGRuJ3QgYmUgYSBwcm9ibGVtLgoKPiAgICAgPiAgc3RhdGljIGNvbnN0IGNoYXIg KiBjb25zdCBpM2NfYnVzX21vZGVfc3RyaW5nc1tdID0gewo+ICAgICA+ICAJW0kzQ19CVVNfTU9E RV9QVVJFXSA9ICJwdXJlIiwKPiAgICAgPiAgCVtJM0NfQlVTX01PREVfTUlYRURfRkFTVF0gPSAi bWl4ZWQtZmFzdCIsCj4gICAgID4gQEAgLTQ5MSw4ICs1MDAsMTUgQEAgc3RhdGljIHNzaXplX3Qg Y3VycmVudF9tYXN0ZXJfc2hvdyhzdHJ1Y3QgZGV2aWNlICpkZXYsCj4gICAgID4gIAkJCQkgICBj aGFyICpidWYpCj4gICAgID4gIHsKPiAgICAgPiAgCXN0cnVjdCBpM2NfYnVzICppM2NidXMgPSBk ZXZfdG9faTNjYnVzKGRldik7Cj4gICAgID4gKwlzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVy ICptYXN0ZXI7Cj4gICAgID4gIAlzc2l6ZV90IHJldDsKPiAgICAgPiAgCj4gICAgID4gKwlpZiAo IWkzY2J1cy0+Y3VyX21hc3Rlcikgewo+ICAgICA+ICsJCW1hc3RlciA9IGNvbnRhaW5lcl9vZihp M2NidXMsIHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIsIGJ1cyk7Cj4gICAgID4gKwkJaWYg KGkzY19tYXN0ZXJfcmVxdWVzdF9tYXN0ZXJzaGlwKG1hc3RlcikpCj4gICAgID4gKwkJCXJldHVy biBzcHJpbnRmKGJ1ZiwgInVua25vd25cbiIpOwo+ICAgICA+ICsJfSAgCj4gICAgIAo+ICAgICBI bSwgd2h5IGlzIHRoYXQgbmVlZGVkPyBXaGVuIHlvdSBhcmUgYSBzZWNvbmRhcnkgbWFzdGVyIC0+ Y3VyX21hc3Rlcgo+ICAgICBzaG91bGQgYmUgc2V0IHRvIHRoZSBpM2NfZGV2X2Rlc2MgcmVwcmVz ZW50aW5nIHRoZSBtYWluIG1hc3RlciBhdCBpbml0Cj4gICAgIHRpbWUuCj4gCj4gSSBkbyBub3Qg YWRkIGRldmljZXMgYXQgaW5pdGlhbGl6YXRpb24gdGltZSwgc28gc2Vjb25kYXJ5IG1hc3RlciBk b2VzIG5vdCBoYXZlIGkzY19kZXZfZGVzYyBvYmplY3QgZGVzY3JpYmluZyBtYWluIG1hc3Rlci4K PiBERUZTTFZTIGlzIHByb3ZpZGluZyB1cyBpbmNvbXBsZXRlIGluZm9ybWF0aW9uLCB3ZSBkb27i gJl0IGhhdmUgUElEIHlldC4gUElEIGlzIHJldHJpZXZlZCBmcm9tIGRldmljZSB3aGVuIHNlY29u ZGFyeSBtYXN0ZXIgYWRkcyBkZXZpY2UuIAo+IFRoaXMgaXMgcG9zc2libGUgb25seSBpZiBjdXJy ZW50IG1hc3RlciBpcyByZWFkeSB0byByZWxpbnF1aXNoIGJ1cyBjb250cm9sLgo+IAo+IEkgZGVj aWRlZCB0byBzZXQgY3VyX21hc3RlciBhZnRlciBzZWNvbmRhcnkgbWFzdGVyIGNvbXBsZXRlbHkg aW5pdGlhbGl6ZWQgaGlzIGJ1cy4gV2hhdCBkbyB5b3UgdGhpbms/CgpNYXliZSB3ZSBzaG91bGQg bm90IGluaXRpYWxpemUgdGhlIGJ1cyB1bnRpbCB3ZSBoYXZlIERFRlNMVlMKaW5mb3JtYXRpb24g dGhlbi4KCj4gICAgIAo+ICAgICA+ICAJCXJldHVybiAtRUlOVkFMOwo+ICAgICA+ICAKPiAgICAg PiAgCWlmIChtYXN0ZXItPnRoaXMpCj4gICAgID4gQEAgLTE1NjksNyArMTYyOCw4IEBAIGludCBp M2NfbWFzdGVyX3NldF9pbmZvKHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIgKm1hc3RlciwK PiAgICAgPiAgCQlyZXR1cm4gUFRSX0VSUihpM2NkZXYpOwo+ICAgICA+ICAKPiAgICAgPiAgCW1h c3Rlci0+dGhpcyA9IGkzY2RldjsKPiAgICAgPiAtCW1hc3Rlci0+YnVzLmN1cl9tYXN0ZXIgPSBt YXN0ZXItPnRoaXM7Cj4gICAgID4gKwlpZiAobWFzdGVyLT5vcF9tb2RlID09IEkzQ19NQVNURVJf TU9ERSkKPiAgICAgPiArCQltYXN0ZXItPmJ1cy5jdXJfbWFzdGVyID0gbWFzdGVyLT50aGlzOyAg Cj4gICAgIAo+ICAgICBXaGVuIHlvdSBoYXJlIGEgc2Vjb25kYXJ5IG1hc3RlciwgeW91IHNob3Vs ZCBtYWtlIC0+Y3VyX21hc3RlciBwb2ludCB0bwo+ICAgICBhbiBpM2NfZGV2X2Rlc2MgZGVzY3Jp YmluZyB0aGUgY3VycmVudC9tYWluIG1hc3Rlci4gU2hvdWxkIGJlIHBvc3NpYmxlCj4gICAgIHRo YW5rcyB0byB0aGUgREVGU0xWUyBpbmZvLgo+IAo+IEFzIEkgc2FpZCBiZWZvcmUgaXQncyBub3Qg c28gZWFzeSB3aXRoIERFRlNMVlMuIAo+IFdlIGNhbiBjb25zaWRlciBjcmVhdGluZyBkZXZpY2Ug bGlzdCB3aXRob3V0IGZ1bGwgaW5mb3JtYXRpb24uIERvIHlvdSBhZ3JlZT8KCldlIGNhbiBqdXN0 IGxlYXZlIC0+Y3VyX21hc3RlciB0byBOVUxMIGF0IGZpcnN0IGFuZCBoYXZlIHRoZSBmb2xsb3dp bmcKZnVuY3Rpb246CgpzdGF0aWMgYm9vbCBpM2NfbWFzdGVyX293bnNfYnVzKHN0cnVjdCBpM2Nf bWFzdGVyX2NvbnRyb2xsZXIgKm1hc3RlcikKewoJcmV0dXJuIG1hc3Rlci0+YnVzLT5jdXJfbWFz dGVyID09IG1hc3Rlci0+dGhpczsKfQoKUmVnYXJkaW5nIHRoZSBwcm9wb3NhbCB0byBoYXZlIGEg cGFydGlhbGx5IGRpc2NvdmVyZWQgZGV2aWNlIGxpc3QsIHdoeQpub3QsIGRlcGVuZHMgd2hhdCB3 ZSB3YW50IHRvIGRvIHdpdGggdGhhdC4KCj4gICAgIAo+ICAgICA+ICAKPiAgICAgPiAgCXJldCA9 IGkzY19tYXN0ZXJfYXR0YWNoX2kzY19kZXYobWFzdGVyLCBpM2NkZXYpOwo+ICAgICA+ICAJaWYg KHJldCkKPiAgICAgPiBAQCAtMTcyNyw2ICsxNzg3LDEyIEBAIHN0YXRpYyBpbnQgaTNjX21hc3Rl cl9idXNfaW5pdChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXIpCj4gICAgID4g IAl9Cj4gICAgID4gIAo+ICAgICA+ICAJLyoKPiAgICAgPiArCSAqIERvbid0IHJlc2V0IGFkZHJl c3NlcyBpZiB0aGlzIGlzIHNlY29uZGFyeSBtYXN0ZXIuCj4gICAgID4gKwkgKiBTZWNvbmRhcnkg bWFzdGVycyBjYW4ndCBkbyBEQUEuCj4gICAgID4gKwkgKi8gIAo+ICAgICAKPiAgICAgSG0sIEkn bSBub3Qgc3VyZSBob3cgdGhhdCdzIHN1cHBvc2VkIHRvIHdvcmsuIFdoYXQgaWYgdGhlIHNlY29u ZGFyeQo+ICAgICBtYXN0ZXIgd2FzIGluaXRpYWxpemVkIGJ5IHRoZSBib290bG9hZGVyLiBEb24n dCB5b3UgbmVlZCB0byByZXNldAo+ICAgICBzb21ldGhpbmcgYW5kIG1heWJlIHRyaWdnZXIgYSBN U1RSRVErREFBIG9yIGEgSG90Sm9pbj8KPiAKPiBFdmVuIGlmIHNlY29uZGFyeSBtYXN0ZXIgZG9l cyBNU1RSRVEsIGhlIGNhbid0IGRvIERBQS4gSGUgY2FuJ3QgbWFuYWdlIHRoZSBidXMsIG9ubHkg bWFpbiBtYXN0ZXIgY2FuIGRvIHRoYXQuCj4gSSdsbCBwb2ludCB0aGlzIGluZm9ybWF0aW9uIGlu IHNwZWMgYmVsb3cuCgpUaGFua3MuCgo+IAo+IEknbSB3b25kZXJpbmcgYWJvdXQgSG90Sm9pbi4g SSBjYW4ndCBmaW5kIHRoaXMgdXNlIGNhc2UgaW4gbXkgbWluZC4KPiAgICAgPiArCS8qCj4gICAg ID4gKwkgKiBXZSBjYW4gcmVnaXN0ZXIgSTNDIGRldmljZXMgcmVjZWl2ZWQgZnJvbSBtYXN0ZXIg YnkgREVGU0xWUy4KPiAgICAgPiArCSAqLwo+ICAgICA+ICsJbWFzdGVyLT5pbml0X2RvbmUgPSB0 cnVlOyAgCj4gICAgIAo+ICAgICBJIHRoaW5rIHRoaXMgc2hvdWxkIGJlIHNldCBiZWZvcmUgdGhh dCwgaW4gdGhlIGkzY19tYXN0ZXJfcmVnaXN0ZXIoKQo+ICAgICBmdW5jdGlvbi4gV2hlbiBhIHNl Y29uZGFyeSBtYXN0ZXIgaXMgaW5pdGlhbGl6ZWQsIGl0IHNob3VsZCBwb3B1bGF0ZQo+ICAgICB0 aGUgZGV2IGxpc3QgYmFzZWQgb24gYSBwcmV2aW91cyBERUZTTFZTIGZyYW1lIGl0IGhhcyByZWNl aXZlZCBiZWZvcmUKPiAgICAgdGhlIC0+cHJvYmUoKSBjYWxsLCBvciBqdXN0IHN0YXJ0IHdpdGgg YW4gZW1wdHkgbGlzdC4KPiAKPiBTYW1lIGhlcmUuIEkgZG8gbm90IHBvcHVsYXRlIGxpc3Qgb2Yg ZGV2aWNlcyB1bnRpbCBJJ20gYWJsZSB0byBnZXQgZnVsbCBpbmZvcm1hdGlvbiBmcm9tIGRldmlj ZXMuCgpDb3JyZWN0LiBCdXQgLT5pbml0X2RvbmUgc2hvdWxkIGJlIHNldCBiZWZvcmUgdGhhdCBJ TU8sIHVubGVzcyB3ZQpkZWNpZGUgdG8gZGVmZXIgYnVzIGluaXRpYWxpemF0aW9uIGFmdGVyIERF RlNMVlMvRU5FQyhNUikuCgo+ICAgICAKPiAgICAgPiArCWkzY19idXNfbm9ybWFsdXNlX2xvY2so Jm1hc3Rlci0+YnVzKTsKPiAgICAgPiArCWkzY19tYXN0ZXJfcmVnaXN0ZXJfbmV3X2kzY19kZXZz KG1hc3Rlcik7Cj4gICAgID4gKwlpM2NfYnVzX25vcm1hbHVzZV91bmxvY2soJm1hc3Rlci0+YnVz KTsKPiAgICAgPiArfQo+ICAgICA+ICsKPiAgICAgPiAgLyoqCj4gICAgID4gICAqIGkzY19tYXN0 ZXJfcmVnaXN0ZXIoKSAtIHJlZ2lzdGVyIGFuIEkzQyBtYXN0ZXIKPiAgICAgPiAgICogQG1hc3Rl cjogbWFzdGVyIHVzZWQgdG8gc2VuZCBmcmFtZXMgb24gdGhlIGJ1cwo+ICAgICA+ICAgKiBAcGFy ZW50OiB0aGUgcGFyZW50IGRldmljZSAodGhlIG9uZSB0aGF0IHByb3ZpZGVzIHRoaXMgSTNDIG1h c3Rlcgo+ICAgICA+ICAgKgkgICAgY29udHJvbGxlcikKPiAgICAgPiAgICogQG9wczogdGhlIG1h c3RlciBjb250cm9sbGVyIG9wZXJhdGlvbnMKPiAgICAgPiAtICogQHNlY29uZGFyeTogdHJ1ZSBp ZiB5b3UgYXJlIHJlZ2lzdGVyaW5nIGEgc2Vjb25kYXJ5IG1hc3Rlci4gV2lsbCByZXR1cm4KPiAg ICAgPiAtICoJICAgICAgIC1FTk9UU1VQUCBpZiBzZXQgdG8gdHJ1ZSBzaW5jZSBzZWNvbmRhcnkg bWFzdGVycyBhcmUgbm90IHlldAo+ICAgICA+IC0gKgkgICAgICAgc3VwcG9ydGVkCj4gICAgID4g KyAqIEBzZWNvbmRhcnk6IHRydWUgaWYgeW91IGFyZSByZWdpc3RlcmluZyBhIHNlY29uZGFyeSBt YXN0ZXIuCj4gICAgID4gICAqCj4gICAgID4gICAqIFRoaXMgZnVuY3Rpb24gdGFrZXMgY2FyZSBv ZiBldmVyeXRoaW5nIGZvciB5b3U6Cj4gICAgID4gICAqCj4gICAgID4gQEAgLTI0MjQsMTAgKzI1 NTksNiBAQCBpbnQgaTNjX21hc3Rlcl9yZWdpc3RlcihzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9s bGVyICptYXN0ZXIsCj4gICAgID4gIAlzdHJ1Y3QgaTJjX2Rldl9ib2FyZGluZm8gKmkyY2JpOwo+ ICAgICA+ICAJaW50IHJldDsKPiAgICAgPiAgCj4gICAgID4gLQkvKiBXZSBkbyBub3Qgc3VwcG9y dCBzZWNvbmRhcnkgbWFzdGVycyB5ZXQuICovCj4gICAgID4gLQlpZiAoc2Vjb25kYXJ5KQo+ICAg ICA+IC0JCXJldHVybiAtRU5PVFNVUFA7Cj4gICAgID4gLQo+ICAgICA+ICAJcmV0ID0gaTNjX21h c3Rlcl9jaGVja19vcHMob3BzKTsKPiAgICAgPiAgCWlmIChyZXQpCj4gICAgID4gIAkJcmV0dXJu IHJldDsKPiAgICAgPiBAQCAtMjQzOSw2ICsyNTcwLDcgQEAgaW50IGkzY19tYXN0ZXJfcmVnaXN0 ZXIoc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlciAqbWFzdGVyLAo+ICAgICA+ICAJbWFzdGVy LT5kZXYucmVsZWFzZSA9IGkzY19tYXN0ZXJkZXZfcmVsZWFzZTsKPiAgICAgPiAgCW1hc3Rlci0+ b3BzID0gb3BzOwo+ICAgICA+ICAJbWFzdGVyLT5zZWNvbmRhcnkgPSBzZWNvbmRhcnk7Cj4gICAg ID4gKwltYXN0ZXItPm9wX21vZGUgPSBzZWNvbmRhcnkgPyBJM0NfU0xBVkVfTU9ERSA6IEkzQ19N QVNURVJfTU9ERTsKPiAgICAgPiAgCUlOSVRfTElTVF9IRUFEKCZtYXN0ZXItPmJvYXJkaW5mby5p MmMpOwo+ICAgICA+ICAJSU5JVF9MSVNUX0hFQUQoJm1hc3Rlci0+Ym9hcmRpbmZvLmkzYyk7Cj4g ICAgID4gIAo+ICAgICA+IEBAIC0yNDk3LDYgKzI2MjksMTMgQEAgaW50IGkzY19tYXN0ZXJfcmVn aXN0ZXIoc3RydWN0IGkzY19tYXN0ZXJfY29udHJvbGxlciAqbWFzdGVyLAo+ICAgICA+ICAJCWdv dG8gZXJyX2RlbF9kZXY7Cj4gICAgID4gIAo+ICAgICA+ICAJLyoKPiAgICAgPiArCSAqIFdlIGNh biBzdG9wIGhlcmUuIERldmljZXMgd2lsbCBiZSBhdHRhY2hlZCBhZnRlciBidXMgdGFrZW92ZXIu Cj4gICAgID4gKwkgKiBTZWNvbmRhcnkgbWFzdGVycyBjYW4ndCBkbyBEQUEuCj4gICAgID4gKwkg Ki8KPiAgICAgPiArCWlmIChtYXN0ZXItPnNlY29uZGFyeSkKPiAgICAgPiArCQlyZXR1cm4gMDsg IAo+ICAgICAKPiAgICAgU2VlLCBJIGRvbid0IHRoaW5rIHdlIHNob3VsZCBzdG9wIGhlcmUuIFdl IHNob3VsZCBwcm92aWRlIGEgaG9vayB0byBsZXQKPiAgICAgc2Vjb25kYXJ5IHNsYXZlcyBwb3B1 bGF0ZSB0aGUgZGV2IGxpc3QgYmFzZWQgb24gZGF0YSB0aGV5IG1pZ2h0IGhhdmUKPiAgICAgcmVj ZWl2ZWQgYmVmb3JlIHRoYXQuCj4gCj4gRG8gd2Ugd2FudCB0byBwb3B1bGF0ZSBsaXN0IHdpdGgg ZGF0YSByZWNlaXZlZCBieSBERUZTTFZTPyAKCkkgZ3Vlc3Mgd2UgZG8uIEkgbWVhbiwgd2Ugc2hv dWxkbid0IHBvcHVsYXRlIHRoZSBsaXN0IGRpcmVjdGx5LCBidXQKd2Ugc2hvdWxkIHJlcXVlc3Qg YnVzIG93bmVyc2hpcCwgYW5kIHRoZW4gYWRkIEkzQyBkZXZpY2VzIG9uZSBieSBvbmUKdXNpbmcg aTNjX21hc3Rlcl9hZGRfaTNjX2Rldl9sb2NrZWQoKS4gVGhpcyBmdW5jdGlvbiB3aWxsIGRvIHRo ZSByZXN0CihxdWVyeSBQSUQsIEJDUiwgRENSLCAuLi4gYW5kIHRoZW4gYWRkIHRoZSBkZXZpY2Ug dG8gdGhlIGxpc3QpLgoKPiBJZiB5ZXMsIEkgY2FuIHBvcHVsYXRlIGxpc3QgYnV0IHdlIGFyZSBu b3QgYWJsZSB0byByZWdpc3RlciBkZXZpY2VzIGJlY2F1c2Ugd2UgZG9u4oCZdCBoYXZlIAo+IFBJ RCB5ZXQgYW5kIGRldmljZSBkcml2ZXJzIGFyZSBtYXRjaGVkIGJ5IFBJRC4KCk5vdyBJIHVuZGVy c3RhbmQgd2h5IHlvdSB3YW50IGl0IHRvIGJlIGRyaXZlbiBieSBFTkVDKE1SKS4gQ2FuJ3Qgd2UK aGF2ZSBhIHNpdHVhdGlvbiB3aGVyZSBpM2NfbWFzdGVyX3JlZ2lzdGVyKCkgaXMgY2FsbGVkIGFm dGVyIGl0IGhhcwpyZWNlaXZlZCBib3RoIERFRlNMViBhbmQgRU5FQyhNUikuIFNob3VsZG4ndCB3 ZSByZXF1ZXN0IGJ1cyBvd25lcnNoaXAKZGlyZWN0bHkgYXQgaW5pdCB0aW1lIGluIHRoaXMgY2Fz ZS4KCkxvb2tzIGxpa2UgYWxsIG9mIHRoaXMgd2lsbCBiZSBJM0MgbWFzdGVyIGNvbnRyb2xsZXIg ZHJpdmVuIHRob3VnaCwgc28KbWF5YmUgaXQncyBqdXN0IGJldHRlciB0byBsZXQgbWFzdGVyIGRy aXZlcnMgaGFuZGxlIGFsbCBvZiB0aGF0IG9uCnRoZWlyIG93bi4KCj4gICAgID4gKwlpM2NfYnVz X21haW50ZW5hbmNlX2xvY2soJm1hc3Rlci0+YnVzKTsKPiAgICAgPiArCXJldCA9IGkzY19tYXN0 ZXJfZ2V0X2FjY21zdF9sb2NrZWQobWFzdGVyLCBpbmZvKTsKPiAgICAgPiArCWkzY19idXNfbWFp bnRlbmFuY2VfdW5sb2NrKCZtYXN0ZXItPmJ1cyk7Cj4gICAgID4gKwlpZiAocmV0KQo+ICAgICA+ ICsJCXJldHVybiByZXQ7ICAKPiAgICAgCj4gICAgIEhtLCB3aWxsIHRoaXMgcmVhbGx5IHdvcms/ IEkgdGhvdWdodCB0aGUgbWFzdGVyc2hpcCBoYW5kb3ZlciBwcm9jZWR1cmUKPiAgICAgaGFkIHRv IGJlIGRvbmUgYXRvbWljYWxseSAodXNpbmcgU3IgYmV0d2VlbiBlYWNoIHRyYW5zZmVyIHRvIGF2 b2lkCj4gICAgIGV4dGVybmFsIGludGVycnVwdGlvbnMpLiBJIG1pZ2h0IGJlIHdyb25nIHRob3Vn aCAobmVlZCB0byByZWFkIHRoZQo+ICAgICBzcGVjIHRvIHJlZnJlc2ggbXkgbWVtb3J5KS4KPiAK PiBUaGVyZSB3b3VsZG4ndCBiZSBpbnRlcnJ1cHRpb24uIFNlY29uZGFyeSBtYXN0ZXIgbWF5IGFj ayBvciBuYWNrIHRoaXMgY29tbWFuZC4KPiBJZiBoZSBhY2tzLCBpdCdzIGRvbmUsIGhlIGJlY2Ft ZSBjdXJyZW50IG1hc3Rlci4KPiBJZiBoZSBuYWNrcyBvciB0cmFuc21pdHMgaW5jb3JyZWN0IGFk ZHJlc3MsIGhlIHdpbGwgbm90IGFjcXVpcmUgbWFzdGVyc2hpcC4KClllcCwgSSByZWFsaXplZCB0 aGF0IGFmdGVyd2FyZHMsIHdoZW4gcmVhZGluZyB0aGUgc3BlYyBhZ2Fpbi4KCj4gICAgIAo+ICAg ICA+ICsKPiAgICAgPiArCXJldHVybiAwOwo+ICAgICA+ICt9Cj4gICAgID4gK0VYUE9SVF9TWU1C T0xfR1BMKGkzY19tYXN0ZXJfbWFzdGVyc2hpcF9hY2spOwo+ICAgICA+ICsKPiAgICAgPiArc3Rh dGljIHZvaWQgaTNjX3NlY29uZGFyeV9tYXN0ZXJfYnVzX2luaXQoc3RydWN0IHdvcmtfc3RydWN0 ICp3b3JrKQo+ICAgICA+ICt7Cj4gICAgID4gKwlzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVy ICptYXN0ZXI7Cj4gICAgID4gKwo+ICAgICA+ICsJbWFzdGVyID0gY29udGFpbmVyX29mKHdvcmss IHN0cnVjdCBpM2NfbWFzdGVyX2NvbnRyb2xsZXIsIG1hc3RlcnNoaXApOwo+ICAgICA+ICsKPiAg ICAgPiArCWlmIChpM2NfbWFzdGVyX3JlcXVlc3RfbWFzdGVyc2hpcChtYXN0ZXIpKQo+ICAgICA+ ICsJCWRldl9lcnIoJm1hc3Rlci0+ZGV2LCAiTWFzdGVyc2hpcCBmYWlsZWQuIik7Cj4gICAgID4g K30KPiAgICAgPiArCj4gICAgID4gKy8qKgo+ICAgICA+ICsgKiBpM2Nfc2Vjb25kYXJ5X21hc3Rl cl9ldmVudHNfZW5hYmxlZCgpIC0gZXZlbnQgZnJvbSBjdXJyZW50IG1hc3Rlcgo+ICAgICA+ICsg KiBAbWFzdGVyOiBtYXN0ZXIgdXNlZCB0byBzZW5kIGZyYW1lcyBvbiB0aGUgYnVzCj4gICAgID4g KyAqIEBldnRzOiBlbmFibGVkIGV2ZW50cwo+ICAgICA+ICsgKgo+ICAgICA+ICsgKiBUaGlzIGZ1 bmN0aW9uIGFsbG93cyB0byBwZXJmb3JtIHJlcXVpcmVkIG9wZXJhdGlvbnMgYWZ0ZXIgY3VycmVu dAo+ICAgICA+ICsgKiBtYXN0ZXIgZW5hYmxlcyBwYXJ0aWN1bGFyIGV2ZW50cyBvbiB0aGUgYnVz Lgo+ICAgICA+ICsgKi8KPiAgICAgPiArdm9pZCBpM2Nfc2Vjb25kYXJ5X21hc3Rlcl9ldmVudHNf ZW5hYmxlZChzdHJ1Y3QgaTNjX21hc3Rlcl9jb250cm9sbGVyICptYXN0ZXIsCj4gICAgID4gKwkJ CQkJIHU4IGV2dHMpCj4gICAgID4gK3sKPiAgICAgPiArCWlmICgoZXZ0cyAmIEkzQ19DQ0NfRVZF TlRfTVIpICYmCj4gICAgID4gKwkgICAgIW1hc3Rlci0+aW5pdF9kb25lKSB7Cj4gICAgID4gKwkJ SU5JVF9XT1JLKCZtYXN0ZXItPm1hc3RlcnNoaXAsIGkzY19zZWNvbmRhcnlfbWFzdGVyX2J1c19p bml0KTsKPiAgICAgPiArCQlxdWV1ZV93b3JrKG1hc3Rlci0+d3EsICZtYXN0ZXItPm1hc3RlcnNo aXApOwo+ICAgICA+ICsJfQo+ICAgICA+ICt9Cj4gICAgID4gK0VYUE9SVF9TWU1CT0xfR1BMKGkz Y19zZWNvbmRhcnlfbWFzdGVyX2V2ZW50c19lbmFibGVkKTsgIAo+ICAgICAKPiAgICAgSG0sIHNv IHlvdSdyZSB0cnlpbmcgdG8gc3RhbmRhcmRpemUgZXZlbnRzIGhhbmRsaW5nLiBJIGhhZCBpbml0 aWFsbHkKPiAgICAgbGVmdCB0aGF0IHRvIHRoZSBkcml2ZXIgYXMgaXQncyBsaWtlbHkgdG8gYmUg Y29udHJvbGxlciBzcGVjaWZpYy4KPiAKPiBJIHRoaW5rIHRoYXQgSTNDIHNwZWMgZGVzY3JpYmVz IGNvbW1vbiBzZXQgb2YgZXZlbnRzLgoKWWVzLCBhbmQgdGhvc2UgY29tbW9uIGV2ZW50cyBhcmUg YWxyZWFkeSBkZWZpbmVkIGluIGNjYy5oLiBXaGF0IEkgbWVhbnQKaXMgdGhhdCBoYW5kbGluZyBN UiBvciBIb3RKb2luIGV2ZW50cyBpcyBsaWtlbHkgdG8gYmUgY29udHJvbGxlcgpzcGVjaWZpYywg bm90IHN1cmUgd2UgbmVlZCB0byBkZWZpbmUgYW4gbXJfd29yayBhdCB0aGUKaTNjX21hc3Rlcl9j b250cm9sbGVyIGxldmVsLCB3ZSBjYW4ganVzdCBsZXQgSTNDIGRyaXZlcnMgZGVmaW5lIHRoZWly Cm93biB3b3JrIGlmIHRoZXkgbmVlZCBvbmUgKGxpa2UgSSBkaWQgdG8gc3VwcG9ydCBISiBpbiB0 aGUgQ2FkZW5jZQpkcml2ZXIpLgoKPiAgICAgPiArLyoqCj4gICAgID4gICAqIHN0cnVjdCBpM2Nf YnVzIC0gSTNDIGJ1cyBvYmplY3QKPiAgICAgPiAgICogQGN1cl9tYXN0ZXI6IEkzQyBtYXN0ZXIg Y3VycmVudGx5IGRyaXZpbmcgdGhlIGJ1cy4gU2luY2UgSTNDIGlzIG11bHRpLW1hc3Rlcgo+ICAg ICA+ICAgKgkJdGhpcyBjYW4gY2hhbmdlIG92ZXIgdGhlIHRpbWUuIFdpbGwgYmUgdXNlZCB0byBs ZXQgYSBtYXN0ZXIKPiAgICAgPiBAQCAtNDE4LDYgKzQyOCwyMCBAQCBzdHJ1Y3QgaTNjX2J1cyB7 Cj4gICAgID4gICAqCQkgICAgICBmb3IgYSBmdXR1cmUgSUJJCj4gICAgID4gICAqCQkgICAgICBU aGlzIG1ldGhvZCBpcyBtYW5kYXRvcnkgb25seSBpZiAtPnJlcXVlc3RfaWJpIGlzIG5vdAo+ICAg ICA+ICAgKgkJICAgICAgTlVMTC4KPiAgICAgPiArICogQHVwZGF0ZV9kZXZzOiB1cGRhdGVzIGRl dmljZSBsaXN0LiBDYWxsZWQgYWZ0ZXIgYnVzIHRha2VvdmVyLiBTZWNvbmRhcnkKPiAgICAgPiAr ICogICAgICAgICAgICAgICBtYXN0ZXIgY2FuJ3QgcGVyZm9ybSBEQUEgcHJvY2VkdXJlLiAgCj4g ICAgIAo+ICAgICBJcyB0aGF0IHJlYWxseSB0cnVlPyBDYW4geW91IHBvaW50IG1lIHRvIHRoZSBy ZWxldmFudCBzZWN0aW9uIGluIHRoZQo+ICAgICBzcGVjIGRlc2NyaWJpbmcgdGhpcyBjb25zdHJh aW50Pwo+IAo+IFN1cmUsIEkzQyBEZXZpY2VzIFJvbGVzIHZzIFJlc3BvbnNpYmlsaXRpZXMsIFRh YmxlIGluIHNwZWMuIER5bmFtaWMgQWRkcmVzcwo+IEFzc2lnbm1lbnQsIFNlY29uZGFyeSBtYXN0 ZXIgaXMgbm90IGNhcGFibGUgdG8gZG8gdGhhdC4KClRoYW5rcyBmb3IgcG9pbnRpbmcgdGhpcyBv dXQsIEkgZGlkbid0IG5vdGljZS4KCj4gCj4gUGxlYXNlIGFsc28gdGFrZSBhIGxvb2sgYXQgSG90 LUpvaW4gRHluYW1pYyBBZGRyZXNzIEFzc2lnbm1lbnQuIFNvbWUgb2YgY29udHJvbGxlcnMgbWF5 Cj4gaGF2ZSBISi1EQUEgaW1wbGVtZW50ZWQgaW4gdGhlIGhhcmR3YXJlLCBtYXliZSBpdCdzIGJl dHRlciB0byBzZW5kIERFRlNMVlMgcmlnaHQgYmVmb3JlCj4gR0VUQUNDTVNUPwoKSXQncyB0aGUg cmVzcG9uc2liaWxpdHkgb2YgdGhlIG1hc3RlciBkb2luZyBhIERBQSB0byBzZW5kIGEgREVGU0xW UwpmcmFtZSBpZiB0aGVyZSBhcmUgbmV3IHNlY29uZGFyeSBtYXN0ZXJzIG9uIHRoZSBidXMuIFNv IERFRlNMVlMgc2hvdWxkCmJlIHNlbnQganVzdCBhZnRlciB0aGUgSEotREFBIGluIHRoaXMgY2Fz ZSwgbm90IGJlZm9yZSBHRVRBQ0NNU1QuCgpSZWdhcmRzLAoKQm9yaXMKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWkzYyBtYWlsaW5nIGxpc3QK bGludXgtaTNjQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJhZGVhZC5vcmcv bWFpbG1hbi9saXN0aW5mby9saW51eC1pM2MK