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 2D885C5478C for ; Mon, 26 Feb 2024 17:29:52 +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:References:In-Reply-To: Message-ID:Date: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=MXfaK5V7vbBv1HkHlkE7Zxa8HLyMutiwvX32Nj5SRlA=; b=HWGaisuhmEKQB0 2CAb7zHHuL+Ih+FQe0N3BZJCtN0ihTz0xQ+znH/nGo7XTHAaZKRSt399N4YHIV+3+CPuVtF/itkTD 9U3qUkZsUsdtzhM+3Ni/hPzkojfTJ1/iXQIp70Kn3w5zhA9Yp/Fxh/TtG9kCWAC7e7DKlZbv0wUir qlz6tz6RD0eNua41C8jAdZyASMq0FWJv1Ld9+1k79ZF15OaVNOMXxuaw8vKQi3ywx5hZnkCl5Y4Zk WFVViSxSfpGj7NcogycW/M5OBdkmy9pABcjz1VCLhcaHpXfOEb1yiMBJ+3aO1Q9pp/+8iOnDasfr8 Nd5fHlaUN0ysgiqowb7w==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.97.1 #2 (Red Hat Linux)) id 1reenJ-00000001ye1-0ivJ; Mon, 26 Feb 2024 17:29:37 +0000 Received: from mail-ej1-x62d.google.com ([2a00:1450:4864:20::62d]) by bombadil.infradead.org with esmtps (Exim 4.97.1 #2 (Red Hat Linux)) id 1reenF-00000001ycF-2HNq for linux-arm-kernel@lists.infradead.org; Mon, 26 Feb 2024 17:29:35 +0000 Received: by mail-ej1-x62d.google.com with SMTP id a640c23a62f3a-a43488745bcso192359366b.3 for ; Mon, 26 Feb 2024 09:29:32 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20230601; t=1708968571; x=1709573371; darn=lists.infradead.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=uTNfYrs5k6Gz8OzZ/jpN+432GP+s/eKGWOpfysyFss0=; b=GfLiKGeBvv7cnLL7FNF/Pl95yG4HfKhMxfEDSWIWrvGbLF9igbe+GI5BbSjJO0OYh3 PkPXgmj7cHuunnrbI+jf+sL7wqux5etx77rRe4YFRsaOL0uCQd9cFgz2Du69Fw8yrOtL FGIW5VHOOWdY6O/gmcQ0bNZEv5QaFUjXA340PMGnSo4W/LGyVIwQ8v3JhthzuJasiO4Z G3FNslML24+ryKZfIv9cYWEonGC0KuPAR3C36RhnXIl+hcIEFTc86eLMpg4cpY4zyHHs i5BBBLFrKKMg/5TOghx0BfuSd0lr16phic0ohhtvozIWPjCXgvKsIa1qN8rE/I8EYPOt wSUg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1708968571; x=1709573371; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-message-state:from:to:cc :subject:date:message-id:reply-to; bh=uTNfYrs5k6Gz8OzZ/jpN+432GP+s/eKGWOpfysyFss0=; b=GOncSKdN9duwG6+Vc8kEWM49SEq0gOzNZYCa13EfiBSrH4Bd7Kpwn+6iiRsJSc9Jew XGOYdixi1PlU7FXkoz+w+7ZuzPTFYPuROJCXDoM0BJrQop1uJi39/4wIYDMuhh6x17nS u6nu/xNaMlCgSO9FeHc3Rlzey2NjWlCUAVg1PzA3XwvY7/cx1Z79NKZf5s1Gp6H7R8A3 axJYX0zmF2fc2vi3Ir8IzNvkgvt38g+DLwnBba1nCVVcFGdX9Vwbd0MjfFKeiFTzn9W2 R7kHG6F1vPnWfEF9r3IkkLU1bsuFyNoXyzRWSi/DP4EXG9lwtrufgqx2vMaUOfqZK1x0 I6KQ== X-Forwarded-Encrypted: i=1; AJvYcCUmwdvcVZbkOqqsL0ywDz5Lqkd7BuvwYx9GTOaif0n2y59sT0Je43ixtUZ65KTNUof7Jh0/31tB/7hJoJ7NtewAeBSaswOS0zZfXQSk57Oxl70+4zE= X-Gm-Message-State: AOJu0YyUqUHWe4J/0PXu8ouHkOOLGkD+kvbxEWWpTphyj4CFvjl4ry0v HWkEcmyF5rdoJiHw6LmHqETaW0MXgFoywyS4jFu2la/Hrzn5cbq9 X-Google-Smtp-Source: AGHT+IF/2k+pmfOW66mPmU1VQ//WB/gsjeh7KQflarLtcUM81gJHGL8o2NsXzTzgDh1Y2GpLoJ6CEg== X-Received: by 2002:a17:906:d297:b0:a42:f7af:741b with SMTP id ay23-20020a170906d29700b00a42f7af741bmr4236943ejb.51.1708968571164; Mon, 26 Feb 2024 09:29:31 -0800 (PST) Received: from jernej-laptop.localnet (86-58-6-171.dynamic.telemach.net. [86.58.6.171]) by smtp.gmail.com with ESMTPSA id bj3-20020a17090736c300b00a3f5ff7b675sm2617714ejc.23.2024.02.26.09.29.29 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 26 Feb 2024 09:29:30 -0800 (PST) From: Jernej =?utf-8?B?xaBrcmFiZWM=?= To: =?utf-8?B?T25kxZllag==?= Jirman , Maxime Ripard , Frank Oltmanns Cc: Michael Turquette , Stephen Boyd , Chen-Yu Tsai , Samuel Holland , Guido =?ISO-8859-1?Q?G=FCnther?= , Purism Kernel Team , Neil Armstrong , Jessica Zhang , Sam Ravnborg , Maarten Lankhorst , Thomas Zimmermann , David Airlie , Daniel Vetter , Rob Herring , Krzysztof Kozlowski , Conor Dooley , linux-clk@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, devicetree@vger.kernel.org Subject: Re: [PATCH v2 0/6] Pinephone video out fixes (flipping between two frames) Date: Mon, 26 Feb 2024 18:29:28 +0100 Message-ID: <3546609.iIbC2pHGDl@jernej-laptop> In-Reply-To: <875xybr93t.fsf@oltmanns.dev> References: <20240205-pinephone-pll-fixes-v2-0-96a46a2d8c9b@oltmanns.dev> <87r0h8n64g.fsf@oltmanns.dev> <875xybr93t.fsf@oltmanns.dev> MIME-Version: 1.0 X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20240226_092933_636973_94EAD11D X-CRM114-Status: GOOD ( 68.42 ) 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 RG5lIHBvbmVkZWxqZWssIDI2LiBmZWJydWFyIDIwMjQgb2IgMDg6MTM6NDIgQ0VUIGplIEZyYW5r IE9sdG1hbm5zIG5hcGlzYWwoYSk6Cj4gSGkgSmVybmVqLAo+IGhpIE1heGltZSwKPiBoaSBPbmTF mWVqLAo+IAo+IE9uIDIwMjQtMDItMTkgYXQgMTA6NDE6MTkgKzAxMDAsIEZyYW5rIE9sdG1hbm5z IDxmcmFua0BvbHRtYW5ucy5kZXY+IHdyb3RlOgo+ID4gSGkgT25kxZllaiwKPiA+Cj4gPiBPbiAy MDI0LTAyLTExIGF0IDIwOjI1OjI5ICswMTAwLCBPbmTFmWVqIEppcm1hbiA8bWVnaUB4ZmYuY3o+ IHdyb3RlOgo+ID4+IEhpIEZyYW5rLAo+ID4+Cj4gPj4gT24gU3VuLCBGZWIgMTEsIDIwMjQgYXQg MDQ6MDk6MTZQTSArMDEwMCwgRnJhbmsgT2x0bWFubnMgd3JvdGU6Cj4gPj4+IEhpIE9uZMWZZWos Cj4gPj4+Cj4gPj4+IE9uIDIwMjQtMDItMDUgYXQgMTc6MDI6MDAgKzAxMDAsIE9uZMWZZWogSmly bWFuIDxtZWdpQHhmZi5jej4gd3JvdGU6Cj4gPj4+ID4gT24gTW9uLCBGZWIgMDUsIDIwMjQgYXQg MDQ6NTQ6MDdQTSArMDEwMCwgT25kxZllaiBKaXJtYW4gd3JvdGU6Cj4gPj4+ID4+IE9uIE1vbiwg RmViIDA1LCAyMDI0IGF0IDA0OjIyOjIzUE0gKzAxMDAsIEZyYW5rIE9sdG1hbm5zIHdyb3RlOgo+ ID4+PiA+Pgo+ID4+PiA+PiBbLi4uXQo+ID4+PiA+Pgo+ID4+PiA+PiBBbHNvIHN1bnhpLW5nIGNs ayBkcml2ZXIgZG9lcyBhcHBseSBOTSBmYWN0b3JzIGF0IG9uY2UgdG8gUExMX0dQVSBjbG9jaywK PiA+Pj4gPj4gd2hpY2ggY2FuIGNhdXNlIHN1ZGRlbiBmcmVxdWVuY3kgaW5jcmVhc2UgYmV5b25k IGludGVuZGVkIG91dHB1dCBmcmVxdWVuY3ksCj4gPj4+ID4+IGJlY2F1c2UgZGl2aXNpb24gaXMg YXBwbGllZCBpbW1lZGlhdGVseSB3aGlsZSBtdWx0aXBsaWNhdGlvbiBpcyByZWZsZWN0ZWQKPiA+ Pj4gPj4gc2xvd2x5Lgo+ID4+PiA+Pgo+ID4+PiA+PiBFZy4gaWYgeW91J3JlIGNoYW5naW5nIGRp dmlkZXIgZnJvbSA3IHRvIDEsIHlvdSBjYW4gZ2V0IGEgc3VkZGVuIDd4IG91dHB1dAo+ID4+PiA+ PiBmcmVxdWVuY3kgc3Bpa2UsIGJlZm9yZSBQTEwgVkNPIG1hbmFnZXMgdG8gbG93ZXIgdGhlIGZy ZXF1ZW5jeSB0aHJvdWdoIE4gY2xrCj4gPj4+ID4+IGRpdmlkZXIgZmVlZGJhY2sgbG9vcCBhbmQg bG9jayBvbiBhZ2Fpbi4gVGhpcyBjYW4gbWVzcyB1cCB3aGF0ZXZlcidzIGNvbm5lY3RlZAo+ID4+ PiA+PiB0byB0aGUgb3V0cHV0IHF1aXRlIGJhZGx5Lgo+ID4+PiA+Pgo+ID4+PiA+PiBZb3UnZCBo YXZlIHRvIHB1dCBsb2dnaW5nIG9uIGtlcm5lbCB3cml0ZXMgdG8gUExMX0dQVSByZWdpc3RlciB0 byBzZWUgd2hhdAo+ID4+PiA+PiBpcyB3cml0dGVuIGluIHRoZXJlIGFuZCBpZiBkaXZpZGVyIGlz IGxvd2VyZWQgc2lnbmlmaWNhbnRseSBvbiBzb21lIEdQVQo+ID4+PiA+PiBkZXZmcmVxIGZyZXF1 ZW5jeSB0cmFuc2l0aW9ucy4KPiA+Pj4KPiA+Pj4gQnkgbG9va2luZyBhdCB0aGUgY2xvY2tzIGlu IGNsa19zdW1tYXJ5IGluIGRlYnVnZnMsIHRoZSByYXRlIG9mIFBMTC1HUFUKPiA+Pj4gYWx3YXlz IG1hdGNoZXMgdGhlIHJhdGUgb2YgdGhlIEdQVSAoYXQgbGVhc3QgYXQgMTIwLCAzMTIsIGFuZCA0 MzIgTUh6KS4KPiA+Pj4gVGhpcyBpcyBmdXJ0aGVyIHVuZGVybGluZWQgYnkgdGhlIGZhY3QsIHRo YXQgbm9uZSBvZiB0aGUgcmF0ZXMgY2FuIGJlCj4gPj4+IGFjaGlldmVkIGJ5IGludGVnZXIgZGl2 aWRpbmcgb25lIG9mIHRoZSBvdGhlciByYXRlcy4gc3VueGktbmcgd291bGQKPiA+Pj4gb25seSBm YXZvciBhIGRpZmZlcmVudCByYXRlIGZvciBwbGwtZ3B1IHRoYW4gdGhlIG9uZSB0aGF0IGlzIHJl cXVlc3RlZAo+ID4+PiBmb3IgdGhlIGdwdSwgaWYgcGxsLWdwdSBpcyBhbHJlYWR5IHJ1bm5pbmcg YXQgYSByYXRlIHN1Y2ggdGhhdCB0aGVyZQo+ID4+PiBleGlzdHMgYW4gTSDiiIggezEsIDIsIDMs IDQsIDUsIDYsIDcsIDh9LCB3aGVyZQo+ID4+PiAgIHJhdGUgb2YgcGxsLWdwdSAvIE0gPSByZXF1 ZXN0ZWQgZ3B1IHJhdGUKPiA+Pj4gb3IgaWYgdGhlIHJlcXVlc3RlZCByYXRlIGNvdWxkIG5vdCBi ZSByZWFjaGVkIGRpcmVjdGx5IGJ5IHBsbC1ncHUuIEJvdGgKPiA+Pj4gaXMgbm90IHRoZSBjYXNl IGZvciB0aGUgcmF0ZXMgaW4gcXVlc3Rpb24gKDEyMCwgMTkyLCAzMTIsIGFuZCA0MzIgTUh6KS4K PiA+Pj4KPiA+Pj4gVGhpcyBtZWFucyB0aGF0IHRoZSBmb2xsb3dpbmcgZGl2aXNvci9tdWx0aXBs aWVycyBhcmUgdXNlZCBieSBzdW54aS1uZydzCj4gPj4+IGNjdV9ubToKPiA+Pj4gTiA9ICA1LCBN ID0gMSBmb3IgMTIwIE1IeiAobWluIHZhbHVlIHdpdGhvdXQgUEFUQ0ggNikKPiA+Pj4gTiA9ICA4 LCBNID0gMSBmb3IgMTkyIE1IeiAobWluIHZhbHVlIGFmdGVyIGFwcGx5aW5nIFBBVENIIDYpCj4g Pj4+IE4gPSAxMywgTSA9IDEgZm9yIDMxMiBNSHoKPiA+Pj4gTiA9IDE4LCBNID0gMSBmb3IgNDMy IE1Iego+ID4+Pgo+ID4+PiBTbywgd2l0aCBvciB3aXRob3V0IFBBVENIIDYsIHRoZSBkaXZpZGVy IHN0YXlzIGNvbnN0YW50IGFuZCBpdCdzIG9ubHkKPiA+Pj4gdGhlIG11bHRpcGxpZXIgdGhhdCBj aGFuZ2VzLiBUaGlzIG1lYW5zLCB0aGVyZSBzaG91bGQgYmUgbm8gdW5leHBlY3RlZAo+ID4+PiBm cmVxdWVuY3kgc3Bpa2VzLCByaWdodD8KPiA+Pgo+ID4+IE1heWJlLiBUaGFua3MgZm9yIGdpdmlu ZyBpdCBhIHRyeS4gVGhlcmUgbWF5IHN0aWxsIGJlIG90aGVyIGtpbmRzIG9mIGdsaXRjaGVzCj4g Pj4gZXZlbiBpZiB0aGUgZGl2aXNvciBzdGF5cyB0aGUgc2FtZS4gSXQgYWxsIGRlcGVuZHMgaG93 IHRoZSByZWdpc3RlciB1cGRhdGUgaXMKPiA+PiBpbXBsZW1lbnRlZCBpbiB0aGUgUExMIGJsb2Nr LiBJdCdzIGhhcmQgdG8gc2F5LiBJIGd1ZXNzLCB1bmxlc3MgQWxsd2lubmVyCj4gPj4gZ3VhcmFu dGVlcyBnbGl0Y2hsZXNzIG91dHB1dCBmcm9tIGEgZ2l2ZW4gUExMIHdoZW4gY2hhbmdpbmcgaXRz IHBhcmFtZXRlcnMsCj4gPj4geW91IGNhbid0IHJlbHkgb24gdGhlIG91dHB1dCBiZWluZyBjbGVh biBkdXJpbmcgY2hhbmdlcy4KPiA+Pgo+ID4+PiA+PiBJdCdzIGFsc28gdW5jbGVhciB3aGF0IGhh cHBlbnMgd2hlbiBGUkFDX0NMS19PVVQgb3IgUExMX01PREVfU0VMIGNoYW5nZXMuCj4gPj4+Cj4g Pj4+IFRob3NlIGFyZSBub3QgY2hhbmdlZCBvbmNlIHRoZSBjbG9jayBpcyBpbml0aWFsaXplZC4g VGhlIGJ1ZyBob3dldmVyCj4gPj4+IG9jY3VycyBob3VycyBvciBkYXlzIGFmdGVyIGJvb3Rpbmcu IElNTywgdGhpcyBtYWtlcyBpdCB1bmxpa2VseSB0aGF0IHRoaXMKPiA+Pj4gY291bGQgYmUgdGhl IGN1bHByaXQuCj4gPj4+Cj4gPj4+ID4+IE1heWJlIG5vdCBtdWNoIGJlY2F1c2UgTSBpcyBzdXBw b3NlZCB0byBiZSBzZXQgdG8gMSwgYnV0IHlvdSBzdGlsbCBuZWVkIHRvCj4gPj4+ID4+IGNhcmUg d2hlbiBlbmFibGluZyBmcmFjdGlvbmFsIG1vZGUsIGFuZCBzZXR0aW5nIE0gdG8gMSBiZWNhdXNl IHRoYXQncyBleGFjdGx5Cj4gPj4+ID4+IHRoZSBiYWQgc2NlbmFyaW8gaWYgTSB3YXMgcHJldmlv dXNseSBoaWdoZXIgdGhhbiAxLgo+ID4+PiA+Pgo+ID4+PiA+PiBJdCdzIHRyaWNreS4KPiA+Pj4g Pj4KPiA+Pj4gPj4gSGF2aW5nIEdQVSBtb2R1bGUgY2xvY2sgZ2F0ZWQgZHVyaW5nIFBMTCBjb25m aWcgY2hhbmdlcyBtYXkgaGVscCEgWW91IGNhbgo+ID4+PiA+PiBkbyB0aGF0IHdpdGhvdXQgbG9j a2luZyB5b3Vyc2VsZiBvdXQsIHVubGlrZSB3aXRoIHRoZSBDUFUgUExMLgo+ID4+PiA+Pgo+ID4+ PiA+PiBUaGVyZSdzIGEgZ2F0ZSBlbmFibGUgYml0IGZvciBpdCBhdCBHUFVfQ0xLX1JFRy5TQ0xL X0dBVElORy4gKHBhZ2UgMTIyKQo+ID4+Pgo+ID4+PiBUaGUgR1BVIHNob3VsZCBhbHJlYWR5IGJl IHByb3Blcmx5IGdhdGVkOgo+ID4+PiBodHRwczovL2VsaXhpci5ib290bGluLmNvbS9saW51eC92 Ni43LjQvc291cmNlL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGktYTY0LmMjTDU5OQo+ ID4+Cj4gPj4gSG93IHNvPyBUaGF0J3MganVzdCBjbG9jayBkZWNsYXJhdGlvbi4gSG93IGRvZXMg aXQgZ3VhcmFudGVlIHRoZSBjbG9jayB0byB0aGUKPiA+PiBtb2R1bGUgaXMgZ2F0ZWQgZHVyaW5n IHBhcmVudCBQTEwgY29uZmlndXJhdGlvbiBjaGFuZ2VzPwo+ID4+Cj4gPgo+ID4gWW91J3JlIG9m IGNvdXJzZSByaWdodC4KPiA+Cj4gPiBJIG5vdyB0cmllZCB1c2luZyBhIHNpbWlsYXIgYXBwcm9h Y2ggbGlrZSB0aGUgb25lIGZvciBjaGFuZ2VzIGZvciBvbgo+ID4gUExMLUNQVS4gSXQncyB1c2lu ZyBhIG5vdGlmaWVyIHRvIGNvbm5lY3QgdGhlIENQVSB0byB0aGUgMjQgTUh6Cj4gPiBvc2NpbGxh dG9yIGFuZCwgYWZ0ZXIgUExMLUNQVSBpcyBhdCBpdHMgbmV3IHJhdGUsIGNvbm5lY3RpbmcgaXQg YmFjayB0bwo+ID4gUExMLUNQVS4KPiA+Cj4gPiBGb3IgdGhlIEdQVSBteSBhcHByb2FjaCB3YXMg dG8gZGlzYWJsZSB0aGUgR1BVIHByaW9yIHRvIGNoYW5naW5nCj4gPiBQTEwtR1BVJ3MgcmF0ZSBh bmQgdGhlbiByZS1lbmFibGluZyBpdCwgb25jZSB0aGUgcmF0ZSBjaGFuZ2UgaXMKPiA+IGNvbXBs ZXRlLiBJIHRoaW5rLCB0aGF0J3Mgd2hhdCB5b3Ugd2VyZSBwcm9wb3NpbmcsIHJpZ2h0Pwo+ID4K PiA+IFVuZm9ydHVuYXRlbHksIHRoaXMgcmVzdWx0cyBpbiBhIGZyb3plbiBwaG9uZSBldmVuIG1v cmUgcXVpY2tseS4KPiA+Cj4gPiBCZWxvdyBpcyBteSBjb2RlLiBBZ2FpbiwgaXQgZG9lc24ndCBz b2x2ZSB0aGUgcHJvYmxlbSwgYnV0IG1heWJlCj4gPiBzb21lYm9keSBjYW4gc3BvdCB3aGF0IEkn bSBkb2luZyB3cm9uZy4KPiAKPiBJdCBzZWVtcyB0byBtZSB0aGF0IGFsbCBvcHRpb25zIGZvciBj aGFuZ2luZyB0aGUgR1BVJ3MgcmF0ZSBpbiBhIHN0YWJsZQo+IG1hbm5lciBoYXZlIGJlZW4gZXho YXVzdGVkLiBUaGVyZSBzZWVtcyB0byBiZSBubyBjb21tb24gaW50ZXJwcmV0YXRpb24KPiB3aGF0 IHRoZSBwaHJhc2UgIkNsb2NrIG91dHB1dCBvZiBQTExfR1BVIGNhbiBiZSB1c2VkIGZvciBHUFU7 YW5kIGR5bmFtaWMKPiBmcmVxdWVuY3kgc2NhbGluZyBpcyBub3Qgc3VwcG9ydGVkIiBpbiB0aGUg QWxsd2lubmVyIEE2NCBtYW51YWwgKGNoYXB0ZXIKPiAzLjMuMykgbWVhbnMuCj4gCj4gVGhlIEJT UCB1c2VzIGEgZml4ZWQgcmF0ZSBvZiA0MzIgTUh6LiBVbmxlc3Mgb25lIG9mIHlvdSBoYXMgYSBj bGV2ZXIKPiBpZGVhLCBJIHN1Z2dlc3QgdG8gcmVtb3ZlIHRoZSBPUFBzIGZyb20gdGhlIGRldmlj ZSB0cmVlIGFuZCBzZXQgdGhlIEdQVQo+IHRvIDQzMiBNSHouCj4gCj4gV2hhdCBhcmUgeW91ciB0 aG91Z2h0cyBvbiB0aGF0PwoKSSBjYW4ndCBmaW5kIG9yaWdpbmFsIHNvdXJjZSBvZiB0aGVzZSBw b2ludHMuIFNvIEknbSBnb29kIHdpdGggcmVtb3ZpbmcKdGhlbS4gQnV0IGluc3RlYWQgb2YgZnVs bHkgcmVtb3ZpbmcgdGFibGUsIHlvdSBjYW4ganVzdCBsZWF2ZSBvbmUgcG9pbnQgYW5kCml0IHNo b3VsZCB3b3JrLgoKQmVzdCByZWdhcmRzLApKZXJuZWoKCj4gCj4gQmVzdCByZWdhcmRzLAo+ICAg RnJhbmsKPiAKPiA+Cj4gPiBCZXN0IHJlZ2FyZHMsCj4gPiAgIEZyYW5rCj4gPgo+ID4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGktYTY0LmMgYi9kcml2ZXJzL2Ns ay9zdW54aS1uZy9jY3Utc3VuNTBpLWE2NC5jCj4gPiBpbmRleCBkNjhiZGY3ZGQzNDIuLjc0NTM4 MjU5ZDY3YSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGkt YTY0LmMKPiA+ICsrKyBiL2RyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGktYTY0LmMKPiA+ IEBAIC05NzcsNiArOTc3LDExIEBAIHN0YXRpYyBzdHJ1Y3QgY2N1X3JhdGVfcmVzZXRfbmIgc3Vu NTBpX2E2NF9wbGxfdmlkZW8wX3Jlc2V0X3Rjb24wX25iID0gewo+ID4KPiA+ICAjZGVmaW5lIEND VV9NSVBJX0RTSV9DTEsgMHgxNjgKPiA+Cj4gPiArc3RhdGljIHN0cnVjdCBjY3VfZGl2X25iIHN1 bjUwaV9hNjRfZ3B1X25iID0gewo+ID4gKwkuY29tbW9uCQk9ICZncHVfY2xrLmNvbW1vbiwKPiA+ ICsJLmRlbGF5X3VzCT0gMSwgLyogPz8/ICovCj4gPiArfTsKPiA+ICsKPiA+ICBzdGF0aWMgaW50 IHN1bjUwaV9hNjRfY2N1X3Byb2JlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCj4gPiAg ewo+ID4gIAl2b2lkIF9faW9tZW0gKnJlZzsKPiA+IEBAIC0xMDI1LDYgKzEwMzAsMTAgQEAgc3Rh dGljIGludCBzdW41MGlfYTY0X2NjdV9wcm9iZShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2 KQo+ID4gIAlzdW41MGlfYTY0X3BsbF92aWRlbzBfcmVzZXRfdGNvbjBfbmIudGFyZ2V0X2NsayA9 IHRjb24wX2Nsay5jb21tb24uaHcuY2xrOwo+ID4gIAljY3VfcmF0ZV9yZXNldF9ub3RpZmllcl9y ZWdpc3Rlcigmc3VuNTBpX2E2NF9wbGxfdmlkZW8wX3Jlc2V0X3Rjb24wX25iKTsKPiA+Cj4gPiAr CS8qIEdhdGUgdGhlbiB1bmdhdGUgR1BVIG9uIFBMTC1HUFUgY2hhbmdlcyAqLwo+ID4gKwljY3Vf ZGl2X25vdGlmaWVyX3JlZ2lzdGVyKHBsbF9ncHVfY2xrLmNvbW1vbi5ody5jbGssCj4gPiArCQkJ CSAgJnN1bjUwaV9hNjRfZ3B1X25iKTsKPiA+ICsKPiA+ICAJcmV0dXJuIDA7Cj4gPiAgfQo+ID4K PiA+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3VfZGl2LmMgYi9kcml2ZXJz L2Nsay9zdW54aS1uZy9jY3VfZGl2LmMKPiA+IGluZGV4IGNiMTBhM2VhMjNmOS4uODM4MTNjNTRm YjJmIDEwMDY0NAo+ID4gLS0tIGEvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1X2Rpdi5jCj4gPiAr KysgYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3VfZGl2LmMKPiA+IEBAIC00LDcgKzQsOSBAQAo+ ID4gICAqIE1heGltZSBSaXBhcmQgPG1heGltZS5yaXBhcmRAZnJlZS1lbGVjdHJvbnMuY29tPgo+ ID4gICAqLwo+ID4KPiA+ICsjaW5jbHVkZSA8bGludXgvY2xrLmg+Cj4gPiAgI2luY2x1ZGUgPGxp bnV4L2Nsay1wcm92aWRlci5oPgo+ID4gKyNpbmNsdWRlIDxsaW51eC9kZWxheS5oPgo+ID4gICNp bmNsdWRlIDxsaW51eC9pby5oPgo+ID4KPiA+ICAjaW5jbHVkZSAiY2N1X2dhdGUuaCIKPiA+IEBA IC0xNDIsMyArMTQ0LDM3IEBAIGNvbnN0IHN0cnVjdCBjbGtfb3BzIGNjdV9kaXZfb3BzID0gewo+ ID4gIAkuc2V0X3JhdGUJPSBjY3VfZGl2X3NldF9yYXRlLAo+ID4gIH07Cj4gPiAgRVhQT1JUX1NZ TUJPTF9OU19HUEwoY2N1X2Rpdl9vcHMsIFNVTlhJX0NDVSk7Cj4gPiArCj4gPiArc3RhdGljIGlu dCBjY3VfZGl2X25vdGlmaWVyX2NiKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIsCj4gPiArCQkJ ICAgICAgIHVuc2lnbmVkIGxvbmcgZXZlbnQsIHZvaWQgKmRhdGEpCj4gPiArewo+ID4gKwlzdHJ1 Y3QgY2N1X2Rpdl9uYiAqZGl2X25iID0gdG9fY2N1X2Rpdl9uYihuYik7Cj4gPiArCj4gPiArCWlm IChldmVudCA9PSBQUkVfUkFURV9DSEFOR0UpIHsKPiA+ICsJCWRpdl9uYi0+b3JpZ2luYWxfZW5h YmxlID0gY2N1X2Rpdl9pc19lbmFibGVkKCZkaXZfbmItPmNvbW1vbi0+aHcpOwo+ID4gKwkJaWYg KGRpdl9uYi0+b3JpZ2luYWxfZW5hYmxlKSB7Cj4gPiArCQkJY2N1X2Rpdl9kaXNhYmxlKCZkaXZf bmItPmNvbW1vbi0+aHcpOwo+ID4gKwkJCXVkZWxheShkaXZfbmItPmRlbGF5X3VzKTsKPiA+ICsJ CX0KPiA+ICsJfSBlbHNlIGlmIChldmVudCA9PSBQT1NUX1JBVEVfQ0hBTkdFKSB7Cj4gPiArCQlp ZiAoZGl2X25iLT5vcmlnaW5hbF9lbmFibGUpIHsKPiA+ICsJCQljY3VfZGl2X2VuYWJsZSgmZGl2 X25iLT5jb21tb24tPmh3KTsKPiA+ICsJCQl1ZGVsYXkoZGl2X25iLT5kZWxheV91cyk7Cj4gPiAr CQl9Cj4gPiArCX0KPiA+ICsKPiA+ICsJcmV0dXJuIE5PVElGWV9PSzsKPiA+ICt9Cj4gPiArCj4g PiAraW50IGNjdV9kaXZfbm90aWZpZXJfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3Qg Y2N1X2Rpdl9uYiAqZGl2X25iKQo+ID4gK3sKPiA+ICsJZGl2X25iLT5jbGtfbmIubm90aWZpZXJf Y2FsbCA9IGNjdV9kaXZfbm90aWZpZXJfY2I7Cj4gPiArCj4gPiArCXJldHVybiBjbGtfbm90aWZp ZXJfcmVnaXN0ZXIoY2xrLCAmZGl2X25iLT5jbGtfbmIpOwo+ID4gK30KPiA+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2Nsay9zdW54aS1uZy9jY3VfZGl2LmggYi9kcml2ZXJzL2Nsay9zdW54aS1uZy9j Y3VfZGl2LmgKPiA+IGluZGV4IDkwZDQ5ZWU4ZTBjYy4uZTA5NmM3YmU1ZGNhIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9jbGsvc3VueGktbmcvY2N1X2Rpdi5oCj4gPiArKysgYi9kcml2ZXJzL2Ns ay9zdW54aS1uZy9jY3VfZGl2LmgKPiA+IEBAIC0yODMsNCArMjgzLDE2IEBAIHN0YXRpYyBpbmxp bmUgc3RydWN0IGNjdV9kaXYgKmh3X3RvX2NjdV9kaXYoc3RydWN0IGNsa19odyAqaHcpCj4gPgo+ ID4gIGV4dGVybiBjb25zdCBzdHJ1Y3QgY2xrX29wcyBjY3VfZGl2X29wczsKPiA+Cj4gPiArc3Ry dWN0IGNjdV9kaXZfbmIgewo+ID4gKwlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sJY2xrX25iOwo+ID4g KwlzdHJ1Y3QgY2N1X2NvbW1vbgkqY29tbW9uOwo+ID4gKwo+ID4gKwl1MzIJZGVsYXlfdXM7CS8q IHVzIHRvIHdhaXQgYWZ0ZXIgY2hhbmdpbmcgcGFyZW50IHJhdGUgKi8KPiA+ICsJaW50CW9yaWdp bmFsX2VuYWJsZTsvKiBUaGlzIGlzIHNldCBieSB0aGUgbm90aWZpZXIgY2FsbGJhY2sgKi8KPiA+ ICt9Owo+ID4gKwo+ID4gKyNkZWZpbmUgdG9fY2N1X2Rpdl9uYihfbmIpIGNvbnRhaW5lcl9vZihf bmIsIHN0cnVjdCBjY3VfZGl2X25iLCBjbGtfbmIpCj4gPiArCj4gPiAraW50IGNjdV9kaXZfbm90 aWZpZXJfcmVnaXN0ZXIoc3RydWN0IGNsayAqY2xrLCBzdHJ1Y3QgY2N1X2Rpdl9uYiAqbXV4X25i KTsKPiA+ICsKPiA+ICAjZW5kaWYgLyogX0NDVV9ESVZfSF8gKi8KPiA+Cj4gPgo+ID4KPiA+Pgo+ ID4+IENMS19TRVRfUkFURV9QQVJFTlQgb25seSBnYXRlcyBvdXRwdXQgb24gcmUtcGFyZW50aW5n LCBub3Qgb24gcGFyZW50IHJhdGUgY2hhbmdlcywKPiA+PiBhY2NvcmRpbmcgdG8gdGhlIGhlYWRl cjoKPiA+Pgo+ID4+ICAgaHR0cHM6Ly9lbGl4aXIuYm9vdGxpbi5jb20vbGludXgvdjYuNy40L3Nv dXJjZS9pbmNsdWRlL2xpbnV4L2Nsay1wcm92aWRlci5oI0wxOQo+ID4+Cj4gPj4gWW91J2QgbmVl ZCBwZXJoYXBzIENMS19TRVRfUkFURV9HQVRFICphbmQqIHN0aWxsIHZlcmlmeSB0aGF0IGl0IGFj dHVhbGx5IHdvcmtzCj4gPj4gYXMgZXhwZWN0ZWQgdmlhIHNvbWUgdHJhY2luZyBvZiBncHUgY2xv Y2sgZW5hYmxlL2Rpc2FibGUvc2V0X3JhdGUgYW5kIHBsbC1ncHUKPiA+PiBzZXRfcmF0ZS4gQ0xL X1NFVF9SQVRFX0dBVEUgc2VlbXMgY29uZnVzaW5nbHkgZG9jdW1tZW50ZWQ6Cj4gPj4KPiA+PiAg IGh0dHBzOi8vZWxpeGlyLmJvb3RsaW4uY29tL2xpbnV4L3Y2LjcuNC9zb3VyY2UvZHJpdmVycy9j bGsvY2xrLmMjTDEwMzQKPiA+Pgo+ID4+IHNvIEkgZG9uJ3QgcGFydGljdWxhcmx5IHRydXN0IGl0 IGRvZXMgZXhhY2x0eSB3aGF0IHRoZSBoZWFkZXIgY2xhaW1zIGFuZCB3aGF0Cj4gPj4gd291bGQg YmUgbmVlZGVkIHRvIHRlc3QgdGhlIHRoZW9yeSB0aGF0IGdhdGluZyBncHUgY2xvY2sgZHVyaW5n IHJhdGUgY2hhbmdlCj4gPj4gbWlnaHQgaGVscC4KPiA+Pgo+ID4+IGtpbmQgcmVnYXJkcywKPiA+ PiAJby4KPiA+Pgo+ID4+PiBUaGFuayB5b3UgZm9yIHlvdXIgZGV0YWlsZWQgcHJvcG9zYWwhIEl0 IHdhcyBpbnNpZ2h0ZnVsIHRvIHJlYWQuIEJ1dAo+ID4+PiB3aGlsZSB0aG9zZSB3ZXJlIGFsbCBn cmVhdCBpZGVhcywgdGhleSBoYXZlIGFsbCBhbHJlYWR5IGJlZW4gdGFrZW4gY2FyZQo+ID4+PiBv Zi4gSSdtIGZyZXNoIG91dCBvZiBpZGVhcyBhZ2FpbiAoZXhjZXB0IGZvciBwaW5uaW5nIHRoZSBH UFUgcmF0ZSkuCj4gPj4+Cj4gPj4+IEFnYWluLCB0aGFuayB5b3Ugc28gbXVjaCwKPiA+Pj4gICBG cmFuawo+ID4+Pgo+ID4+PiA+Pgo+ID4+PiA+PiBLaW5kIHJlZ2FyZHMsCj4gPj4+ID4+IAlvLgo+ ID4+PiA+Pgo+ID4+PiA+PiA+IEkgdmVyeSBtdWNoIGFwcHJlY2lhdGUgeW91ciBmZWVkYmFjayEK PiA+Pj4gPj4gPgo+ID4+PiA+PiA+IFsxXSBodHRwczovL2dpdGxhYi5jb20vcG9zdG1hcmtldE9T L3BtYXBvcnRzLy0vaXNzdWVzLzgwNQo+ID4+PiA+PiA+Cj4gPj4+ID4+ID4gU2lnbmVkLW9mZi1i eTogRnJhbmsgT2x0bWFubnMgPGZyYW5rQG9sdG1hbm5zLmRldj4KPiA+Pj4gPj4gPiAtLS0KPiA+ Pj4gPj4gPiBDaGFuZ2VzIGluIHYyOgo+ID4+PiA+PiA+IC0gZHRzOiBJbmNyZWFzZSBtaW5pbXVt IEdQVSBmcmVxdWVuY3kgdG8gMTkyIE1Iei4KPiA+Pj4gPj4gPiAtIG5rbSBhbmQgYTY0OiBBZGQg bWluaW11bSBhbmQgbWF4aW11bSByYXRlIGZvciBQTEwtTUlQSS4KPiA+Pj4gPj4gPiAtIG5rbTog VXNlIHRoZSBzYW1lIGFwcHJvYWNoIGZvciBza2lwcGluZyBpbnZhbGlkIHJhdGVzIGluCj4gPj4+ ID4+ID4gICBjY3VfbmttX2ZpbmRfYmVzdCgpIGFzIGluIGNjdV9ua21fZmluZF9iZXN0X3dpdGhf cGFyZW50X2FkaigpLgo+ID4+PiA+PiA+IC0gbmttOiBJbXByb3ZlIG5hbWVzIGZvciByYXRpbyBz dHJ1Y3QgbWVtYmVycyBhbmQgaGVuY2UgZ2V0IHJpZCBvZgo+ID4+PiA+PiA+ICAgZGVzY3JpYmlu ZyBjb21tZW50cy4KPiA+Pj4gPj4gPiAtIG5rbSBhbmQgYTY0OiBDb3JyZWN0IGRlc2NyaXB0aW9u IGluIHRoZSBjb21taXQgbWVzc2FnZXM6IE0vTiA8PSAzCj4gPj4+ID4+ID4gLSBSZW1vdmUgcGF0 Y2hlcyBmb3Igbm0gYXMgdGhleSB3ZXJlIG5vdCBuZWVkZWQuCj4gPj4+ID4+ID4gLSBzdDc3MDM6 IFJld29yayB0aGUgY29tbWl0IG1lc3NhZ2UgdG8gY292ZXIgbW9yZSBiYWNrZ3JvdW5kIGZvciB0 aGUKPiA+Pj4gPj4gPiAgIGNoYW5nZS4KPiA+Pj4gPj4gPiAtIExpbmsgdG8gdjE6IGh0dHBzOi8v bG9yZS5rZXJuZWwub3JnL3IvMjAyMzEyMTgtcGluZXBob25lLXBsbC1maXhlcy12MS0wLWUyMzhi NmVkNmRjMUBvbHRtYW5ucy5kZXYKPiA+Pj4gPj4gPgo+ID4+PiA+PiA+IC0tLQo+ID4+PiA+PiA+ IEZyYW5rIE9sdG1hbm5zICg2KToKPiA+Pj4gPj4gPiAgICAgICBjbGs6IHN1bnhpLW5nOiBua206 IFN1cHBvcnQgY29uc3RyYWludHMgb24gbS9uIHJhdGlvIGFuZCBwYXJlbnQgcmF0ZQo+ID4+PiA+ PiA+ICAgICAgIGNsazogc3VueGktbmc6IGE2NDogQWRkIGNvbnN0cmFpbnRzIG9uIFBMTC1NSVBJ J3Mgbi9tIHJhdGlvIGFuZCBwYXJlbnQgcmF0ZQo+ID4+PiA+PiA+ICAgICAgIGNsazogc3VueGkt bmc6IG5rbTogU3VwcG9ydCBtaW5pbXVtIGFuZCBtYXhpbXVtIHJhdGUKPiA+Pj4gPj4gPiAgICAg ICBjbGs6IHN1bnhpLW5nOiBhNjQ6IFNldCBtaW5pbXVtIGFuZCBtYXhpbXVtIHJhdGUgZm9yIFBM TC1NSVBJCj4gPj4+ID4+ID4gICAgICAgZHJtL3BhbmVsOiBzdDc3MDM6IERyaXZlIFhCRDU5OSBw YW5lbCBhdCBoaWdoZXIgY2xvY2sgcmF0ZQo+ID4+PiA+PiA+ICAgICAgIGFybTY0OiBkdHM6IGFs bHdpbm5lcjogYTY0OiBGaXggbWluaW11bSBHUFUgT1BQIHJhdGUKPiA+Pj4gPj4gPgo+ID4+PiA+ PiA+ICBhcmNoL2FybTY0L2Jvb3QvZHRzL2FsbHdpbm5lci9zdW41MGktYTY0LmR0c2kgfCAgNCAr Ky0tCj4gPj4+ID4+ID4gIGRyaXZlcnMvY2xrL3N1bnhpLW5nL2NjdS1zdW41MGktYTY0LmMgICAg ICAgICB8IDE0ICsrKysrKystLS0tCj4gPj4+ID4+ID4gIGRyaXZlcnMvY2xrL3N1bnhpLW5nL2Nj dV9ua20uYyAgICAgICAgICAgICAgICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwo+ ID4+PiA+PiA+ICBkcml2ZXJzL2Nsay9zdW54aS1uZy9jY3VfbmttLmggICAgICAgICAgICAgICAg fCAgNCArKysrCj4gPj4+ID4+ID4gIGRyaXZlcnMvZ3B1L2RybS9wYW5lbC9wYW5lbC1zaXRyb25p eC1zdDc3MDMuYyB8IDE0ICsrKysrLS0tLS0tCj4gPj4+ID4+ID4gIDUgZmlsZXMgY2hhbmdlZCwg NTYgaW5zZXJ0aW9ucygrKSwgMTQgZGVsZXRpb25zKC0pCj4gPj4+ID4+ID4gLS0tCj4gPj4+ID4+ ID4gYmFzZS1jb21taXQ6IDA1OWM1M2U4NzdjYTZlNzIzZTEwNDkwYzI3YzE0ODdhNjNlNjZlZmUK PiA+Pj4gPj4gPiBjaGFuZ2UtaWQ6IDIwMjMxMjE4LXBpbmVwaG9uZS1wbGwtZml4ZXMtMGNjZGZk ZTI3M2U0Cj4gPj4+ID4+ID4KPiA+Pj4gPj4gPiBCZXN0IHJlZ2FyZHMsCj4gPj4+ID4+ID4gLS0K PiA+Pj4gPj4gPiBGcmFuayBPbHRtYW5ucyA8ZnJhbmtAb2x0bWFubnMuZGV2Pgo+ID4+PiA+PiA+ Cj4gCgoKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=