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 13106C5475B for ; Thu, 14 Mar 2024 05:44:35 +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:MIME-Version:Message-ID:Date:References :In-Reply-To:Subject:Cc:To:From:Reply-To:Content-ID:Content-Description: Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID: List-Owner; bh=2ZhTdp6fp4A8fthUGoV3jBfGFm+QAXFsYbEKqSZz8oc=; b=gsmIBxDUoyilDQ DsB/MbjohKVR1ggwgO4iilZ7bHHrEvpgSEIFlY76r0qJddu3dN3abKWb/ZOT/pzz6pNazPgEOYqAd ZjKA/ZqDOHMuMKk/D0cQYNZLpESTXnl4/paxn4JBDXntNqKdtGi/i96qQW51WbiPP8Ahawv0Nznbz 5NwJNlhKy81s8xP1x6I70sy9XC4FoBEDjzXe+mupjT837eEkzDW6mEtsmNlR9UFvIDOa1Vpmq0itu LCSZIzsrC7hn+A+/JoyHmrR4PFUMA3a9BiSqLhlBVvaEyWSNEAbYGb5+P/+xiUFLXEFBPKS3+ZU2y MKu7oAhrB56cwwSOp9eQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkdt5-0000000D4W6-1Ny9; Thu, 14 Mar 2024 05:44:19 +0000 Received: from mout-p-102.mailbox.org ([2001:67c:2050:0:465::102]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1rkdt2-0000000D4Uh-1Pcj for linux-arm-kernel@lists.infradead.org; Thu, 14 Mar 2024 05:44:18 +0000 Received: from smtp1.mailbox.org (smtp1.mailbox.org [IPv6:2001:67c:2050:b231:465::1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (4096 bits) server-digest SHA256) (No client certificate requested) by mout-p-102.mailbox.org (Postfix) with ESMTPS id 4TwGXP1tdJz9tQC; Thu, 14 Mar 2024 06:44:05 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oltmanns.dev; s=MBO0001; t=1710395045; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=jaJ8pZ9W3PfGOzFfzKRaF6N9Sdm8RE+dMAfP+mS3M4w=; b=kZa0iuccJg3vDYU5HlPowebCDXer3FTu+HyECKKe+JZcd7E35fgCaG+C3L4a5PTI4nez19 m+yjGPjpHC1wTYs0mOuG1rrWgef6yz8r1zsj7tSBxtyVsjtSa7S22NUbr6Nwd9DpJCTbiJ ayLrIK+S4K6sb1FLyLdRb6tYrhQ3ByY7yz6AmFQw1mxLwMU4qa2rWMOMOMTVrmDpsGSoms 3PFZYSYTL5zpa9QtgaMUm/phj+5BwXUJN0g8mJ7MtsEKjFUGYYE7pkJAy4HHjt+coIJ1b3 snkMQKnb1Hxp/PFlIhPUF+F7okVAb6ZXG9N7VRa86n4UNrA1r2YzvAdivh8uNw== From: Frank Oltmanns To: Jernej =?utf-8?Q?=C5=A0krabec?= Cc: Maxime Ripard , Chen-Yu Tsai , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Samuel Holland , Icenowy Zheng , Ondrej Jirman , dri-devel@lists.freedesktop.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org Subject: Re: [PATCH] drm/sun4i: tcon: Support keeping dclk rate upon ancestor clock changes In-Reply-To: <3793448.kQq0lBPeGt@jernej-laptop> ("Jernej =?utf-8?Q?=C5=A0k?= =?utf-8?Q?rabec=22's?= message of "Wed, 13 Mar 2024 19:11:37 +0100") References: <20240310-tcon_keep_stable_rate-v1-1-0296b0a85c02@oltmanns.dev> <3793448.kQq0lBPeGt@jernej-laptop> Date: Thu, 14 Mar 2024 06:43:55 +0100 Message-ID: <87sf0twep0.fsf@oltmanns.dev> MIME-Version: 1.0 X-Rspamd-Queue-Id: 4TwGXP1tdJz9tQC X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240313_224416_536684_B9EC7530 X-CRM114-Status: GOOD ( 38.45 ) 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 T24gMjAyNC0wMy0xMyBhdCAxOToxMTozNyArMDEwMCwgSmVybmVqIMWga3JhYmVjIDxqZXJuZWou c2tyYWJlY0BnbWFpbC5jb20+IHdyb3RlOgpIaSBKZXJuZWosCgpUaGFuayB5b3UgZm9yIHlvdXIg aGF2aW5nIGEgdGhvcm91Z2ggbG9vayBhdCB0aGlzIQoKPiBIaSBGcmFuayEKPgo+IFRoYW5rcyBv biB0YWNrbGluZyB0aGlzIGlzc3VlLgo+Cj4gRG5lIG5lZGVsamEsIDEwLiBtYXJlYyAyMDI0IG9i IDE0OjMyOjI5IENFVCBqZSBGcmFuayBPbHRtYW5ucyBuYXBpc2FsKGEpOgo+PiBBbGxvdyB0aGUg ZGNsayB0byByZXNldCBpdHMgcmF0ZSB3aGVuIGEgcmF0ZSBjaGFuZ2UgaXMgaW5pdGlhdGVkIGZy b20gYW4KPj4gYW5jZXN0b3IgY2xvY2suIFRoaXMgbWFrZXMgaXQgcG9zc2libGUgdG8gbm8gbG9u Z2VyIHRvIGdldCBhbiBleGNsdXNpdmUKPj4gbG9jay4gQXMgYSBjb25zZXF1ZW5jZSwgaXQgaXMg bm93IHBvc3NpYmxlIHRvIHNldCBuZXcgcmF0ZXMgaWYKPj4gbmVjZXNzYXJ5LCBlLmcuIHdoZW4g YW4gZXh0ZXJuYWwgZGlzcGxheSBpcyBjb25uZWN0ZWQuCj4+Cj4+IFRoZSBmaXJzdCB1c2VyIG9m IHRoaXMgZnVuY3Rpb25hbGl0eSBpcyB0aGUgQTY0IGJlY2F1c2UgUExMLVZJREVPMCBpcyBhbgo+ PiBhbmNlc3RvciBmb3IgYm90aCBIRE1JIGFuZCBUQ09OMC4gVGhpcyBhbGxvd3MgdG8gc2VsZWN0 IGFuIG9wdGltYWwgcmF0ZQo+PiBmb3IgVENPTjAgYXMgbG9uZyBhcyB0aGVyZSBpcyBubyBleHRl cm5hbCBIRE1JIGNvbm5lY3Rpb24uIE9uY2UgYSBjaGFuZ2UKPj4gaW4gUExMLVZJREVPMCBpcyBw ZXJmb3JtZWQgd2hlbiBhbiBIRE1JIGNvbm5lY3Rpb24gaXMgZXN0YWJsaXNoZWQsIFRDT04wCj4+ IGNhbiByZWFjdCBncmFjZWZ1bGx5IGFuZCBzZWxlY3QgYW4gb3B0aW1hbCByYXRlIGJhc2VkIG9u IHRoaXMgdGhlIG5ldwo+PiBjb25zdHJhaW50Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBGcmFuayBP bHRtYW5ucyA8ZnJhbmtAb2x0bWFubnMuZGV2Pgo+PiAtLS0KPj4gSSB3b3VsZCBsaWtlIHRvIG1h a2UgdGhlIEFsbHdpbm5lciBBNjQncyBkYXRhLWNsb2NrIGtlZXAgaXRzIHJhdGUKPj4gd2hlbiBp dHMgYW5jZXN0b3IncyAocGxsLXZpZGVvMCkgcmF0ZSBjaGFuZ2VzLiBLZWVwaW5nIGRhdGEtY2xv Y2sncyByYXRlCj4+IGlzIHJlcXVpcmVkLCB0byBsZXQgdGhlIEE2NCBkcml2ZSBib3RoIGFuIExD RCBhbmQgSERNSSBkaXNwbGF5IGF0IHRoZQo+PiBzYW1lIHRpbWUsIGJlY2F1c2UgYm90aCBoYXZl IHBsbC12aWRlbzAgYXMgYW4gYW5jZXN0b3IuCj4+Cj4+IFRDT05zIHRoYXQgdXNlIHRoaXMgZmxh ZyBzdG9yZSB0aGUgaWRlYWwgcmF0ZSBmb3IgdGhlaXIgZGF0YS1jbG9jayBhbmQKPj4gc3Vic2Ny aWJlIHRvIGJlIG5vdGlmaWVkIHdoZW4gZGF0YS1jbG9jayBjaGFuZ2VzLiBXaGVuIHJhdGUgc2V0 dGluZyBoYXMKPj4gZmluaXNoZWQgKGluZGljYXRlZCBieSBhIFBPU1RfUkFURV9DSEFOR0UgZXZl bnQpIHRoZSBjYWxsIGJhY2sgZnVuY3Rpb24KPj4gc2NoZWR1bGVzIGRlbGF5ZWQgd29yayB0byBz ZXQgdGhlIGRhdGEtY2xvY2sncyByYXRlIHRvIHRoZSBpbml0aWFsIHZhbHVlCj4+IGFmdGVyIDEw MCBtcy4gVXNpbmcgZGVsYXllZCB3b3JrIG1ha3Mgc3VyZSB0aGF0IHRoZSBjbG9jayBzZXR0aW5n IGlzCj4+IGZpbmlzaGVkLgo+Pgo+PiBJJ3ZlIGltcGxlbWVudGVkIHRoaXMgZnVuY3Rpb25hbGl0 eSBhcyBhIHF1aXJrLCBzbyB0aGF0IGl0IGlzIHBvc3NpYmxlCj4+IHRvIHVzZSBpdCBvbmx5IGZv ciB0aGUgQTY0Lgo+Pgo+PiBUaGlzIHBhdGNoIHN1cGVyc2VkZXMgWzFdLgo+Pgo+PiBUaGlzIHdv cmsgaXMgaW5zcGlyZWQgYnkgYW4gb3V0LW9mLXRyZWUgcGF0Y2hzZXQgWzJdIFszXSBbNF0uCj4+ IFVuZm9ydHVuYXRlbHksIHRoZSBwYXRjaHNldCB1c2VzIGNsa19zZXRfcmF0ZSgpIGRpcmVjdGx5 IGluIGEgbm90aWZpZXIKPj4gY2FsbGJhY2ssIHdoaWNoIHRoZSBmb2xsb3dpbmcgY29tbWVudCBv biBjbGtfbm90aWZpZXJfcmVnaXN0ZXIoKQo+PiBmb3JiaWRzOiAiVGhlIGNhbGxiYWNrcyBhc3Nv Y2lhdGVkIHdpdGggdGhlIG5vdGlmaWVyIG11c3Qgbm90IHJlLWVudGVyCj4+IGludG8gdGhlIGNs ayBmcmFtZXdvcmsgYnkgY2FsbGluZyBhbnkgdG9wLWxldmVsIGNsayBBUElzLiIgWzVdCj4+IEZ1 cnRoZXJtb3JlLCB0aGF0IG91dC1vZi10cmVlIHBhdGNoc2V0IG5vIGxvbmdlciB3b3JrcyBzaW5j ZSA2LjYsCj4+IGJlY2F1c2Ugc2V0dGluZyBwbGwtbWlwaSBpcyBub3cgYWxzbyByZXNldHRpbmcg cGxsLXZpZGVvMCBhbmQgdGhlcmVmb3JlCj4+IGNhdXNlcyBhIHJhY2UgY29uZGl0aW9uLgo+Pgo+ PiBUaGFuayB5b3UgZm9yIGNvbnNpZGVyaW5nIHRoaXMgY29udHJpYnV0aW9uLAo+PiAgIEZyYW5r Cj4+Cj4+IFsxXSBodHRwczovL2xvcmUua2VybmVsLm9yZy9sa21sLzIwMjMwODI1LXBsbC1taXBp X2tlZXBfcmF0ZS12MS0wLTM1YmM0MzU3MDczMEBvbHRtYW5ucy5kZXYvCj4+IFsyXSBodHRwczov L2NvZGViZXJnLm9yZy9tZWdpL2xpbnV4L2NvbW1pdC9hMzdjZGEyZmZmNDFhNjdhMmJhY2Y4MmIx NTk0ZTEwMzM1ZDBiZDhhCj4+IFszXSBodHRwczovL2NvZGViZXJnLm9yZy9tZWdpL2xpbnV4L2Nv bW1pdC8yNGRjMDkxMjhkMmM4ZWZjNmRkZjE5MjQ5NDIwZTk3OThlOTY3YTQ2Cj4+IFs0XSBodHRw czovL2NvZGViZXJnLm9yZy9tZWdpL2xpbnV4L2NvbW1pdC83MjhhOTNkNDZmOTlmMGViMjMxZWQ2 ZmE4OTcxYTQ1Zjk3YzcxODJjCj4+IFs1XSBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51 eC92Ni43Ljkvc291cmNlL2RyaXZlcnMvY2xrL2Nsay5jI0w0NjY5Cj4+IC0tLQo+PiAgZHJpdmVy cy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24uYyB8IDcwICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5oIHwg MTIgKysrKysrKwo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA3NiBpbnNlcnRpb25zKCspLCA2IGRlbGV0 aW9ucygtKQo+Pgo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rj b24uYyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90Y29uLmMKPj4gaW5kZXggYTFhMmM4 NDVhZGUwLi5iODgwYmQ0NDA0OWEgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9zdW40 aS9zdW40aV90Y29uLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3N1bjRpL3N1bjRpX3Rjb24u Ywo+PiBAQCAtMTA4LDkgKzEwOCwxMSBAQCBzdGF0aWMgdm9pZCBzdW40aV90Y29uX2NoYW5uZWxf c2V0X3N0YXR1cyhzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwgaW50IGNoYW5uZWwsCj4+Cj4+ICAJ aWYgKGVuYWJsZWQpIHsKPj4gIAkJY2xrX3ByZXBhcmVfZW5hYmxlKGNsayk7Cj4+IC0JCWNsa19y YXRlX2V4Y2x1c2l2ZV9nZXQoY2xrKTsKPj4gKwkJaWYgKCF0Y29uLT5xdWlya3MtPnJlc3RvcmVz X3JhdGUpCj4+ICsJCQljbGtfcmF0ZV9leGNsdXNpdmVfZ2V0KGNsayk7Cj4+ICAJfSBlbHNlIHsK Pj4gLQkJY2xrX3JhdGVfZXhjbHVzaXZlX3B1dChjbGspOwo+PiArCQlpZiAoIXRjb24tPnF1aXJr cy0+cmVzdG9yZXNfcmF0ZSkKPj4gKwkJCWNsa19yYXRlX2V4Y2x1c2l2ZV9wdXQoY2xrKTsKPj4g IAkJY2xrX2Rpc2FibGVfdW5wcmVwYXJlKGNsayk7Cj4+ICAJfQo+PiAgfQo+PiBAQCAtMzQzLDYg KzM0NSw1MyBAQCBzdGF0aWMgdm9pZCBzdW40aV90Y29uMF9tb2RlX3NldF9kaXRoZXJpbmcoc3Ry dWN0IHN1bjRpX3Rjb24gKnRjb24sCj4+ICAJcmVnbWFwX3dyaXRlKHRjb24tPnJlZ3MsIFNVTjRJ X1RDT05fRlJNX0NUTF9SRUcsIHZhbCk7Cj4+ICB9Cj4+Cj4+ICtzdGF0aWMgdm9pZCBzdW40aV9y YXRlX3Jlc2V0X25vdGlmaWVyX2RlbGF5ZWRfdXBkYXRlKHN0cnVjdCB3b3JrX3N0cnVjdCAqd29y aykKPj4gK3sKPj4gKwlzdHJ1Y3Qgc3VuNGlfcmF0ZV9yZXNldF9uYiAqcmF0ZV9yZXNldCA9IGNv bnRhaW5lcl9vZih3b3JrLCBzdHJ1Y3Qgc3VuNGlfcmF0ZV9yZXNldF9uYiwKPj4gKwkJCQkJCQkg ICAgcmVzZXRfcmF0ZV93b3JrLndvcmspOwo+PiArCj4+ICsJY2xrX3NldF9yYXRlKHJhdGVfcmVz ZXQtPnRhcmdldF9jbGssIHJhdGVfcmVzZXQtPnNhdmVkX3JhdGUpOwo+PiArfQo+PiArCj4+ICtz dGF0aWMgaW50IHN1bjRpX3JhdGVfcmVzZXRfbm90aWZpZXJfY2Ioc3RydWN0IG5vdGlmaWVyX2Js b2NrICpuYiwKPj4gKwkJCQkgICAgICB1bnNpZ25lZCBsb25nIGV2ZW50LCB2b2lkICpkYXRhKQo+ PiArewo+PiArCXN0cnVjdCBzdW40aV9yYXRlX3Jlc2V0X25iICpyYXRlX3Jlc2V0ID0gdG9fc3Vu NGlfcmF0ZV9yZXNldF9uYihuYik7Cj4+ICsKPj4gKwlpZiAoZXZlbnQgPT0gUE9TVF9SQVRFX0NI QU5HRSkKPj4gKwkJc2NoZWR1bGVfZGVsYXllZF93b3JrKCZyYXRlX3Jlc2V0LT5yZXNldF9yYXRl X3dvcmssIG1zZWNzX3RvX2ppZmZpZXMoMTAwKSk7Cj4KPiBEbyB3ZSBuZWVkIHRoYXQgZGVsYXkg dGhvdWdoPyBTaW5jZSBjbG9jayBpcyBzZXQgZXhjbHVzaXZlIG9uIFRWIFRDT05zLCB0aGVuCj4g aXQgc2hvdWxkbid0IGJlIGNoYW5nZWQuIEFsdGVybmF0aXZlLCBzaW1wbGVyIHZhcmlhdGlvbiB3 b3VsZCBiZSBzb21ldGhpbmcKPiBsaWtlIHRoaXM6Cj4gaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5j b20vbGludXgvdjYuOC9zb3VyY2UvZHJpdmVycy90dHkvc2VyaWFsLzgyNTAvODI1MF9kdy5jI0wz MzMKPgoKSW50ZXJlc3RpbmchIE15IHJlYXNvbiBmb3Igc2NoZWR1bGluZyB0aGUgd29yayB3YXMg dG8gbWFrZSBzdXJlIHdlIGRvbid0CmNhbGwgYW55IGNsayBBUEkgZnVuY3Rpb25zIGZyb20gdGhl IGNhbGxiYWNrIGFzIGRlc2NyaWJlZCBpbiBteSBjb3ZlcgpsZXR0ZXIgYWJvdmUuIEJ1dCB1c2lu ZyB0aGUgcXVldWUgaXMgYSBtdWNoIG5pY2VyIGFwcHJvYWNoIGZvciBhY2hpZXZpbmcKdGhlIHNh bWUgdGhpbmchIFRoYW5rcyEKCj4+ICsKPj4gKwlyZXR1cm4gTk9USUZZX0RPTkU7Cj4+ICt9Cj4+ ICsKPj4gK3N0YXRpYyB2b2lkIHN1bjRpX3JhdGVfcmVzZXRfbm90aWZpZXJfcmVnaXN0ZXIoc3Ry dWN0IHN1bjRpX3JhdGVfcmVzZXRfbmIgKnJhdGVfcmVzZXRfbmIpCj4+ICt7Cj4+ICsJaWYgKHJh dGVfcmVzZXRfbmItPmlzX3JlZ2lzdGVyZWQpCj4+ICsJCXJldHVybjsKPj4gKwo+PiArCXJhdGVf cmVzZXRfbmItPmNsa19uYi5ub3RpZmllcl9jYWxsID0gc3VuNGlfcmF0ZV9yZXNldF9ub3RpZmll cl9jYjsKPj4gKwo+PiArCUlOSVRfREVMQVlFRF9XT1JLKCZyYXRlX3Jlc2V0X25iLT5yZXNldF9y YXRlX3dvcmssCj4+ICsJCQkgIHN1bjRpX3JhdGVfcmVzZXRfbm90aWZpZXJfZGVsYXllZF91cGRh dGUpOwo+PiArCj4+ICsJaWYgKCFjbGtfbm90aWZpZXJfcmVnaXN0ZXIocmF0ZV9yZXNldF9uYi0+ dGFyZ2V0X2NsaywKPj4gKwkJCQkgICAmcmF0ZV9yZXNldF9uYi0+Y2xrX25iKSkKPj4gKwkJcmF0 ZV9yZXNldF9uYi0+aXNfcmVnaXN0ZXJlZCA9IHRydWU7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyBz dHJ1Y3Qgc3VuNGlfcmF0ZV9yZXNldF9uYiB0Y29uX3JhdGVfcmVzZXRfdGNvbjBfbmI7Cj4KPiBJ cyB0aGVyZSBhbnkgc3BlY2lmaWMgcmVhc29uIGZvciBnbG9iYWwgdmFyaWFibGU/IE5vdGUgdGhh dCBSNDAgYW5kIFQ1MDcgaGF2ZQo+IDIgTENEIGFuZCAyIFRWIFRDT05zLiBJZiBpdCdzIGV2ZXIg dXNlZCB0aGVyZSwgaXQgd29uJ3QgZmx5LiBQbGVhc2UgbW92ZSB0bwo+IFRDT04gc3RydWN0LiBZ b3UgY2FuIGRyb3AgYSBmZXcgZmllbGRzIGZvciBkb2luZyBzby4KClRoZSBvbmx5IHJlYXNvbiBp cyB0aGF0IGdsb2JhbCB2YXJpYWJsZXMgd2VyZSB1c2VkIGZvciB0aGUgU29DIHNwZWNpZmljCmNh bGxiYWNrcyB0aGF0IHNlcnZlZCBhcyBteSBpbnNwaXJhdGlvbi4gU28sIEkgdGhvdWdodCBpdCB3 YXMgYSBjb21tb24KcGF0dGVybi4gQWN0dWFsbHksIEkgd2FudGVkIHRvIG1ha2UgaXQgcGFydCBv ZiB0aGUgdGNvbiBzdHJ1Y3QgYnV0CnJlZnJhaW5lZCBmcm9tIGRvaW5nIHNvIHRvIG5vdCBicmVh ayB0aGUgcGF0dGVybi4gTm93IHRoYXQgSSBoYXZlIHlvdXIKYmxlc3NpbmcsIEknbGwgcmVmYWN0 b3IuCgo+Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIHN1bjRpX3Rjb24wX3NldF9kY2xrX3JhdGUoc3Ry dWN0IHN1bjRpX3Rjb24gKnRjb24sIHVuc2lnbmVkIGxvbmcgcmF0ZSkKPj4gK3sKPj4gKwljbGtf c2V0X3JhdGUodGNvbi0+ZGNsaywgcmF0ZSk7Cj4+ICsKPj4gKwlpZiAodGNvbi0+cXVpcmtzLT5y ZXN0b3Jlc19yYXRlKSB7Cj4+ICsJCXRjb25fcmF0ZV9yZXNldF90Y29uMF9uYi50YXJnZXRfY2xr ID0gdGNvbi0+ZGNsazsKPj4gKwkJdGNvbl9yYXRlX3Jlc2V0X3Rjb24wX25iLnNhdmVkX3JhdGUg PSByYXRlOwo+PiArCQlzdW40aV9yYXRlX3Jlc2V0X25vdGlmaWVyX3JlZ2lzdGVyKCZ0Y29uX3Jh dGVfcmVzZXRfdGNvbjBfbmIpOwo+Cj4gQ2FuJ3QgYmUgcmVnaXN0cmF0aW9uIGRvbmUgYXQgVENP TiBpbml0IHRpbWU/CgpQcm9iYWJseSB5ZXMhIEknbGwgbWFrZSBzdXJlIHRvIGRvIHNvIGluIFYy LgoKVGhhbmtzIGFnYWluIGZvciB0aGUgZ3JlYXQgZmVlZGJhY2ssCiAgRnJhbmsKCj4KPiBCZXN0 IHJlZ2FyZHMsCj4gSmVybmVqCj4KPj4gKwl9Cj4+ICt9Cj4+ICsKPj4gIHN0YXRpYyB2b2lkIHN1 bjRpX3Rjb24wX21vZGVfc2V0X2NwdShzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwKPj4gIAkJCQkg ICAgIGNvbnN0IHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciwKPj4gIAkJCQkgICAgIGNvbnN0 IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQo+PiBAQCAtMzYwLDggKzQwOSw4IEBAIHN0 YXRpYyB2b2lkIHN1bjRpX3Rjb24wX21vZGVfc2V0X2NwdShzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNv biwKPj4gIAkgKi8KPj4gIAl0Y29uLT5kY2xrX21pbl9kaXYgPSBTVU42SV9EU0lfVENPTl9ESVY7 Cj4+ICAJdGNvbi0+ZGNsa19tYXhfZGl2ID0gU1VONklfRFNJX1RDT05fRElWOwo+PiAtCWNsa19z ZXRfcmF0ZSh0Y29uLT5kY2xrLCBtb2RlLT5jcnRjX2Nsb2NrICogMTAwMCAqIChicHAgLyBsYW5l cykKPj4gLQkJCQkJCSAgLyBTVU42SV9EU0lfVENPTl9ESVYpOwo+PiArCXN1bjRpX3Rjb24wX3Nl dF9kY2xrX3JhdGUodGNvbiwgbW9kZS0+Y3J0Y19jbG9jayAqIDEwMDAgKiAoYnBwIC8gbGFuZXMp Cj4+ICsJCQkJICAvIFNVTjZJX0RTSV9UQ09OX0RJVik7Cj4+Cj4+ICAJLyogU2V0IHRoZSByZXNv bHV0aW9uICovCj4+ICAJcmVnbWFwX3dyaXRlKHRjb24tPnJlZ3MsIFNVTjRJX1RDT04wX0JBU0lD MF9SRUcsCj4+IEBAIC00MzQsNyArNDgzLDcgQEAgc3RhdGljIHZvaWQgc3VuNGlfdGNvbjBfbW9k ZV9zZXRfbHZkcyhzdHJ1Y3Qgc3VuNGlfdGNvbiAqdGNvbiwKPj4KPj4gIAl0Y29uLT5kY2xrX21p bl9kaXYgPSA3Owo+PiAgCXRjb24tPmRjbGtfbWF4X2RpdiA9IDc7Cj4+IC0JY2xrX3NldF9yYXRl KHRjb24tPmRjbGssIG1vZGUtPmNydGNfY2xvY2sgKiAxMDAwKTsKPj4gKwlzdW40aV90Y29uMF9z ZXRfZGNsa19yYXRlKHRjb24sIG1vZGUtPmNydGNfY2xvY2sgKiAxMDAwKTsKPj4KPj4gIAkvKiBT ZXQgdGhlIHJlc29sdXRpb24gKi8KPj4gIAlyZWdtYXBfd3JpdGUodGNvbi0+cmVncywgU1VONElf VENPTjBfQkFTSUMwX1JFRywKPj4gQEAgLTUxNiw3ICs1NjUsNyBAQCBzdGF0aWMgdm9pZCBzdW40 aV90Y29uMF9tb2RlX3NldF9yZ2Ioc3RydWN0IHN1bjRpX3Rjb24gKnRjb24sCj4+Cj4+ICAJdGNv bi0+ZGNsa19taW5fZGl2ID0gdGNvbi0+cXVpcmtzLT5kY2xrX21pbl9kaXY7Cj4+ICAJdGNvbi0+ ZGNsa19tYXhfZGl2ID0gMTI3Owo+PiAtCWNsa19zZXRfcmF0ZSh0Y29uLT5kY2xrLCBtb2RlLT5j cnRjX2Nsb2NrICogMTAwMCk7Cj4+ICsJc3VuNGlfdGNvbjBfc2V0X2RjbGtfcmF0ZSh0Y29uLCBt b2RlLT5jcnRjX2Nsb2NrICogMTAwMCk7Cj4+Cj4+ICAJLyogU2V0IHRoZSByZXNvbHV0aW9uICov Cj4+ICAJcmVnbWFwX3dyaXRlKHRjb24tPnJlZ3MsIFNVTjRJX1RDT04wX0JBU0lDMF9SRUcsCj4+ IEBAIC0xNTAzLDYgKzE1NTIsMTQgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV90Y29uX3F1 aXJrcyBzdW44aV9hMzNfcXVpcmtzID0gewo+PiAgCS5zdXBwb3J0c19sdmRzCQk9IHRydWUsCj4+ ICB9Owo+Pgo+PiArc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV90Y29uX3F1aXJrcyBzdW41MGlf YTY0X2xjZF9xdWlya3MgPSB7Cj4+ICsJLnN1cHBvcnRzX2x2ZHMJCT0gdHJ1ZSwKPj4gKwkuaGFz X2NoYW5uZWxfMAkJPSB0cnVlLAo+PiArCS5yZXN0b3Jlc19yYXRlCQk9IHRydWUsCj4+ICsJLmRj bGtfbWluX2RpdgkJPSAxLAo+PiArCS5zZXR1cF9sdmRzX3BoeQkJPSBzdW42aV90Y29uX3NldHVw X2x2ZHNfcGh5LAo+PiArfTsKPj4gKwo+PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBzdW40aV90Y29u X3F1aXJrcyBzdW44aV9hODN0X2xjZF9xdWlya3MgPSB7Cj4+ICAJLnN1cHBvcnRzX2x2ZHMJCT0g dHJ1ZSwKPj4gIAkuaGFzX2NoYW5uZWxfMAkJPSB0cnVlLAo+PiBAQCAtMTU2MSw2ICsxNjE4LDcg QEAgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBzdW40aV90Y29uX29mX3RhYmxlW10gPSB7Cj4+ ICAJeyAuY29tcGF0aWJsZSA9ICJhbGx3aW5uZXIsc3VuOWktYTgwLXRjb24tdHYiLCAuZGF0YSA9 ICZzdW45aV9hODBfdGNvbl90dl9xdWlya3MgfSwKPj4gIAl7IC5jb21wYXRpYmxlID0gImFsbHdp bm5lcixzdW4yMGktZDEtdGNvbi1sY2QiLCAuZGF0YSA9ICZzdW4yMGlfZDFfbGNkX3F1aXJrcyB9 LAo+PiAgCXsgLmNvbXBhdGlibGUgPSAiYWxsd2lubmVyLHN1bjIwaS1kMS10Y29uLXR2IiwgLmRh dGEgPSAmc3VuOGlfcjQwX3R2X3F1aXJrcyB9LAo+PiArCXsgLmNvbXBhdGlibGUgPSAiYWxsd2lu bmVyLHN1bjUwaS1hNjQtdGNvbi1sY2QiLCAuZGF0YSA9ICZzdW41MGlfYTY0X2xjZF9xdWlya3Mg fSwKPj4gIAl7IH0KPj4gIH07Cj4+ICBNT0RVTEVfREVWSUNFX1RBQkxFKG9mLCBzdW40aV90Y29u X29mX3RhYmxlKTsKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90 Y29uLmggYi9kcml2ZXJzL2dwdS9kcm0vc3VuNGkvc3VuNGlfdGNvbi5oCj4+IGluZGV4IGZhMjNh YTIzZmU0YS4uYmQ0YWJjOTAwNjJiIDEwMDY0NAo+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vc3Vu NGkvc3VuNGlfdGNvbi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9zdW40aS9zdW40aV90Y29u LmgKPj4gQEAgLTI0Myw2ICsyNDMsNyBAQCBzdHJ1Y3Qgc3VuNGlfdGNvbl9xdWlya3Mgewo+PiAg CWJvb2wgICAgbmVlZHNfZWRwX3Jlc2V0OyAvKiBhODAgZWRwIHJlc2V0IG5lZWRlZCBmb3IgdGNv bjAgYWNjZXNzICovCj4+ICAJYm9vbAlzdXBwb3J0c19sdmRzOyAgIC8qIERvZXMgdGhlIFRDT04g c3VwcG9ydCBhbiBMVkRTIG91dHB1dD8gKi8KPj4gIAlib29sCXBvbGFyaXR5X2luX2NoMDsgLyog c29tZSB0Y29uMSBjaGFubmVscyBoYXZlIHBvbGFyaXR5IGJpdHMgaW4gdGNvbjAgcG9sIHJlZ2lz dGVyICovCj4+ICsJYm9vbAlyZXN0b3Jlc19yYXRlOyAgIC8qIHJlc3RvcmVzIHRoZSBpbml0aWFs IHJhdGUgd2hlbiByYXRlIGNoYW5nZXMgKi8KPj4gIAl1OAlkY2xrX21pbl9kaXY7CS8qIG1pbmlt dW0gZGl2aWRlciBmb3IgVENPTjAgRENMSyAqLwo+Pgo+PiAgCS8qIGNhbGxiYWNrIHRvIGhhbmRs ZSB0Y29uIG11eGluZyBvcHRpb25zICovCj4+IEBAIC0zMDAsNCArMzAxLDE1IEBAIHZvaWQgc3Vu NGlfdGNvbl9zZXRfc3RhdHVzKHN0cnVjdCBzdW40aV90Y29uICpjcnRjLAo+Pgo+PiAgZXh0ZXJu IGNvbnN0IHN0cnVjdCBvZl9kZXZpY2VfaWQgc3VuNGlfdGNvbl9vZl90YWJsZVtdOwo+Pgo+PiAr c3RydWN0IHN1bjRpX3JhdGVfcmVzZXRfbmIgewo+PiArCXN0cnVjdCBub3RpZmllcl9ibG9jawlj bGtfbmI7Cj4+ICsJc3RydWN0IGRlbGF5ZWRfd29yawlyZXNldF9yYXRlX3dvcms7Cj4+ICsKPj4g KwlzdHJ1Y3QgY2xrCQkqdGFyZ2V0X2NsazsKPj4gKwl1bnNpZ25lZCBsb25nCQlzYXZlZF9yYXRl Owo+PiArCWJvb2wJCQlpc19yZWdpc3RlcmVkOwo+PiArfTsKPj4gKwo+PiArI2RlZmluZSB0b19z dW40aV9yYXRlX3Jlc2V0X25iKF9uYikgY29udGFpbmVyX29mKF9uYiwgc3RydWN0IHN1bjRpX3Jh dGVfcmVzZXRfbmIsIGNsa19uYikKPj4gKwo+PiAgI2VuZGlmIC8qIF9fU1VONElfVENPTl9IX18g Ki8KPj4KPj4gLS0tCj4+IGJhc2UtY29tbWl0OiBkY2I2YzhlZTZhY2M2YzM0N2NhZWMxZTczZmI5 MDBjMGY0ZmY5ODA2Cj4+IGNoYW5nZS1pZDogMjAyNDAzMDQtdGNvbl9rZWVwX3N0YWJsZV9yYXRl LTU3MjljNzcwNjM0Mwo+Pgo+PiBCZXN0IHJlZ2FyZHMsCj4+CgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1haWxpbmcgbGlz dApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xpc3RzLmluZnJh ZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==