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 A1BB3C4332F for ; Tue, 8 Nov 2022 09:41:33 +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: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=edQdOgbeKfs15uC4/sO8gh/EnFwPVljzKnOqLckDOUQ=; b=xT/VhOraAJAOe2 7fPOzVq5a+dKZFRzG9aH2cyBG57BZgzK3KKzDTE/TrNprCjmbKj7QYRJcJBEJyLJNLHqACxC34gzw JZaDc2TOWDjNfGEOGGYj8TUgCxIsiptT+czx/AQkvX/A4XZE4OP2SX9FaVftK7Hew7rcT8+bPV8cJ +jSHN3NzJZd6K36Owmn9UbG8skrdvUBFBbEVvRds71j2VoCXJHJN76A3lGs/jitRRL6tpeojrUAuG HPxCm3AmQYjJOYfNlaWcOFqrLZjK8SS0ceWaK1NIiospJbvG9+CgW5SAZ8J13QrRBmaW9gnySb9f7 4s6OrbZzXgcy0dHV/ccQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1osL5e-004A1l-1I; Tue, 08 Nov 2022 09:40:18 +0000 Received: from smtp.domeneshop.no ([2a01:5b40:0:3005::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1osL5Z-004A0R-G0 for linux-arm-kernel@lists.infradead.org; Tue, 08 Nov 2022 09:40:15 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=tronnes.org ; s=ds202112; h=Content-Transfer-Encoding:Content-Type:In-Reply-To:From: References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender:Reply-To: Content-ID:Content-Description:Resent-Date:Resent-From:Resent-Sender: Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help:List-Unsubscribe: List-Subscribe:List-Post:List-Owner:List-Archive; bh=Ggbcx2/+wU4WPL0deN/0JJ/CN6ehJvsesRYoAq0FYYU=; b=ijCvXTdhEg8PrhALlm8CI7XGDL O78hjgrPnZjXdNmqB9jJe/pNhnu2W2WavIFHO/4zJ6TzleOTcP9F2XMWWdJdaE6EH45DnKZSpbkgI Z2Io/ZEcBPlWda6ZsgCGrGK9iIKIbT8bPiDgf0Y5EdVZ2vNz/rHI50bcx1VmRJwnKv/urLy71sRJS 3lmkhMjLWzjIfISPR7TvZ7Olbr+Ag8hw0wL3x2YJQ9Qg6HCp/3KgpLGjd7NHhyLBseZjtycWZUDLW dSMoZ0uJ7KFrNQRXija0NZiRJdl8MtlOXI25lVc8OPYoa3p11bYl9KGIz63utD54Vnm9DxhID/tiK BrH0OKDQ==; Received: from [2a01:799:95a:cb00:cca0:57ac:c55d:a485] (port=57695) by smtp.domeneshop.no with esmtpsa (TLS1.3:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.92) (envelope-from ) id 1osL5W-0001ox-VM; Tue, 08 Nov 2022 10:40:10 +0100 Message-ID: <85a607b4-2645-68c7-0898-08f7c6d064b9@tronnes.org> Date: Tue, 8 Nov 2022 10:40:07 +0100 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:102.0) Gecko/20100101 Thunderbird/102.4.2 Subject: Re: [PATCH v7 14/23] drm/modes: Properly generate a drm_display_mode from a named mode To: Maxime Ripard , Jani Nikula , Joonas Lahtinen , Tvrtko Ursulin , Ben Skeggs , Rodrigo Vivi , Maxime Ripard , Samuel Holland , Jernej Skrabec , Maarten Lankhorst , Emma Anholt , Karol Herbst , Daniel Vetter , Chen-Yu Tsai , Lyude Paul , Thomas Zimmermann , David Airlie Cc: Phil Elwell , Hans de Goede , linux-sunxi@lists.linux.dev, linux-kernel@vger.kernel.org, Geert Uytterhoeven , Dave Stevenson , linux-arm-kernel@lists.infradead.org, Dom Cobley , Mateusz Kwiatkowski , dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, nouveau@lists.freedesktop.org, =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= References: <20220728-rpi-analog-tv-properties-v7-0-7072a478c6b3@cerno.tech> <20220728-rpi-analog-tv-properties-v7-14-7072a478c6b3@cerno.tech> <9e9a8a48-89f2-35d4-b26f-afa7cc44f2f6@tronnes.org> From: =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= In-Reply-To: <9e9a8a48-89f2-35d4-b26f-afa7cc44f2f6@tronnes.org> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20221108_014013_728000_C538855B X-CRM114-Status: GOOD ( 25.49 ) 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 CgpEZW4gMDcuMTEuMjAyMiAxOC40OSwgc2tyZXYgTm9yYWxmIFRyw7hubmVzOgo+IAo+IAo+IERl biAwNy4xMS4yMDIyIDE1LjE2LCBza3JldiBNYXhpbWUgUmlwYXJkOgo+PiBUaGUgZnJhbWV3b3Jr IHdpbGwgZ2V0IHRoZSBkcm1fZGlzcGxheV9tb2RlIGZyb20gdGhlIGRybV9jbWRsaW5lX21vZGUg aXQKPj4gZ290IGJ5IHBhcnNpbmcgdGhlIHZpZGVvIGNvbW1hbmQgbGluZSBhcmd1bWVudCBieSBj YWxsaW5nCj4+IGRybV9jb25uZWN0b3JfcGlja19jbWRsaW5lX21vZGUoKS4KPj4KPj4gVGhlIGhl YXZ5IGxpZnRpbmcgd2lsbCB0aGVuIGJlIGRvbmUgYnkgdGhlIGRybV9tb2RlX2NyZWF0ZV9mcm9t X2NtZGxpbmVfbW9kZSgpCj4+IGZ1bmN0aW9uLgo+Pgo+PiBJbiB0aGUgY2FzZSBvZiB0aGUgbmFt ZWQgbW9kZXMgdGhvdWdoLCB0aGVyZSdzIG5vIHJlYWwgY29kZSB0byBtYWtlIHRoYXQKPj4gdHJh bnNsYXRpb24gYW5kIHdlIHJlbHkgb24gdGhlIGRyaXZlcnMgdG8gZ3Vlc3Mgd2hpY2ggYWN0dWFs IGRpc3BsYXkgbW9kZQo+PiB3ZSBtZWFudC4KPj4KPj4gTGV0J3MgbW9kaWZ5IGRybV9tb2RlX2Ny ZWF0ZV9mcm9tX2NtZGxpbmVfbW9kZSgpIHRvIHByb3Blcmx5IGdlbmVyYXRlIHRoZQo+PiBkcm1f ZGlzcGxheV9tb2RlIHdlIG1lYW4gd2hlbiBwYXNzaW5nIGEgbmFtZWQgbW9kZS4KPj4KPj4gU2ln bmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lQGNlcm5vLnRlY2g+Cj4+Cj4+IC0tLQo+ PiBDaGFuZ2VzIGluIHY3Ogo+PiAtIFVzZSB0dl9tb2RlX3NwZWNpZmllZCBpbiBkcm1fbW9kZV9w YXJzZV9jb21tYW5kX2xpbmVfZm9yX2Nvbm5lY3Rvcgo+Pgo+PiBDaGFuZ2VzIGluIHY2Ogo+PiAt IEZpeCBnZXRfbW9kZXMgdG8gcmV0dXJuIDAgaW5zdGVhZCBvZiBhbiBlcnJvciBjb2RlCj4+IC0g UmVuYW1lIHRoZSB0ZXN0cyB0byBmb2xsb3cgdGhlIERSTSB0ZXN0IG5hbWluZyBjb252ZW50aW9u Cj4+Cj4+IENoYW5nZXMgaW4gdjU6Cj4+IC0gU3dpdGNoZWQgdG8gS1VOSVRfQVNTRVJUX05PVF9O VUxMCj4+IC0tLQo+PiAgZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jICAgICAgICAgICAgICAg ICAgICAgfCAzNCArKysrKysrKysrLQo+PiAgZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9jbGll bnRfbW9kZXNldF90ZXN0LmMgfCA3NyArKysrKysrKysrKysrKysrKysrKysrKystCj4+ICAyIGZp bGVzIGNoYW5nZWQsIDEwOSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQo+Pgo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2RybV9tb2Rlcy5jIGIvZHJpdmVycy9ncHUvZHJtL2Ry bV9tb2Rlcy5jCj4+IGluZGV4IGRjMDM3ZjdjZWIzNy4uNDk0NDFjYWJkZDlkIDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX21vZGVzLmMKPj4gKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9tb2Rlcy5jCj4+IEBAIC0yNDk3LDYgKzI0OTcsMzYgQEAgYm9vbCBkcm1fbW9kZV9wYXJz ZV9jb21tYW5kX2xpbmVfZm9yX2Nvbm5lY3Rvcihjb25zdCBjaGFyICptb2RlX29wdGlvbiwKPj4g IH0KPj4gIEVYUE9SVF9TWU1CT0woZHJtX21vZGVfcGFyc2VfY29tbWFuZF9saW5lX2Zvcl9jb25u ZWN0b3IpOwo+PiAgCj4+ICtzdGF0aWMgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmRybV9uYW1l ZF9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICsJCQkJCSAgICAgICBzdHJ1Y3QgZHJt X2NtZGxpbmVfbW9kZSAqY21kKQo+PiArewo+PiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICpt b2RlOwo+PiArCXVuc2lnbmVkIGludCBpOwo+PiArCj4+ICsJZm9yIChpID0gMDsgaSA8IEFSUkFZ X1NJWkUoZHJtX25hbWVkX21vZGVzKTsgaSsrKSB7Cj4+ICsJCWNvbnN0IHN0cnVjdCBkcm1fbmFt ZWRfbW9kZSAqbmFtZWRfbW9kZSA9ICZkcm1fbmFtZWRfbW9kZXNbaV07Cj4+ICsKPj4gKwkJaWYg KHN0cmNtcChjbWQtPm5hbWUsIG5hbWVkX21vZGUtPm5hbWUpKQo+PiArCQkJY29udGludWU7Cj4+ ICsKPj4gKwkJaWYgKCFjbWQtPnR2X21vZGVfc3BlY2lmaWVkKQo+PiArCQkJY29udGludWU7Cj4g Cj4gT25seSBhIG5hbWVkIG1vZGUgd2lsbCBzZXQgY21kLT5uYW1lLCBzbyBpcyB0aGlzIGNoZWNr IG5lY2Vzc2FyeT8KPiAKPj4gKwo+PiArCQltb2RlID0gZHJtX2FuYWxvZ190dl9tb2RlKGRldiwK Pj4gKwkJCQkJICBuYW1lZF9tb2RlLT50dl9tb2RlLAo+PiArCQkJCQkgIG5hbWVkX21vZGUtPnBp eGVsX2Nsb2NrX2toeiAqIDEwMDAsCj4+ICsJCQkJCSAgbmFtZWRfbW9kZS0+eHJlcywKPj4gKwkJ CQkJICBuYW1lZF9tb2RlLT55cmVzLAo+PiArCQkJCQkgIG5hbWVkX21vZGUtPmZsYWdzICYgRFJN X01PREVfRkxBR19JTlRFUkxBQ0UpOwo+PiArCQlpZiAoIW1vZGUpCj4+ICsJCQlyZXR1cm4gTlVM TDsKPj4gKwo+PiArCQlyZXR1cm4gbW9kZTsKPiAKPiBZb3UgY2FuIGp1c3QgcmV0dXJuIHRoZSBy ZXN1bHQgZnJvbSBkcm1fYW5hbG9nX3R2X21vZGUoKSBkaXJlY3RseS4KPiAKPiBXaXRoIHRob3Nl IGNvbnNpZGVyZWQ6Cj4gCj4gUmV2aWV3ZWQtYnk6IE5vcmFsZiBUcsO4bm5lcyA8bm9yYWxmQHRy b25uZXMub3JnPgo+IAoKSSBmb3Jnb3Qgb25lIHRoaW5nLCBzaG91bGRuJ3QgdGhlIG5hbWVkIG1v ZGUgdGVzdCBpbgpkcm1fY29ubmVjdG9yX3BpY2tfY21kbGluZV9tb2RlKCkgYmUgcmVtb3ZlZCBu b3cgdGhhdCB3ZSBoYXZlIHByb3BlciBtb2Rlcz8KCk5vcmFsZi4KCj4+ICsJfQo+PiArCj4+ICsJ cmV0dXJuIE5VTEw7Cj4+ICt9Cj4+ICsKPj4gIC8qKgo+PiAgICogZHJtX21vZGVfY3JlYXRlX2Zy b21fY21kbGluZV9tb2RlIC0gY29udmVydCBhIGNvbW1hbmQgbGluZSBtb2RlbGluZSBpbnRvIGEg RFJNIGRpc3BsYXkgbW9kZQo+PiAgICogQGRldjogRFJNIGRldmljZSB0byBjcmVhdGUgdGhlIG5l dyBtb2RlIGZvcgo+PiBAQCAtMjUxNCw3ICsyNTQ0LDkgQEAgZHJtX21vZGVfY3JlYXRlX2Zyb21f Y21kbGluZV9tb2RlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCj4+ICAJaWYgKGNtZC0+eHJlcyA9 PSAwIHx8IGNtZC0+eXJlcyA9PSAwKQo+PiAgCQlyZXR1cm4gTlVMTDsKPj4gIAo+PiAtCWlmIChj bWQtPmN2dCkKPj4gKwlpZiAoc3RybGVuKGNtZC0+bmFtZSkpCj4+ICsJCW1vZGUgPSBkcm1fbmFt ZWRfbW9kZShkZXYsIGNtZCk7Cj4+ICsJZWxzZSBpZiAoY21kLT5jdnQpCj4+ICAJCW1vZGUgPSBk cm1fY3Z0X21vZGUoZGV2LAo+PiAgCQkJCSAgICBjbWQtPnhyZXMsIGNtZC0+eXJlcywKPj4gIAkJ CQkgICAgY21kLT5yZWZyZXNoX3NwZWNpZmllZCA/IGNtZC0+cmVmcmVzaCA6IDYwLAo+PiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9jbGllbnRfbW9kZXNldF90ZXN0LmMg Yi9kcml2ZXJzL2dwdS9kcm0vdGVzdHMvZHJtX2NsaWVudF9tb2Rlc2V0X3Rlc3QuYwo+PiBpbmRl eCAzYWExYWNmZTc1ZGYuLmZkZmU5ZTIwNzAyZSAxMDA2NDQKPj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3Rlc3RzL2RybV9jbGllbnRfbW9kZXNldF90ZXN0LmMKPj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL3Rlc3RzL2RybV9jbGllbnRfbW9kZXNldF90ZXN0LmMKPj4gQEAgLTIxLDcgKzIxLDI2IEBA IHN0cnVjdCBkcm1fY2xpZW50X21vZGVzZXRfdGVzdF9wcml2IHsKPj4gIAo+PiAgc3RhdGljIGlu dCBkcm1fY2xpZW50X21vZGVzZXRfY29ubmVjdG9yX2dldF9tb2RlcyhzdHJ1Y3QgZHJtX2Nvbm5l Y3RvciAqY29ubmVjdG9yKQo+PiAgewo+PiAtCXJldHVybiBkcm1fYWRkX21vZGVzX25vZWRpZChj b25uZWN0b3IsIDE5MjAsIDEyMDApOwo+PiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2Rl Owo+PiArCWludCBjb3VudDsKPj4gKwo+PiArCWNvdW50ID0gZHJtX2FkZF9tb2Rlc19ub2VkaWQo Y29ubmVjdG9yLCAxOTIwLCAxMjAwKTsKPj4gKwo+PiArCW1vZGUgPSBkcm1fbW9kZV9hbmFsb2df bnRzY180ODBpKGNvbm5lY3Rvci0+ZGV2KTsKPj4gKwlpZiAoIW1vZGUpCj4+ICsJCXJldHVybiBj b3VudDsKPj4gKwo+PiArCWRybV9tb2RlX3Byb2JlZF9hZGQoY29ubmVjdG9yLCBtb2RlKTsKPj4g Kwljb3VudCArPSAxOwo+PiArCj4+ICsJbW9kZSA9IGRybV9tb2RlX2FuYWxvZ19wYWxfNTc2aShj b25uZWN0b3ItPmRldik7Cj4+ICsJaWYgKCFtb2RlKQo+PiArCQlyZXR1cm4gY291bnQ7Cj4+ICsK Pj4gKwlkcm1fbW9kZV9wcm9iZWRfYWRkKGNvbm5lY3RvciwgbW9kZSk7Cj4+ICsJY291bnQgKz0g MTsKPj4gKwo+PiArCXJldHVybiBjb3VudDsKPj4gIH0KPj4gIAo+PiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBlcl9mdW5jcyBkcm1fY2xpZW50X21vZGVzZXRfY29ubmVj dG9yX2hlbHBlcl9mdW5jcyA9IHsKPj4gQEAgLTUyLDYgKzcxLDkgQEAgc3RhdGljIGludCBkcm1f Y2xpZW50X21vZGVzZXRfdGVzdF9pbml0KHN0cnVjdCBrdW5pdCAqdGVzdCkKPj4gIAo+PiAgCWRy bV9jb25uZWN0b3JfaGVscGVyX2FkZCgmcHJpdi0+Y29ubmVjdG9yLCAmZHJtX2NsaWVudF9tb2Rl c2V0X2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MpOwo+PiAgCj4+ICsJcHJpdi0+Y29ubmVjdG9yLmlu dGVybGFjZV9hbGxvd2VkID0gdHJ1ZTsKPj4gKwlwcml2LT5jb25uZWN0b3IuZG91Ymxlc2Nhbl9h bGxvd2VkID0gdHJ1ZTsKPj4gKwo+PiAgCXJldHVybiAwOwo+PiAgCj4+ICB9Cj4+IEBAIC04NSw5 ICsxMDcsNjIgQEAgc3RhdGljIHZvaWQgZHJtX3Rlc3RfcGlja19jbWRsaW5lX3Jlc18xOTIwXzEw ODBfNjAoc3RydWN0IGt1bml0ICp0ZXN0KQo+PiAgCUtVTklUX0VYUEVDVF9UUlVFKHRlc3QsIGRy bV9tb2RlX2VxdWFsKGV4cGVjdGVkX21vZGUsIG1vZGUpKTsKPj4gIH0KPj4gIAo+PiArc3RhdGlj IHZvaWQgZHJtX3Rlc3RfcGlja19jbWRsaW5lX25hbWVkX250c2Moc3RydWN0IGt1bml0ICp0ZXN0 KQo+PiArewo+PiArCXN0cnVjdCBkcm1fY2xpZW50X21vZGVzZXRfdGVzdF9wcml2ICpwcml2ID0g dGVzdC0+cHJpdjsKPj4gKwlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtID0gcHJpdi0+ZHJtOwo+PiAr CXN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IgPSAmcHJpdi0+Y29ubmVjdG9yOwo+PiAr CXN0cnVjdCBkcm1fY21kbGluZV9tb2RlICpjbWRsaW5lX21vZGUgPSAmY29ubmVjdG9yLT5jbWRs aW5lX21vZGU7Cj4+ICsJc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4+ICsJY29uc3Qg Y2hhciAqY21kbGluZSA9ICJOVFNDIjsKPj4gKwlpbnQgcmV0Owo+PiArCj4+ICsJS1VOSVRfQVNT RVJUX1RSVUUodGVzdCwKPj4gKwkJCSAgZHJtX21vZGVfcGFyc2VfY29tbWFuZF9saW5lX2Zvcl9j b25uZWN0b3IoY21kbGluZSwKPj4gKwkJCQkJCQkJICAgIGNvbm5lY3RvciwKPj4gKwkJCQkJCQkJ ICAgIGNtZGxpbmVfbW9kZSkpOwo+PiArCj4+ICsJbXV0ZXhfbG9jaygmZHJtLT5tb2RlX2NvbmZp Zy5tdXRleCk7Cj4+ICsJcmV0ID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21v ZGVzKGNvbm5lY3RvciwgMTkyMCwgMTA4MCk7Cj4+ICsJbXV0ZXhfdW5sb2NrKCZkcm0tPm1vZGVf Y29uZmlnLm11dGV4KTsKPj4gKwlLVU5JVF9BU1NFUlRfR1QodGVzdCwgcmV0LCAwKTsKPj4gKwo+ PiArCW1vZGUgPSBkcm1fY29ubmVjdG9yX3BpY2tfY21kbGluZV9tb2RlKGNvbm5lY3Rvcik7Cj4+ ICsJS1VOSVRfQVNTRVJUX05PVF9OVUxMKHRlc3QsIG1vZGUpOwo+PiArCj4+ICsJS1VOSVRfRVhQ RUNUX1RSVUUodGVzdCwgZHJtX21vZGVfZXF1YWwoZHJtX21vZGVfYW5hbG9nX250c2NfNDgwaShk cm0pLCBtb2RlKSk7Cj4+ICt9Cj4+ICsKPj4gK3N0YXRpYyB2b2lkIGRybV90ZXN0X3BpY2tfY21k bGluZV9uYW1lZF9wYWwoc3RydWN0IGt1bml0ICp0ZXN0KQo+PiArewo+PiArCXN0cnVjdCBkcm1f Y2xpZW50X21vZGVzZXRfdGVzdF9wcml2ICpwcml2ID0gdGVzdC0+cHJpdjsKPj4gKwlzdHJ1Y3Qg ZHJtX2RldmljZSAqZHJtID0gcHJpdi0+ZHJtOwo+PiArCXN0cnVjdCBkcm1fY29ubmVjdG9yICpj b25uZWN0b3IgPSAmcHJpdi0+Y29ubmVjdG9yOwo+PiArCXN0cnVjdCBkcm1fY21kbGluZV9tb2Rl ICpjbWRsaW5lX21vZGUgPSAmY29ubmVjdG9yLT5jbWRsaW5lX21vZGU7Cj4+ICsJc3RydWN0IGRy bV9kaXNwbGF5X21vZGUgKm1vZGU7Cj4+ICsJY29uc3QgY2hhciAqY21kbGluZSA9ICJQQUwiOwo+ PiArCWludCByZXQ7Cj4+ICsKPj4gKwlLVU5JVF9BU1NFUlRfVFJVRSh0ZXN0LAo+PiArCQkJICBk cm1fbW9kZV9wYXJzZV9jb21tYW5kX2xpbmVfZm9yX2Nvbm5lY3RvcihjbWRsaW5lLAo+PiArCQkJ CQkJCQkgICAgY29ubmVjdG9yLAo+PiArCQkJCQkJCQkgICAgY21kbGluZV9tb2RlKSk7Cj4+ICsK Pj4gKwltdXRleF9sb2NrKCZkcm0tPm1vZGVfY29uZmlnLm11dGV4KTsKPj4gKwlyZXQgPSBkcm1f aGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMoY29ubmVjdG9yLCAxOTIwLCAxMDgw KTsKPj4gKwltdXRleF91bmxvY2soJmRybS0+bW9kZV9jb25maWcubXV0ZXgpOwo+PiArCUtVTklU X0FTU0VSVF9HVCh0ZXN0LCByZXQsIDApOwo+PiArCj4+ICsJbW9kZSA9IGRybV9jb25uZWN0b3Jf cGlja19jbWRsaW5lX21vZGUoY29ubmVjdG9yKTsKPj4gKwlLVU5JVF9BU1NFUlRfTk9UX05VTEwo dGVzdCwgbW9kZSk7Cj4+ICsKPj4gKwlLVU5JVF9FWFBFQ1RfVFJVRSh0ZXN0LCBkcm1fbW9kZV9l cXVhbChkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoZHJtKSwgbW9kZSkpOwo+PiArfQo+PiAgCj4+ ICBzdGF0aWMgc3RydWN0IGt1bml0X2Nhc2UgZHJtX3Rlc3RfcGlja19jbWRsaW5lX3Rlc3RzW10g PSB7Cj4+ICAJS1VOSVRfQ0FTRShkcm1fdGVzdF9waWNrX2NtZGxpbmVfcmVzXzE5MjBfMTA4MF82 MCksCj4+ICsJS1VOSVRfQ0FTRShkcm1fdGVzdF9waWNrX2NtZGxpbmVfbmFtZWRfbnRzYyksCj4+ ICsJS1VOSVRfQ0FTRShkcm1fdGVzdF9waWNrX2NtZGxpbmVfbmFtZWRfcGFsKSwKPj4gIAl7fQo+ PiAgfTsKPj4gIAo+PgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX18KbGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0 cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGlu Zm8vbGludXgtYXJtLWtlcm5lbAo=