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=-11.8 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS 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 0DF09C2D0EF for ; Fri, 17 Apr 2020 16:03:49 +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 BD3742078E for ; Fri, 17 Apr 2020 16:03:48 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="HY9qSwVU" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BD3742078E 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+infradead-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=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: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=fkGXPLEvDKg/YKaVrt6cyFU6m9qC8BTpWbh4dA+hOkI=; b=HY9qSwVUFw8t4J zEZfipUOcfelhMud1sIVAVcGYyA4djh7+VrVUhkZS18nElM3Orkys5ULGjL9S/lIylOC1/7nKD9ET TLb3WJEvqIBZ/yTp1yJ4RNR938UXQY0daZu57NrIVn7OYMvTHyTQow/SLBLuOQXo0pGAgUIEh+GQP 75Rwe0boTpnbtnN/+WLJbjlr3ZJczKxPgzwSxPtTZ0luovtOmMocEqetDnjfdcikfoY7vhZfyJH9o OhPWtDmqNZCrUll3zASQbLAtY4c0tGepcVYWqrPw0IMU13mt7w0VOblmb4Zm5dtnQGvYKwfO7VMc7 YUjgcOjbQLahTaRImWSw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jPTSx-000862-Ul; Fri, 17 Apr 2020 16:03:43 +0000 Received: from mailoutvs8.siol.net ([185.57.226.199] helo=mail.siol.net) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jPTSt-00083z-BN for linux-arm-kernel@lists.infradead.org; Fri, 17 Apr 2020 16:03:42 +0000 Received: from localhost (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTP id 85DC1524BF5; Fri, 17 Apr 2020 18:03:30 +0200 (CEST) X-Virus-Scanned: amavisd-new at psrvmta12.zcs-production.pri Received: from mail.siol.net ([127.0.0.1]) by localhost (psrvmta12.zcs-production.pri [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id viEKrc35exMc; Fri, 17 Apr 2020 18:03:29 +0200 (CEST) Received: from mail.siol.net (localhost [127.0.0.1]) by mail.siol.net (Zimbra) with ESMTPS id B7CED524BF2; Fri, 17 Apr 2020 18:03:29 +0200 (CEST) Received: from jernej-laptop.localnet (cpe-194-152-20-232.static.triera.net [194.152.20.232]) (Authenticated sender: jernej.skrabec@siol.net) by mail.siol.net (Zimbra) with ESMTPA id ECF8E524BF5; Fri, 17 Apr 2020 18:03:28 +0200 (CEST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: robh+dt@kernel.org, andrew@lunn.ch, f.fainelli@gmail.com, Heiner Kallweit Subject: Re: [RFC PATCH 2/4] net: phy: Add support for AC200 EPHY Date: Fri, 17 Apr 2020 18:03:28 +0200 Message-ID: <3035405.oiGErgHkdL@jernej-laptop> In-Reply-To: <0340f85c-987f-900b-53c8-d29b4672a8fa@gmail.com> References: <20200416185758.1388148-1-jernej.skrabec@siol.net> <20200416185758.1388148-3-jernej.skrabec@siol.net> <0340f85c-987f-900b-53c8-d29b4672a8fa@gmail.com> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200417_090339_698607_4A81CC44 X-CRM114-Status: GOOD ( 30.61 ) 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, netdev@vger.kernel.org, linux@armlinux.org.uk, mripard@kernel.org, linux-kernel@vger.kernel.org, wens@csie.org, lee.jones@linaro.org, davem@davemloft.net, linux-arm-kernel@lists.infradead.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org RG5lIMSNZXRydGVrLCAxNi4gYXByaWwgMjAyMCBvYiAyMjoxODo1MiBDRVNUIGplIEhlaW5lciBL YWxsd2VpdCBuYXBpc2FsKGEpOgo+IE9uIDE2LjA0LjIwMjAgMjA6NTcsIEplcm5laiBTa3JhYmVj IHdyb3RlOgo+ID4gQUMyMDAgTUZEIElDIHN1cHBvcnRzIEZhc3QgRXRoZXJuZXQgUEhZLiBBZGQg YSBkcml2ZXIgZm9yIGl0Lgo+ID4gCj4gPiBTaWduZWQtb2ZmLWJ5OiBKZXJuZWogU2tyYWJlYyA8 amVybmVqLnNrcmFiZWNAc2lvbC5uZXQ+Cj4gPiAtLS0KPiA+IAo+ID4gIGRyaXZlcnMvbmV0L3Bo eS9LY29uZmlnICB8ICAgNyArKwo+ID4gIGRyaXZlcnMvbmV0L3BoeS9NYWtlZmlsZSB8ICAgMSAr Cj4gPiAgZHJpdmVycy9uZXQvcGh5L2FjMjAwLmMgIHwgMjA2ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKwo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgMjE0IGluc2VydGlvbnMo KykKPiA+ICBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVycy9uZXQvcGh5L2FjMjAwLmMKPiA+IAo+ ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0L3BoeS9LY29uZmlnIGIvZHJpdmVycy9uZXQvcGh5 L0tjb25maWcKPiA+IGluZGV4IDNmYTMzZDI3ZWViYS4uMTZhZjY5ZjY5ZWFmIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9uZXQvcGh5L0tjb25maWcKPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3BoeS9L Y29uZmlnCj4gPiBAQCAtMjg4LDYgKzI4OCwxMyBAQCBjb25maWcgQURJTl9QSFkKPiA+IAo+ID4g IAkgIC0gQURJTjEzMDAgLSBSb2J1c3QsSW5kdXN0cmlhbCwgTG93IExhdGVuY3kgMTAvMTAwLzEw MDAgR2lnYWJpdAo+ID4gIAkgIAo+ID4gIAkgICAgRXRoZXJuZXQgUEhZCj4gPiAKPiA+ICtjb25m aWcgQUMyMDBfUEhZCj4gPiArCXRyaXN0YXRlICJBQzIwMCBFUEhZIgo+ID4gKwlkZXBlbmRzIG9u IE5WTUVNCj4gPiArCWRlcGVuZHMgb24gT0YKPiA+ICsJaGVscAo+ID4gKwkgIEZhc3QgZXRoZXJu ZXQgUEhZIGFzIGZvdW5kIGluIFgtUG93ZXJzIEFDMjAwIG11bHRpLWZ1bmN0aW9uIApkZXZpY2Uu Cj4gPiArCj4gPiAKPiA+ICBjb25maWcgQU1EX1BIWQo+ID4gIAo+ID4gIAl0cmlzdGF0ZSAiQU1E IFBIWXMiCj4gPiAgCS0tLWhlbHAtLS0KPiA+IAo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvbmV0 L3BoeS9NYWtlZmlsZSBiL2RyaXZlcnMvbmV0L3BoeS9NYWtlZmlsZQo+ID4gaW5kZXggMmY1Yzcw OTNhNjViLi5iMGM1YjkxOTAwZmEgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL25ldC9waHkvTWFr ZWZpbGUKPiA+ICsrKyBiL2RyaXZlcnMvbmV0L3BoeS9NYWtlZmlsZQo+ID4gQEAgLTUzLDYgKzUz LDcgQEAgb2JqLSQoQ09ORklHX1NGUCkJCSs9IHNmcC5vCj4gPiAKPiA+ICBzZnAtb2JqLSQoQ09O RklHX1NGUCkJCSs9IHNmcC1idXMubwo+ID4gIG9iai15CQkJCSs9ICQoc2ZwLW9iai15KSAkKHNm cC1vYmotbSkKPiA+IAo+ID4gK29iai0kKENPTkZJR19BQzIwMF9QSFkpCQkrPSBhYzIwMC5vCj4g PiAKPiA+ICBvYmotJChDT05GSUdfQURJTl9QSFkpCQkrPSBhZGluLm8KPiA+ICBvYmotJChDT05G SUdfQU1EX1BIWSkJCSs9IGFtZC5vCj4gPiAgYXF1YW50aWEtb2JqcwkJCSs9IGFxdWFudGlhX21h aW4ubwo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9uZXQvcGh5L2FjMjAwLmMgYi9kcml2 ZXJzL25ldC9waHkvYWMyMDAuYwo+ID4gbmV3IGZpbGUgbW9kZSAxMDA2NDQKPiA+IGluZGV4IDAw MDAwMDAwMDAwMC4uM2Q3ODU2ZmY4ZjkxCj4gPiAtLS0gL2Rldi9udWxsCj4gPiArKysgYi9kcml2 ZXJzL25ldC9waHkvYWMyMDAuYwo+ID4gQEAgLTAsMCArMSwyMDYgQEAKPiA+ICsvLyBTUERYLUxp Y2Vuc2UtSWRlbnRpZmllcjogR1BMLTIuMCsKPiA+ICsvKioKPiA+ICsgKiBEcml2ZXIgZm9yIEFD MjAwIEV0aGVybmV0IFBIWQo+ID4gKyAqCj4gPiArICogQ29weXJpZ2h0IChjKSAyMDIwIEplcm5l aiBTa3JhYmVjIDxqZXJuZWouc2tyYWJlY0BzaW9sLm5ldD4KPiA+ICsgKi8KPiA+ICsKPiA+ICsj aW5jbHVkZSA8bGludXgva2VybmVsLmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L21vZHVsZS5oPgo+ ID4gKyNpbmNsdWRlIDxsaW51eC9tZmQvYWMyMDAuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvbnZt ZW0tY29uc3VtZXIuaD4KPiA+ICsjaW5jbHVkZSA8bGludXgvb2YuaD4KPiA+ICsjaW5jbHVkZSA8 bGludXgvcGh5Lmg+Cj4gPiArI2luY2x1ZGUgPGxpbnV4L3BsYXRmb3JtX2RldmljZS5oPgo+ID4g Kwo+ID4gKyNkZWZpbmUgQUMyMDBfRVBIWV9JRAkJCTB4MDA0NDE0MDAKPiA+ICsjZGVmaW5lIEFD MjAwX0VQSFlfSURfTUFTSwkJMHgwZmZmZmZmMAo+ID4gKwo+IAo+IFlvdSBjb3VsZCB1c2UgUEhZ X0lEX01BVENIX01PREVMKCkgaGVyZS4KCk9rLgoKPiAKPiA+ICsvKiBtYWNyb3MgZm9yIHN5c3Rl bSBlcGh5IGNvbnRyb2wgMCByZWdpc3RlciAqLwo+ID4gKyNkZWZpbmUgQUMyMDBfRVBIWV9SRVNF VF9JTlZBTElECUJJVCgwKQo+ID4gKyNkZWZpbmUgQUMyMDBfRVBIWV9TWVNDTEtfR0FUSU5HCUJJ VCgxKQo+ID4gKwo+ID4gKy8qIG1hY3JvcyBmb3Igc3lzdGVtIGVwaHkgY29udHJvbCAxIHJlZ2lz dGVyICovCj4gPiArI2RlZmluZSBBQzIwMF9FUEhZX0VfRVBIWV9NSUlfSU9fRU4JQklUKDApCj4g PiArI2RlZmluZSBBQzIwMF9FUEhZX0VfTE5LX0xFRF9JT19FTglCSVQoMSkKPiA+ICsjZGVmaW5l IEFDMjAwX0VQSFlfRV9TUERfTEVEX0lPX0VOCUJJVCgyKQo+ID4gKyNkZWZpbmUgQUMyMDBfRVBI WV9FX0RQWF9MRURfSU9fRU4JQklUKDMpCj4gPiArCj4gPiArLyogbWFjcm9zIGZvciBlcGh5IGNv bnRyb2wgcmVnaXN0ZXIgKi8KPiA+ICsjZGVmaW5lIEFDMjAwX0VQSFlfU0hVVERPV04JCUJJVCgw KQo+ID4gKyNkZWZpbmUgQUMyMDBfRVBIWV9MRURfUE9MCQlCSVQoMSkKPiA+ICsjZGVmaW5lIEFD MjAwX0VQSFlfQ0xLX1NFTAkJQklUKDIpCj4gPiArI2RlZmluZSBBQzIwMF9FUEhZX0FERFIoeCkJ CSgoKHgpICYgMHgxRikgPDwgNCkKPiA+ICsjZGVmaW5lIEFDMjAwX0VQSFlfWE1JSV9TRUwJCUJJ VCgxMSkKPiA+ICsjZGVmaW5lIEFDMjAwX0VQSFlfQ0FMSUIoeCkJCSgoKHgpICYgMHhGKSA8PCAx MikKPiA+ICsKPiA+ICtzdHJ1Y3QgYWMyMDBfZXBoeV9kZXYgewo+ID4gKwlzdHJ1Y3QgcGh5X2Ry aXZlcgkqZXBoeTsKPiAKPiBXaHkgZW1iZWRkaW5nIGEgcG9pbnRlciBhbmQgbm90IGEgc3RydWN0 IHBoeV9kcml2ZXIgZGlyZWN0bHk/Cj4gVGhlbiB5b3UgY291bGQgb21pdCB0aGUgc2VwYXJhdGUg YWxsb2NhdGlvbi4KClJpZ2h0LgoKPiAKPiBlcGh5IGlzIG5vdCB0aGUgYmVzdCBuYW1pbmcuIEl0 IG1heSBiZSByZWFkIGFzIGEgcGh5X2RldmljZS4KPiBCZXR0ZXIgdXNlIHBoeWRydi4KCk9rLgoK PiAKPiA+ICsJc3RydWN0IHJlZ21hcAkJKnJlZ21hcDsKPiA+ICt9Owo+ID4gKwo+ID4gK3N0YXRp YyBjaGFyICphYzIwMF9waHlfbmFtZSA9ICJBQzIwMCBFUEhZIjsKPiA+ICsKPiAKPiBXaHkgbm90 IHVzaW5nIHRoZSBuYW1lIGRpcmVjdGx5IGluIHRoZSBhc3NpZ25tZW50PwoKcGh5X2RyaXZlci0+ bmFtZSBpcyBwb2ludGVyLiBXb3VsZG4ndCB0aGF0IG1lYW4gdGhhdCBzdHJpbmcgaXMgYWxsb2Nh dGVkIG9uIApzdGFjayBhbmQgbmV4dCB0aW1lIHBvaW50ZXIgaXMgdXNlZCwgaXQgd2lsbCByZXR1 cm4gZ2FyYmFnZT8KCj4gQW5kIGJldHRlciBuYW1pbmc6ICJBQzIwMCBGYXN0IEV0aGVybmV0IgoK T2suCgo+IAo+ID4gK3N0YXRpYyBpbnQgYWMyMDBfZXBoeV9jb25maWdfaW5pdChzdHJ1Y3QgcGh5 X2RldmljZSAqcGh5ZGV2KQo+ID4gK3sKPiA+ICsJY29uc3Qgc3RydWN0IGFjMjAwX2VwaHlfZGV2 ICpwcml2ID0gcGh5ZGV2LT5kcnYtPmRyaXZlcl9kYXRhOwo+ID4gKwl1bnNpZ25lZCBpbnQgdmFs dWU7Cj4gPiArCWludCByZXQ7Cj4gPiArCj4gPiArCXBoeV93cml0ZShwaHlkZXYsIDB4MWYsIDB4 MDEwMCk7CS8qIFN3aXRjaCB0byBQYWdlIDEgKi8KPiA+ICsJcGh5X3dyaXRlKHBoeWRldiwgMHgx MiwgMHg0ODI0KTsJLyogRGlzYWJsZSBBUFMgKi8KPiA+ICsKPiA+ICsJcGh5X3dyaXRlKHBoeWRl diwgMHgxZiwgMHgwMjAwKTsJLyogU3dpdGNoIHRvIFBhZ2UgMiAqLwo+ID4gKwlwaHlfd3JpdGUo cGh5ZGV2LCAweDE4LCAweDAwMDApOwkvKiBQSFlBRkUgVFJYIG9wdGltaXphdGlvbiAqLwo+ID4g Kwo+ID4gKwlwaHlfd3JpdGUocGh5ZGV2LCAweDFmLCAweDA2MDApOwkvKiBTd2l0Y2ggdG8gUGFn ZSA2ICovCj4gPiArCXBoeV93cml0ZShwaHlkZXYsIDB4MTQsIDB4NzA4Zik7CS8qIFBIWUFGRSBU WCBvcHRpbWl6YXRpb24gKi8KPiA+ICsJcGh5X3dyaXRlKHBoeWRldiwgMHgxMywgMHhGMDAwKTsJ LyogUEhZQUZFIFJYIG9wdGltaXphdGlvbiAqLwo+ID4gKwlwaHlfd3JpdGUocGh5ZGV2LCAweDE1 LCAweDE1MzApOwo+ID4gKwo+ID4gKwlwaHlfd3JpdGUocGh5ZGV2LCAweDFmLCAweDA4MDApOwkv KiBTd2l0Y2ggdG8gUGFnZSA2ICovCj4gPiArCXBoeV93cml0ZShwaHlkZXYsIDB4MTgsIDB4MDBi Yyk7CS8qIFBIWUFGRSBUUlggb3B0aW1pemF0aW9uICovCj4gPiArCj4gPiArCXBoeV93cml0ZShw aHlkZXYsIDB4MWYsIDB4MDEwMCk7CS8qIHN3aXRjaCB0byBwYWdlIDEgKi8KPiA+ICsJcGh5X2Ns ZWFyX2JpdHMocGh5ZGV2LCAweDE3LCBCSVQoMykpOwkvKiBkaXNhYmxlIGludGVsbGlnZW50IApJ RUVFICovCj4gPiArCj4gPiArCS8qIG5leHQgdHdvIGJsb2NrcyBkaXNhYmxlIDgwMi4zYXogSUVF RSAqLwo+ID4gKwlwaHlfd3JpdGUocGh5ZGV2LCAweDFmLCAweDAyMDApOwkvKiBzd2l0Y2ggdG8g cGFnZSAyICovCj4gPiArCXBoeV93cml0ZShwaHlkZXYsIDB4MTgsIDB4MDAwMCk7Cj4gPiArCj4g PiArCXBoeV93cml0ZShwaHlkZXYsIDB4MWYsIDB4MDAwMCk7CS8qIHN3aXRjaCB0byBwYWdlIDAg Ki8KPiA+ICsJcGh5X2NsZWFyX2JpdHNfbW1kKHBoeWRldiwgMHg3LCAweDNjLCBCSVQoMSkpOwo+ IAo+IEJldHRlciB1c2UgdGhlIGZvbGxvd2luZzoKPiBwaHlfd3JpdGVfbW1kKHBoeWRldiwgTURJ T19NTURfQU4sIE1ESU9fQU5fRUVFX0FEViwgMHgwMDAwKTsKPiBJdCBtYWtlcyBjbGVhciB0aGF0 IHlvdSBkaXNhYmxlIGFkdmVydGlzaW5nIEVFRSBjb21wbGV0ZWx5LgoKT2suCgo+IAo+ID4gKwo+ ID4gKwlpZiAocGh5ZGV2LT5pbnRlcmZhY2UgPT0gUEhZX0lOVEVSRkFDRV9NT0RFX1JNSUkpCj4g PiArCQl2YWx1ZSA9IEFDMjAwX0VQSFlfWE1JSV9TRUw7Cj4gPiArCWVsc2UKPiA+ICsJCXZhbHVl ID0gMDsKPiA+ICsKPiA+ICsJcmV0ID0gcmVnbWFwX3VwZGF0ZV9iaXRzKHByaXYtPnJlZ21hcCwg QUMyMDBfRVBIWV9DVEwsCj4gPiArCQkJCSBBQzIwMF9FUEhZX1hNSUlfU0VMLCB2YWx1ZSk7Cj4g PiArCWlmIChyZXQpCj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwo+IAo+IEkgaGFkIGEgYnJpZWYg bG9vayBhdCB0aGUgc3BlYywgYW5kIGl0J3Mgbm90IGZ1bGx5IGNsZWFyCj4gdG8gbWUgd2hhdCB0 aGlzIHJlZ2lzdGVyIHNldHRpbmcgZG9lcy4gRG9lcyBpdCBhZmZlY3QgdGhlCj4gTUFDIHNpZGUg YW5kL29yIHRoZSBQSFkgc2lkZT8KCkl0J3MgbXkgdW5kZXJzdGFuZGluZyB0aGF0IGl0IHNlbGVj dHMgaW50ZXJmYWNlIG1vZGUgb24gUEhZLiBCZXNpZGVzIGRhdGFzaGVldCAKbWVudGlvbmVkIGlu IGNvdmVyIGxldHRlciwgQlNQIGRyaXZlcnMgKG9uZSBmb3IgTUZEIGFuZCBvbmUgZm9yIFBIWSkg YXJlIHRoZSAKb25seSBvdGhlciBzb3VyY2Ugb2YgaW5mb3JtYXRpb24uIEJTUCBQSFkgZHJpdmVy IGlzIGxvY2F0ZWQgaGVyZToKaHR0cHM6Ly9naXRodWIuY29tL0FsbHdpbm5lci1Ib21sZXQvSDYt QlNQNC45LWxpbnV4L2Jsb2IvbWFzdGVyL2RyaXZlcnMvbmV0LwpwaHkvc3VueGktZXBoeS5jCgo+ IElmIGl0IGFmZmVjdHMgdGhlIFBIWSBzaWRlLCB0aGVuIEknZCBleHBlY3QgdGhhdCB0aGUgY2hp cAo+IGhhcyB0byB0YWxrIHRvIHRoZSBQSFkgdmlhIHRoZSBNRElPIGJ1cy4gTWVhbnMgdGhlcmUg c2hvdWxkCj4gYmUgYSBQSFkgcmVnaXN0ZXIgZm9yIHNldHRpbmcgTUlJIHZzLiBSTUlJLgo+IElu IHRoaXMgY2FzZSB0aGUgc2V0dXAgY291bGQgYmUgdmVyeSBtdWNoIHNpbXBsaWZpZWQuCj4gVGhl biB0aGUgUEhZIGRyaXZlciB3b3VsZG4ndCBoYXZlIHRvIGJlIGVtYmVkZGVkIGluIHRoZQo+IHBs YXRmb3JtIGRyaXZlci4KCkFjdHVhbGx5LCBQSFkgaGFzIHRvIGJlIGNvbmZpZ3VyZWQgZmlyc3Qg dGhyb3VnaCBJMkMgYW5kIHRoZW4gdGhyb3VnaCBNRElPLiBJMkMgCmlzIHVzZWQgdG8gZW5hYmxl IGl0IChwb3dlciBpdCB1cCksIGNvbmZpZ3VyZSBMRUQgcG9sYXJpdHksIHNldCBQSFkgYWRkcmVz cywgCndyaXRlIGNhbGlicmF0aW9uIHZhbHVlIHN0b3JlZCBlbHNld2hlcmUuCgpCYXNlZCBvbiBh bGwgYXZhaWxhYmxlIGRvY3VtZW50YXRpb24gSSBoYXZlIChjb2RlIGFuZCBkYXRhc2hlZXQpLCB0 aGlzIEkyQyAKcmVnaXN0ZXIgaXMgdGhlIG9ubHkgd2F5IHRvIHNlbGVjdCBNSUkgb3IgUk1JSSBt b2RlLgoKPiAKPiA+ICsJLyogRklYTUU6IFRoaXMgaXMgSDYgc3BlY2lmaWMgKi8KPiA+ICsJcGh5 X3NldF9iaXRzKHBoeWRldiwgMHgxMywgQklUKDEyKSk7Cj4gPiArCj4gCj4gVGhpcyBzZWVtcyB0 byBpbmRpY2F0ZSB0aGF0IHRoZSBzYW1lIFBIWSBpcyB1c2VkIGluIGEgc2xpZ2h0bHkKPiBkaWZm ZXJlbnQgdmVyc2lvbiB3aXRoIG90aGVyIEh4IG1vZGVscy4gRG8gdGhleSB1c2UgZGlmZmVyZW50 Cj4gUEhZIElEJ3M/CgpTaXR1YXRpb24gaXMgYSBiaXQgY29tcGxpY2F0ZWQuIFNhbWUgUEhZLCBh dCBsZWFzdCB3aXRoIHNhbWUgUEhZIElELCBpcyB1c2VkIAppbiBkaWZmZXJlbnQgd2F5cy4KMS4g YXMgcGFydCBvZiBzdGFuZGFsb25lIEFDMjAwIE1GRCBJQwoyLiBhcyBwYXJ0IG9mIEFDMjAwIHdh ZmVyIGNvcGFja2FnZWQgd2l0aCBINiBTb0Mgd2FmZXIgaW4gc2FtZSBwYWNrYWdlLiBUaGlzIApp biB0aGVvcnkgc2hvdWxkbid0IGJlIGFueSBkaWZmZXJlbnQgdGhhbiBzdGFuZGFsb25lIElDLCBi dXQgaXQgYXBwYXJlbnRseSBpcywgCmJhc2VkIG9uIHRoZSBCU1AgZHJpdmVyIGNvZGUuCjMuIGlu dGVncmF0ZWQgZGlyZWN0bHkgaW4gU29DcyBsaWtlIEgzLCBINSBhbmQgVjNzLiBUaGVyZSBpcyBu byBJMkMgYWNjZXNzIHRvIApjb25maWd1cmF0aW9uIHJlZ2lzdGVyLiBJbnN0ZWFkLCBpdCdzIG1l bW9yeSBtYXBwZWQgYW5kIHNsaWdodGx5IGRpZmZlcmVudC4KCkluIGFsbCBjYXNlcyBQSFkgSUQg aXMgc2FtZSwganVzdCBnbHVlIGxvZ2ljIGlzIGRpZmZlcmVudC4KCkkgYXNrZWQgQWxsd2lubmVy IGlmIGFib3ZlIHNldHRpbmcgaXMgcmVhbGx5IG5lY2Vzc2FyeSBmb3IgSDYgYW5kIHdoYXQgaXQg CmRvZXMsIGJ1dCBJIGRpZG4ndCBnZXQgYW55IHVzZWZ1bCBhbnN3ZXIgYmFjay4KClNvIG1heWJl IGFub3RoZXIgY29tcGF0aWJsZSBpcyBuZWVkZWQgZm9yIEg2LgoKQmVzdCByZWdhcmRzLApKZXJu ZWoKCj4gCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgaW50IGFjMjAw X2VwaHlfcHJvYmUoc3RydWN0IHBsYXRmb3JtX2RldmljZSAqcGRldikKPiA+ICt7Cj4gPiArCXN0 cnVjdCBhYzIwMF9kZXYgKmFjMjAwID0gZGV2X2dldF9kcnZkYXRhKHBkZXYtPmRldi5wYXJlbnQp Owo+ID4gKwlzdHJ1Y3QgZGV2aWNlICpkZXYgPSAmcGRldi0+ZGV2Owo+ID4gKwlzdHJ1Y3QgYWMy MDBfZXBoeV9kZXYgKnByaXY7Cj4gPiArCXN0cnVjdCBudm1lbV9jZWxsICpjYWxjZWxsOwo+ID4g KwlzdHJ1Y3QgcGh5X2RyaXZlciAqZXBoeTsKPiA+ICsJdTE2ICpjYWxkYXRhLCBjYWxpYjsKPiA+ ICsJc2l6ZV90IGNhbGxlbjsKPiA+ICsJaW50IHJldDsKPiA+ICsKPiA+ICsJcHJpdiA9IGRldm1f a3phbGxvYyhkZXYsIHNpemVvZigqcHJpdiksIEdGUF9LRVJORUwpOwo+ID4gKwlpZiAoIXByaXYp Cj4gPiArCQlyZXR1cm4gLUVOT01FTTsKPiA+ICsKPiA+ICsJZXBoeSA9IGRldm1fa3phbGxvYyhk ZXYsIHNpemVvZigqZXBoeSksIEdGUF9LRVJORUwpOwo+ID4gKwlpZiAoIWVwaHkpCj4gPiArCQly ZXR1cm4gLUVOT01FTTsKPiA+ICsKPiA+ICsJY2FsY2VsbCA9IGRldm1fbnZtZW1fY2VsbF9nZXQo ZGV2LCAiY2FsaWJyYXRpb24iKTsKPiA+ICsJaWYgKElTX0VSUihjYWxjZWxsKSkgewo+ID4gKwkJ ZGV2X2VycihkZXYsICJVbmFibGUgdG8gZmluZCBjYWxpYnJhdGlvbiBkYXRhIVxuIik7Cj4gPiAr CQlyZXR1cm4gUFRSX0VSUihjYWxjZWxsKTsKPiA+ICsJfQo+ID4gKwo+ID4gKwljYWxkYXRhID0g bnZtZW1fY2VsbF9yZWFkKGNhbGNlbGwsICZjYWxsZW4pOwo+ID4gKwlpZiAoSVNfRVJSKGNhbGRh dGEpKSB7Cj4gPiArCQlkZXZfZXJyKGRldiwgIlVuYWJsZSB0byByZWFkIGNhbGlicmF0aW9uIGRh dGEhXG4iKTsKPiA+ICsJCXJldHVybiBQVFJfRVJSKGNhbGRhdGEpOwo+ID4gKwl9Cj4gPiArCj4g PiArCWlmIChjYWxsZW4gIT0gMikgewo+ID4gKwkJZGV2X2VycihkZXYsICJDYWxpYnJhdGlvbiBk YXRhIGhhcyB3cm9uZyBsZW5ndGg6IDIgIT0gCiV6dVxuIiwKPiA+ICsJCQljYWxsZW4pOwo+ID4g KwkJa2ZyZWUoY2FsZGF0YSk7Cj4gPiArCQlyZXR1cm4gLUVJTlZBTDsKPiA+ICsJfQo+ID4gKwo+ ID4gKwljYWxpYiA9ICpjYWxkYXRhICsgMzsKPiA+ICsJa2ZyZWUoY2FsZGF0YSk7Cj4gPiArCj4g PiArCWVwaHktPnBoeV9pZCA9IEFDMjAwX0VQSFlfSUQ7Cj4gPiArCWVwaHktPnBoeV9pZF9tYXNr ID0gQUMyMDBfRVBIWV9JRF9NQVNLOwo+ID4gKwllcGh5LT5uYW1lID0gYWMyMDBfcGh5X25hbWU7 Cj4gPiArCWVwaHktPmRyaXZlcl9kYXRhID0gcHJpdjsKPiA+ICsJZXBoeS0+c29mdF9yZXNldCA9 IGdlbnBoeV9zb2Z0X3Jlc2V0Owo+ID4gKwllcGh5LT5jb25maWdfaW5pdCA9IGFjMjAwX2VwaHlf Y29uZmlnX2luaXQ7Cj4gPiArCWVwaHktPnN1c3BlbmQgPSBnZW5waHlfc3VzcGVuZDsKPiA+ICsJ ZXBoeS0+cmVzdW1lID0gZ2VucGh5X3Jlc3VtZTsKPiA+ICsKPiA+ICsJcHJpdi0+ZXBoeSA9IGVw aHk7Cj4gPiArCXByaXYtPnJlZ21hcCA9IGFjMjAwLT5yZWdtYXA7Cj4gPiArCXBsYXRmb3JtX3Nl dF9kcnZkYXRhKHBkZXYsIHByaXYpOwo+ID4gKwo+ID4gKwlyZXQgPSByZWdtYXBfd3JpdGUoYWMy MDAtPnJlZ21hcCwgQUMyMDBfU1lTX0VQSFlfQ1RMMCwKPiA+ICsJCQkgICBBQzIwMF9FUEhZX1JF U0VUX0lOVkFMSUQgfAo+ID4gKwkJCSAgIEFDMjAwX0VQSFlfU1lTQ0xLX0dBVElORyk7Cj4gPiAr CWlmIChyZXQpCj4gPiArCQlyZXR1cm4gcmV0Owo+ID4gKwo+ID4gKwlyZXQgPSByZWdtYXBfd3Jp dGUoYWMyMDAtPnJlZ21hcCwgQUMyMDBfU1lTX0VQSFlfQ1RMMSwKPiA+ICsJCQkgICBBQzIwMF9F UEhZX0VfRVBIWV9NSUlfSU9fRU4gfAo+ID4gKwkJCSAgIEFDMjAwX0VQSFlfRV9MTktfTEVEX0lP X0VOIHwKPiA+ICsJCQkgICBBQzIwMF9FUEhZX0VfU1BEX0xFRF9JT19FTiB8Cj4gPiArCQkJICAg QUMyMDBfRVBIWV9FX0RQWF9MRURfSU9fRU4pOwo+ID4gKwlpZiAocmV0KQo+ID4gKwkJcmV0dXJu IHJldDsKPiA+ICsKPiA+ICsJcmV0ID0gcmVnbWFwX3dyaXRlKGFjMjAwLT5yZWdtYXAsIEFDMjAw X0VQSFlfQ1RMLAo+ID4gKwkJCSAgIEFDMjAwX0VQSFlfTEVEX1BPTCB8Cj4gPiArCQkJICAgQUMy MDBfRVBIWV9DTEtfU0VMIHwKPiA+ICsJCQkgICBBQzIwMF9FUEhZX0FERFIoMSkgfAo+ID4gKwkJ CSAgIEFDMjAwX0VQSFlfQ0FMSUIoY2FsaWIpKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCXJldHVy biByZXQ7Cj4gPiArCj4gPiArCXJldCA9IHBoeV9kcml2ZXJfcmVnaXN0ZXIocHJpdi0+ZXBoeSwg VEhJU19NT0RVTEUpOwo+ID4gKwlpZiAocmV0KSB7Cj4gPiArCQlkZXZfZXJyKGRldiwgIlVuYWJs ZSB0byByZWdpc3RlciBwaHlcbiIpOwo+ID4gKwkJcmV0dXJuIHJldDsKPiA+ICsJfQo+ID4gKwo+ ID4gKwlyZXR1cm4gMDsKPiA+ICt9Cj4gPiArCj4gPiArc3RhdGljIGludCBhYzIwMF9lcGh5X3Jl bW92ZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2KQo+ID4gK3sKPiA+ICsJc3RydWN0IGFj MjAwX2VwaHlfZGV2ICpwcml2ID0gcGxhdGZvcm1fZ2V0X2RydmRhdGEocGRldik7Cj4gPiArCj4g PiArCXBoeV9kcml2ZXJfdW5yZWdpc3Rlcihwcml2LT5lcGh5KTsKPiA+ICsKPiA+ICsJcmVnbWFw X3dyaXRlKHByaXYtPnJlZ21hcCwgQUMyMDBfRVBIWV9DVEwsIEFDMjAwX0VQSFlfU0hVVERPV04p Owo+ID4gKwlyZWdtYXBfd3JpdGUocHJpdi0+cmVnbWFwLCBBQzIwMF9TWVNfRVBIWV9DVEwxLCAw KTsKPiA+ICsJcmVnbWFwX3dyaXRlKHByaXYtPnJlZ21hcCwgQUMyMDBfU1lTX0VQSFlfQ1RMMCwg MCk7Cj4gPiArCj4gPiArCXJldHVybiAwOwo+ID4gK30KPiA+ICsKPiA+ICtzdGF0aWMgY29uc3Qg c3RydWN0IG9mX2RldmljZV9pZCBhYzIwMF9lcGh5X21hdGNoW10gPSB7Cj4gPiArCXsgLmNvbXBh dGlibGUgPSAieC1wb3dlcnMsYWMyMDAtZXBoeSIgfSwKPiA+ICsJeyAvKiBzZW50aW5lbCAqLyB9 Cj4gPiArfTsKPiA+ICtNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBhYzIwMF9lcGh5X21hdGNoKTsK PiA+ICsKPiA+ICtzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RyaXZlciBhYzIwMF9lcGh5X2RyaXZl ciA9IHsKPiA+ICsJLnByb2JlCQk9IGFjMjAwX2VwaHlfcHJvYmUsCj4gPiArCS5yZW1vdmUJCT0g YWMyMDBfZXBoeV9yZW1vdmUsCj4gPiArCS5kcml2ZXIJCT0gewo+ID4gKwkJLm5hbWUJCT0gImFj MjAwLWVwaHkiLAo+ID4gKwkJLm9mX21hdGNoX3RhYmxlCT0gYWMyMDBfZXBoeV9tYXRjaCwKPiA+ ICsJfSwKPiA+ICt9Owo+ID4gK21vZHVsZV9wbGF0Zm9ybV9kcml2ZXIoYWMyMDBfZXBoeV9kcml2 ZXIpOwo+ID4gKwo+ID4gK01PRFVMRV9BVVRIT1IoIkplcm5laiBTa3JhYmVjIDxqZXJuZWouc2ty YWJlY0BzaW9sLm5ldD4iKTsKPiA+ICtNT0RVTEVfREVTQ1JJUFRJT04oIkFDMjAwIEV0aGVybmV0 IFBIWSBkcml2ZXIiKTsKPiA+ICtNT0RVTEVfTElDRU5TRSgiR1BMIik7CgoKCgoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KbGludXgtYXJtLWtlcm5lbCBt YWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9s aXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGludXgtYXJtLWtlcm5lbAo=