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 050ECECAAA1 for ; Tue, 30 Aug 2022 12:45:46 +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=YIW0MnmKCcemiqVgL66VeHzp/PUCd/pqarBdUwN8cos=; b=bRKWl8M1uC0dee 1hoGXGZIJR1IycV8ZzhRCh/8ULNMkIiiUdSoOJO7cxWXF+3G/Ki4GgOXqsjLcjLHI+nos/nt8oiKQ yB+pUm0vyA3YqBemuCWpQR4j26yFiCqvrlT59yxR/7VP4i8EjmGSp825Q3brM3ElTBvHFGgXv35Iy NXHhR8APjlNdv7wUeIS7oXmzs68WBMKqyx4z0LcKuVE3gvviCtReEK47BC4t5d8YmEsKAdFSArogn z4hBdy5DiHkICN03e5cdlev+oRP7WhV8x54DvR94ovM3owy+WEfzdxugmIoCRUMqYAx+BmACQfCSS 2bqXQdoxne3Uu+7muCFw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1oT0bQ-00Gtuz-7i; Tue, 30 Aug 2022 12:44:24 +0000 Received: from casper.infradead.org ([2001:8b0:10b:1236::1]) by bombadil.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oT0bP-00Gttj-0p for linux-arm-kernel@bombadil.infradead.org; Tue, 30 Aug 2022 12:44:23 +0000 DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=infradead.org; s=casper.20170209; 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; bh=TTRYyMNb3Ipipc7FOEcTUfVo1u0acUEmx9uq2H6lgcI=; b=PND6f8uiQHgBq6ZVWWbNdn0TQb ii2lFR2gSjAM8N9oZ+brMXUK6cOLxnQaofvuETvqFk8zgGizviUuyMLcxDAYP6brEfdmsNrdMgXHe QI4J1n8h9uvnyg6AQ0FnBqEpDjsT7/IqKheW8Q/oD8297nAfy6t3LJ4DBlnqKA6r66qOzWWzUpfLr KCnSWNFBGq7uAsM/g7HI0eYXylledxC34PzwegBCf5z36KuDZZLmcONj6LDuRwYmg9+EbMcgamFRf SST3VusmAYCCcpVwKmU2eqdJ5kqy8nAiCXcHYO9ohb23tXgVkCf8+vNzxnvz2gVKhZLSZ5b20Tm5K eqs78iQw==; Received: from mx1.riseup.net ([198.252.153.129]) by casper.infradead.org with esmtps (Exim 4.94.2 #2 (Red Hat Linux)) id 1oT0bL-0042XG-QC for linux-arm-kernel@lists.infradead.org; Tue, 30 Aug 2022 12:44:22 +0000 Received: from fews1.riseup.net (fews1-pn.riseup.net [10.0.1.83]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature RSA-PSS (2048 bits) server-digest SHA256 client-signature RSA-PSS (2048 bits) client-digest SHA256) (Client CN "mail.riseup.net", Issuer "R3" (not verified)) by mx1.riseup.net (Postfix) with ESMTPS id 4MH6SZ4KNnzDqYX; Tue, 30 Aug 2022 12:44:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=riseup.net; s=squak; t=1661863455; bh=uZMlrgjdtYHPfnYgaoLEQXYNDFmWqkQNUlugxV7e01Y=; h=Date:Subject:To:Cc:References:From:In-Reply-To:From; b=nn107C3HMKJ3EWboC9fBpeFAH3y/uZ1KjPZ08ApweCMS5qqRUGsyCU4sj4TPMD4V2 FXAIjjOhdjbHG+ioenblciw6poCAjWfiza/YFNCFS8O2MJGpolad6x7SZAwuOVzG46 wyq78GJSkRl5qnfSCdVdIs3k6a+QiliQYkFs/kZc= X-Riseup-User-ID: F5CCEA00DF4334D3899ABC01531EBEE332C82C80DFBDDAC361B7E3BA0D8BEA06 Received: from [127.0.0.1] (localhost [127.0.0.1]) by fews1.riseup.net (Postfix) with ESMTPSA id 4MH6SP4gKBz5vXJ; Tue, 30 Aug 2022 12:44:05 +0000 (UTC) Message-ID: <89ae0eb2-7838-6bb0-65b8-02ec0a6bb564@riseup.net> Date: Tue, 30 Aug 2022 09:44:03 -0300 MIME-Version: 1.0 Subject: Re: [PATCH v2 19/41] drm/modes: Introduce the tv_mode property as a command-line option Content-Language: en-US To: Maxime Ripard , Maxime Ripard , Ben Skeggs , David Airlie , Chen-Yu Tsai , Thomas Zimmermann , Jani Nikula , Lyude Paul , Philipp Zabel , Maarten Lankhorst , Rodrigo Vivi , Tvrtko Ursulin , Jernej Skrabec , Samuel Holland , Karol Herbst , =?UTF-8?Q?Noralf_Tr=c3=b8nnes?= , Emma Anholt , Daniel Vetter , Joonas Lahtinen Cc: Dom Cobley , Dave Stevenson , nouveau@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-sunxi@lists.linux.dev, Hans de Goede , Geert Uytterhoeven , Mateusz Kwiatkowski , Phil Elwell , linux-arm-kernel@lists.infradead.org References: <20220728-rpi-analog-tv-properties-v2-0-459522d653a7@cerno.tech> <20220728-rpi-analog-tv-properties-v2-19-459522d653a7@cerno.tech> From: =?UTF-8?Q?Ma=c3=adra_Canal?= In-Reply-To: <20220728-rpi-analog-tv-properties-v2-19-459522d653a7@cerno.tech> X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20220830_134420_495753_09248B4E X-CRM114-Status: GOOD ( 23.71 ) 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 T24gOC8yOS8yMiAxMDoxMSwgTWF4aW1lIFJpcGFyZCB3cm90ZToKPiBPdXIgbmV3IHR2IG1vZGUg b3B0aW9uIGFsbG93cyB0byBzcGVjaWZ5IHRoZSBUViBtb2RlIGZyb20gYSBwcm9wZXJ0eS4KPiBI b3dldmVyLCBpdCBjYW4gc3RpbGwgYmUgdXNlZnVsLCBmb3IgZXhhbXBsZSB0byBhdm9pZCBhbnkg Ym9vdCB0aW1lCj4gYXJ0aWZhY3QsIHRvIHNldCB0aGF0IHByb3BlcnR5IGRpcmVjdGx5IGZyb20g dGhlIGtlcm5lbCBjb21tYW5kIGxpbmUuCj4gCj4gTGV0J3MgYWRkIHNvbWUgY29kZSB0byBhbGxv dyBpdCwgYW5kIHNvbWUgdW5pdCB0ZXN0cyB0byBleGVyY2lzZSB0aGF0IGNvZGUuCj4gCj4gU2ln bmVkLW9mZi1ieTogTWF4aW1lIFJpcGFyZCA8bWF4aW1lQGNlcm5vLnRlY2g+Cj4gCj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f bW9kZXMuYwo+IGluZGV4IDczZDAxZTc1NTQ5Ni4uYTc1OWE0YmEwMDM2IDEwMDY0NAo+IC0tLSBh L2RyaXZlcnMvZ3B1L2RybS9kcm1fbW9kZXMuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f bW9kZXMuYwo+IEBAIC0yMTE1LDYgKzIxMTUsMzAgQEAgc3RhdGljIGludCBkcm1fbW9kZV9wYXJz ZV9wYW5lbF9vcmllbnRhdGlvbihjb25zdCBjaGFyICpkZWxpbSwKPiAgCXJldHVybiAwOwo+ICB9 Cj4gIAo+ICtzdGF0aWMgaW50IGRybV9tb2RlX3BhcnNlX3R2X21vZGUoY29uc3QgY2hhciAqZGVs aW0sCj4gKwkJCQkgIHN0cnVjdCBkcm1fY21kbGluZV9tb2RlICptb2RlKQo+ICt7Cj4gKwljb25z dCBjaGFyICp2YWx1ZTsKPiArCXVuc2lnbmVkIGludCBsZW47Cj4gKwlpbnQgcmV0Owo+ICsKPiAr CWlmICgqZGVsaW0gIT0gJz0nKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCXZhbHVlID0g ZGVsaW0gKyAxOwo+ICsJZGVsaW0gPSBzdHJjaHIodmFsdWUsICcsJyk7Cj4gKwlpZiAoIWRlbGlt KQo+ICsJCWRlbGltID0gdmFsdWUgKyBzdHJsZW4odmFsdWUpOwo+ICsKPiArCXJldCA9IGRybV9n ZXRfdHZfbW9kZV9mcm9tX25hbWUodmFsdWUsIGRlbGltIC0gdmFsdWUpOwo+ICsJaWYgKHJldCA8 IDApCj4gKwkJcmV0dXJuIHJldDsKPiArCj4gKwltb2RlLT50dl9tb2RlID0gcmV0Owo+ICsKPiAr CXJldHVybiAwOwo+ICt9Cj4gKwo+ICBzdGF0aWMgaW50IGRybV9tb2RlX3BhcnNlX2NtZGxpbmVf b3B0aW9ucyhjb25zdCBjaGFyICpzdHIsCj4gIAkJCQkJICBib29sIGZyZWVzdGFuZGluZywKPiAg CQkJCQkgIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4gQEAgLTIxODQs NiArMjIwOCw5IEBAIHN0YXRpYyBpbnQgZHJtX21vZGVfcGFyc2VfY21kbGluZV9vcHRpb25zKGNv bnN0IGNoYXIgKnN0ciwKPiAgCQl9IGVsc2UgaWYgKCFzdHJuY21wKG9wdGlvbiwgInBhbmVsX29y aWVudGF0aW9uIiwgZGVsaW0gLSBvcHRpb24pKSB7Cj4gIAkJCWlmIChkcm1fbW9kZV9wYXJzZV9w YW5lbF9vcmllbnRhdGlvbihkZWxpbSwgbW9kZSkpCj4gIAkJCQlyZXR1cm4gLUVJTlZBTDsKPiAr CQl9IGVsc2UgaWYgKCFzdHJuY21wKG9wdGlvbiwgInR2X21vZGUiLCBkZWxpbSAtIG9wdGlvbikp IHsKPiArCQkJaWYgKGRybV9tb2RlX3BhcnNlX3R2X21vZGUoZGVsaW0sIG1vZGUpKQo+ICsJCQkJ cmV0dXJuIC1FSU5WQUw7Cj4gIAkJfSBlbHNlIHsKPiAgCQkJcmV0dXJuIC1FSU5WQUw7Cj4gIAkJ fQo+IEBAIC0yMjEyLDIwICsyMjM5LDIyIEBAIHN0cnVjdCBkcm1fbmFtZWRfbW9kZSB7Cj4gIAl1 bnNpZ25lZCBpbnQgeHJlczsKPiAgCXVuc2lnbmVkIGludCB5cmVzOwo+ICAJdW5zaWduZWQgaW50 IGZsYWdzOwo+ICsJdW5zaWduZWQgaW50IHR2X21vZGU7Cj4gIH07Cj4gIAo+IC0jZGVmaW5lIE5B TUVEX01PREUoX25hbWUsIF9wY2xrLCBfeCwgX3ksIF9mbGFncykJXAo+ICsjZGVmaW5lIE5BTUVE X01PREUoX25hbWUsIF9wY2xrLCBfeCwgX3ksIF9mbGFncywgX21vZGUpCVwKPiAgCXsJCQkJCQlc Cj4gIAkJLm5hbWUgPSBfbmFtZSwJCQkJXAo+ICAJCS5waXhlbF9jbG9ja19raHogPSBfcGNsaywJ CVwKPiAgCQkueHJlcyA9IF94LAkJCQlcCj4gIAkJLnlyZXMgPSBfeSwJCQkJXAo+ICAJCS5mbGFn cyA9IF9mbGFncywJCQlcCj4gKwkJLnR2X21vZGUgPSBfbW9kZSwJCQlcCj4gIAl9Cj4gIAo+ICBz dGF0aWMgY29uc3Qgc3RydWN0IGRybV9uYW1lZF9tb2RlIGRybV9uYW1lZF9tb2Rlc1tdID0gewo+ IC0JTkFNRURfTU9ERSgiTlRTQyIsIDEzNTAwLCA3MjAsIDQ4MCwgRFJNX01PREVfRkxBR19JTlRF UkxBQ0UpLAo+IC0JTkFNRURfTU9ERSgiUEFMIiwgMTM1MDAsIDcyMCwgNTc2LCBEUk1fTU9ERV9G TEFHX0lOVEVSTEFDRSksCj4gKwlOQU1FRF9NT0RFKCJOVFNDIiwgMTM1MDAsIDcyMCwgNDgwLCBE Uk1fTU9ERV9GTEFHX0lOVEVSTEFDRSwgRFJNX01PREVfVFZfTU9ERV9OVFNDX00pLAo+ICsJTkFN RURfTU9ERSgiUEFMIiwgMTM1MDAsIDcyMCwgNTc2LCBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSwg RFJNX01PREVfVFZfTU9ERV9QQUxfQiksCj4gIH07Cj4gIAo+ICBzdGF0aWMgaW50IGRybV9tb2Rl X3BhcnNlX2NtZGxpbmVfbmFtZWRfbW9kZShjb25zdCBjaGFyICpuYW1lLAo+IEBAIC0yMjcxLDYg KzIzMDAsNyBAQCBzdGF0aWMgaW50IGRybV9tb2RlX3BhcnNlX2NtZGxpbmVfbmFtZWRfbW9kZShj b25zdCBjaGFyICpuYW1lLAo+ICAJCWNtZGxpbmVfbW9kZS0+eHJlcyA9IG1vZGUtPnhyZXM7Cj4g IAkJY21kbGluZV9tb2RlLT55cmVzID0gbW9kZS0+eXJlczsKPiAgCQljbWRsaW5lX21vZGUtPmlu dGVybGFjZSA9ICEhKG1vZGUtPmZsYWdzICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpOwo+ICsJ CWNtZGxpbmVfbW9kZS0+dHZfbW9kZSA9IG1vZGUtPnR2X21vZGU7Cj4gIAkJY21kbGluZV9tb2Rl LT5zcGVjaWZpZWQgPSB0cnVlOwo+ICAKPiAgCQlyZXR1cm4gMTsKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL3Rlc3RzL2RybV9jbWRsaW5lX3BhcnNlcl90ZXN0LmMgYi9kcml2ZXJzL2dw dS9kcm0vdGVzdHMvZHJtX2NtZGxpbmVfcGFyc2VyX3Rlc3QuYwo+IGluZGV4IDU5YjI5Y2RmZGQz NS4uZjFlNzNlZDY1YmUwIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS90ZXN0cy9kcm1f Y21kbGluZV9wYXJzZXJfdGVzdC5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Rlc3RzL2RybV9j bWRsaW5lX3BhcnNlcl90ZXN0LmMKPiBAQCAtODg1LDYgKzg4NSwyMDEgQEAgc3RhdGljIHZvaWQg ZHJtX2NtZGxpbmVfdGVzdF9tdWx0aXBsZV9vcHRpb25zKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiAg CUtVTklUX0VYUEVDVF9FUSh0ZXN0LCBtb2RlLmZvcmNlLCBEUk1fRk9SQ0VfVU5TUEVDSUZJRUQp Owo+ICB9Cj4gIAo+ICtzdGF0aWMgdm9pZCBkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbnMoc3Ry dWN0IGt1bml0ICp0ZXN0LAo+ICsJCQkJCWNvbnN0IGNoYXIgKmNtZGxpbmUsCj4gKwkJCQkJY29u c3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmV4cGVjdGVkX21vZGUsCj4gKwkJCQkJdW5zaWdu ZWQgaW50IGV4cGVjdGVkX3R2X21vZGUpCj4gK3sKPiArCXN0cnVjdCBkcm1fY21kbGluZV9tb2Rl IG1vZGUgPSB7IH07Cj4gKwo+ICsJS1VOSVRfRVhQRUNUX1RSVUUodGVzdCwgZHJtX21vZGVfcGFy c2VfY29tbWFuZF9saW5lX2Zvcl9jb25uZWN0b3IoY21kbGluZSwKPiArCQkJCQkJCQkJICAmbm9f Y29ubmVjdG9yLCAmbW9kZSkpOwo+ICsJS1VOSVRfRVhQRUNUX1RSVUUodGVzdCwgbW9kZS5zcGVj aWZpZWQpOwo+ICsJS1VOSVRfRVhQRUNUX0VRKHRlc3QsIG1vZGUueHJlcywgZXhwZWN0ZWRfbW9k ZS0+aGRpc3BsYXkpOwo+ICsJS1VOSVRfRVhQRUNUX0VRKHRlc3QsIG1vZGUueXJlcywgZXhwZWN0 ZWRfbW9kZS0+dmRpc3BsYXkpOwo+ICsJS1VOSVRfRVhQRUNUX0VRKHRlc3QsIG1vZGUudHZfbW9k ZSwgZXhwZWN0ZWRfdHZfbW9kZSk7Cj4gKwo+ICsJS1VOSVRfRVhQRUNUX0ZBTFNFKHRlc3QsIG1v ZGUucmVmcmVzaF9zcGVjaWZpZWQpOwo+ICsKPiArCUtVTklUX0VYUEVDVF9GQUxTRSh0ZXN0LCBt b2RlLmJwcF9zcGVjaWZpZWQpOwo+ICsKPiArCUtVTklUX0VYUEVDVF9GQUxTRSh0ZXN0LCBtb2Rl LnJiKTsKPiArCUtVTklUX0VYUEVDVF9GQUxTRSh0ZXN0LCBtb2RlLmN2dCk7Cj4gKwlLVU5JVF9F WFBFQ1RfRVEodGVzdCwgbW9kZS5pbnRlcmxhY2UsICEhKGV4cGVjdGVkX21vZGUtPmZsYWdzICYg RFJNX01PREVfRkxBR19JTlRFUkxBQ0UpKTsKPiArCUtVTklUX0VYUEVDVF9GQUxTRSh0ZXN0LCBt b2RlLm1hcmdpbnMpOwo+ICsJS1VOSVRfRVhQRUNUX0VRKHRlc3QsIG1vZGUuZm9yY2UsIERSTV9G T1JDRV9VTlNQRUNJRklFRCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rl c3RfdHZfb3B0aW9uX250c2NfNDQzKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2Nt ZGxpbmVfdGVzdF90dl9vcHRpb25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg0ODBpLHR2X21vZGU9 TlRTQy00NDMiLAo+ICsJCQkJICAgIGRybV9tb2RlX2FuYWxvZ19udHNjXzQ4MGkoTlVMTCksCj4g KwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9OVFNDXzQ0Myk7Cj4gK30KPiArCj4gK3N0YXRpYyB2 b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX250c2NfaihzdHJ1Y3Qga3VuaXQgKnRlc3Qp Cj4gK3sKPiArCWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyh0ZXN0LAo+ICsJCQkJICAgICI3 MjB4NDgwaSx0dl9tb2RlPU5UU0MtSiIsCj4gKwkJCQkgICAgZHJtX21vZGVfYW5hbG9nX250c2Nf NDgwaShOVUxMKSwKPiArCQkJCSAgICBEUk1fTU9ERV9UVl9NT0RFX05UU0NfSik7Cj4gK30KPiAr Cj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX250c2NfbShzdHJ1Y3Qg a3VuaXQgKnRlc3QpCj4gK3sKPiArCWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyh0ZXN0LAo+ ICsJCQkJICAgICI3MjB4NDgwaSx0dl9tb2RlPU5UU0MtTSIsCj4gKwkJCQkgICAgZHJtX21vZGVf YW5hbG9nX250c2NfNDgwaShOVUxMKSwKPiArCQkJCSAgICBEUk1fTU9ERV9UVl9NT0RFX05UU0Nf TSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3Bh bF82MChzdHJ1Y3Qga3VuaXQgKnRlc3QpCj4gK3sKPiArCWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0 aW9ucyh0ZXN0LAo+ICsJCQkJICAgICI3MjB4NTc2aSx0dl9tb2RlPVBBTC02MCIsCj4gKwkJCQkg ICAgZHJtX21vZGVfYW5hbG9nX3BhbF81NzZpKE5VTEwpLAo+ICsJCQkJICAgIERSTV9NT0RFX1RW X01PREVfUEFMXzYwKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90 dl9vcHRpb25fcGFsX2Ioc3RydWN0IGt1bml0ICp0ZXN0KQo+ICt7Cj4gKwlkcm1fY21kbGluZV90 ZXN0X3R2X29wdGlvbnModGVzdCwKPiArCQkJCSAgICAiNzIweDU3NmksdHZfbW9kZT1QQUwtQiIs Cj4gKwkJCQkgICAgZHJtX21vZGVfYW5hbG9nX3BhbF81NzZpKE5VTEwpLAo+ICsJCQkJICAgIERS TV9NT0RFX1RWX01PREVfUEFMX0IpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkcm1fY21kbGlu ZV90ZXN0X3R2X29wdGlvbl9wYWxfZChzdHJ1Y3Qga3VuaXQgKnRlc3QpCj4gK3sKPiArCWRybV9j bWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyh0ZXN0LAo+ICsJCQkJICAgICI3MjB4NTc2aSx0dl9tb2Rl PVBBTC1EIiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoTlVMTCksCj4gKwkJ CQkgICAgRFJNX01PREVfVFZfTU9ERV9QQUxfRCk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRy bV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3BhbF9nKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ ICsJZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg1NzZp LHR2X21vZGU9UEFMLUciLAo+ICsJCQkJICAgIGRybV9tb2RlX2FuYWxvZ19wYWxfNTc2aShOVUxM KSwKPiArCQkJCSAgICBEUk1fTU9ERV9UVl9NT0RFX1BBTF9HKTsKPiArfQo+ICsKPiArc3RhdGlj IHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25fcGFsX2goc3RydWN0IGt1bml0ICp0ZXN0 KQo+ICt7Cj4gKwlkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbnModGVzdCwKPiArCQkJCSAgICAi NzIweDU3NmksdHZfbW9kZT1QQUwtSCIsCj4gKwkJCQkgICAgZHJtX21vZGVfYW5hbG9nX3BhbF81 NzZpKE5VTEwpLAo+ICsJCQkJICAgIERSTV9NT0RFX1RWX01PREVfUEFMX0gpOwo+ICt9Cj4gKwo+ ICtzdGF0aWMgdm9pZCBkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9wYWxfaShzdHJ1Y3Qga3Vu aXQgKnRlc3QpCj4gK3sKPiArCWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyh0ZXN0LAo+ICsJ CQkJICAgICI3MjB4NTc2aSx0dl9tb2RlPVBBTC1JIiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFs b2dfcGFsXzU3NmkoTlVMTCksCj4gKwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9QQUxfSSk7Cj4g K30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3BhbF9tKHN0 cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25zKHRl c3QsCj4gKwkJCQkgICAgIjcyMHg0ODBpLHR2X21vZGU9UEFMLU0iLAo+ICsJCQkJICAgIGRybV9t b2RlX2FuYWxvZ19udHNjXzQ4MGkoTlVMTCksCj4gKwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9Q QUxfTSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9u X3BhbF9uKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2NtZGxpbmVfdGVzdF90dl9v cHRpb25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg1NzZpLHR2X21vZGU9UEFMLU4iLAo+ICsJCQkJ ICAgIGRybV9tb2RlX2FuYWxvZ19wYWxfNTc2aShOVUxMKSwKPiArCQkJCSAgICBEUk1fTU9ERV9U Vl9NT0RFX1BBTF9OKTsKPiArfQo+ICsKPiArc3RhdGljIHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90 dl9vcHRpb25fcGFsX25jKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2NtZGxpbmVf dGVzdF90dl9vcHRpb25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg1NzZpLHR2X21vZGU9UEFMLU5j IiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoTlVMTCksCj4gKwkJCQkgICAg RFJNX01PREVfVFZfTU9ERV9QQUxfTkMpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkcm1fY21k bGluZV90ZXN0X3R2X29wdGlvbl9zZWNhbV82MChzdHJ1Y3Qga3VuaXQgKnRlc3QpCj4gK3sKPiAr CWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyh0ZXN0LAo+ICsJCQkJICAgICI3MjB4NTc2aSx0 dl9tb2RlPVNFQ0FNLTYwIiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoTlVM TCksCj4gKwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9TRUNBTV82MCk7Cj4gK30KPiArCj4gK3N0 YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3NlY2FtX2Ioc3RydWN0IGt1bml0 ICp0ZXN0KQo+ICt7Cj4gKwlkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbnModGVzdCwKPiArCQkJ CSAgICAiNzIweDU3NmksdHZfbW9kZT1TRUNBTS1CIiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFs b2dfcGFsXzU3NmkoTlVMTCksCj4gKwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9TRUNBTV9CKTsK PiArfQo+ICsKPiArc3RhdGljIHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25fc2VjYW1f ZChzdHJ1Y3Qga3VuaXQgKnRlc3QpCj4gK3sKPiArCWRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9u cyh0ZXN0LAo+ICsJCQkJICAgICI3MjB4NTc2aSx0dl9tb2RlPVNFQ0FNLUQiLAo+ICsJCQkJICAg IGRybV9tb2RlX2FuYWxvZ19wYWxfNTc2aShOVUxMKSwKPiArCQkJCSAgICBEUk1fTU9ERV9UVl9N T0RFX1NFQ0FNX0QpOwo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkcm1fY21kbGluZV90ZXN0X3R2 X29wdGlvbl9zZWNhbV9nKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2NtZGxpbmVf dGVzdF90dl9vcHRpb25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg1NzZpLHR2X21vZGU9U0VDQU0t RyIsCj4gKwkJCQkgICAgZHJtX21vZGVfYW5hbG9nX3BhbF81NzZpKE5VTEwpLAo+ICsJCQkJICAg IERSTV9NT0RFX1RWX01PREVfU0VDQU1fRyk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9j bWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3NlY2FtX2soc3RydWN0IGt1bml0ICp0ZXN0KQo+ICt7Cj4g Kwlkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbnModGVzdCwKPiArCQkJCSAgICAiNzIweDU3Nmks dHZfbW9kZT1TRUNBTS1LIiwKPiArCQkJCSAgICBkcm1fbW9kZV9hbmFsb2dfcGFsXzU3NmkoTlVM TCksCj4gKwkJCQkgICAgRFJNX01PREVfVFZfTU9ERV9TRUNBTV9LKTsKPiArfQo+ICsKPiArc3Rh dGljIHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25fc2VjYW1fazEoc3RydWN0IGt1bml0 ICp0ZXN0KQo+ICt7Cj4gKwlkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbnModGVzdCwKPiArCQkJ CSAgICAiNzIweDU3NmksdHZfbW9kZT1TRUNBTS1LMSIsCj4gKwkJCQkgICAgZHJtX21vZGVfYW5h bG9nX3BhbF81NzZpKE5VTEwpLAo+ICsJCQkJICAgIERSTV9NT0RFX1RWX01PREVfU0VDQU1fSzEp Owo+ICt9Cj4gKwo+ICtzdGF0aWMgdm9pZCBkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9zZWNh bV9sKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiArewo+ICsJZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRp b25zKHRlc3QsCj4gKwkJCQkgICAgIjcyMHg1NzZpLHR2X21vZGU9U0VDQU0tTCIsCj4gKwkJCQkg ICAgZHJtX21vZGVfYW5hbG9nX3BhbF81NzZpKE5VTEwpLAo+ICsJCQkJICAgIERSTV9NT0RFX1RW X01PREVfU0VDQU1fTCk7Cj4gK30KCkluc3RlYWQgb2YgY3JlYXRpbmcgYSBmdW5jdGlvbiB0byBl YWNoIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9ucyB0ZXN0LAp5b3UgY2FuIGNyZWF0ZSBhIHBh cmFtZXRlcml6ZWQgdGVzdCBbMV0gZm9yIHRoaXMgZnVuY3Rpb24uIFRoaXMgd2lsbApoZWxwIHRo ZSByZWFkYWJpbGl0eSBvZiB0aGUgdGVzdHMuCgpbMV0gaHR0cHM6Ly9kb2NzLmtlcm5lbC5vcmcv ZGV2LXRvb2xzL2t1bml0L3VzYWdlLmh0bWwjcGFyYW1ldGVyaXplZC10ZXN0aW5nCgo+ICsKPiAr c3RhdGljIHZvaWQgZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25faW52YWxpZChzdHJ1Y3Qga3Vu aXQgKnRlc3QpCj4gK3sKPiArCXN0cnVjdCBkcm1fY21kbGluZV9tb2RlIG1vZGUgPSB7IH07Cj4g Kwljb25zdCBjaGFyICpjbWRsaW5lID0gIjcyMHg0ODBpLHR2X21vZGU9aW52YWxpZCI7Cj4gKwo+ ICsJS1VOSVRfRVhQRUNUX0ZBTFNFKHRlc3QsIGRybV9tb2RlX3BhcnNlX2NvbW1hbmRfbGluZV9m b3JfY29ubmVjdG9yKGNtZGxpbmUsCj4gKwkJCQkJCQkJCSAgICZub19jb25uZWN0b3IsICZtb2Rl KSk7Cj4gK30KPiArCj4gK3N0YXRpYyB2b2lkIGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3Ry dW5jYXRlZChzdHJ1Y3Qga3VuaXQgKnRlc3QpCj4gK3sKPiArCXN0cnVjdCBkcm1fY21kbGluZV9t b2RlIG1vZGUgPSB7IH07Cj4gKwljb25zdCBjaGFyICpjbWRsaW5lID0gIjcyMHg0ODBpLHR2X21v ZGU9TlRTQyI7Cj4gKwo+ICsJS1VOSVRfRVhQRUNUX0ZBTFNFKHRlc3QsIGRybV9tb2RlX3BhcnNl X2NvbW1hbmRfbGluZV9mb3JfY29ubmVjdG9yKGNtZGxpbmUsCj4gKwkJCQkJCQkJCSAgICZub19j b25uZWN0b3IsICZtb2RlKSk7Cj4gK30KPiArCgpJIGd1ZXNzIHRoaXMgdGVzdHMgY2FuIGJlIGlu Y29ycG9yYXRlZCBpbiB0aGUgZnV0dXJlIHRvIHRoZSBuZWdhdGl2ZQp0ZXN0cyBmcm9tIE1pY2hh xYIgV2luaWFyc2tpIFsyXS4gSSBkb24ndCBrbm93IHdoaWNoIG9uZSB3aWxsIGJlIG1lcmdlZApm aXJzdC4KClsyXQpodHRwczovL2xvcmUua2VybmVsLm9yZy9kcmktZGV2ZWwvMjAyMjA4MTcyMTEy MzYuMjUyMDkxLTEtbWljaGFsLndpbmlhcnNraUBpbnRlbC5jb20vCgpCZXN0IFJlZ2FyZHMsCi0g TWHDrXJhIENhbmFsCgo+ICBzdGF0aWMgdm9pZCBkcm1fY21kbGluZV90ZXN0X2ludmFsaWRfb3B0 aW9uKHN0cnVjdCBrdW5pdCAqdGVzdCkKPiAgewo+ICAJc3RydWN0IGRybV9jbWRsaW5lX21vZGUg bW9kZSA9IHsgfTsKPiBAQCAtMTA0Nyw2ICsxMjQyLDI3IEBAIHN0YXRpYyBzdHJ1Y3Qga3VuaXRf Y2FzZSBkcm1fY21kbGluZV9wYXJzZXJfdGVzdHNbXSA9IHsKPiAgCUtVTklUX0NBU0UoZHJtX2Nt ZGxpbmVfdGVzdF9uYW1lX3JlZnJlc2hfaW52YWxpZF9tb2RlKSwKPiAgCUtVTklUX0NBU0UoZHJt X2NtZGxpbmVfdGVzdF9uYW1lX29wdGlvbiksCj4gIAlLVU5JVF9DQVNFKGRybV9jbWRsaW5lX3Rl c3RfbmFtZV9icHBfb3B0aW9uKSwKPiArCUtVTklUX0NBU0UoZHJtX2NtZGxpbmVfdGVzdF90dl9v cHRpb25fbnRzY180NDMpLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlv bl9udHNjX2opLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9udHNj X20pLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9wYWxfNjApLAo+ ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9wYWxfYiksCj4gKwlLVU5J VF9DQVNFKGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3BhbF9kKSwKPiArCUtVTklUX0NBU0Uo ZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25fcGFsX2cpLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21k bGluZV90ZXN0X3R2X29wdGlvbl9wYWxfaCksCj4gKwlLVU5JVF9DQVNFKGRybV9jbWRsaW5lX3Rl c3RfdHZfb3B0aW9uX3BhbF9pKSwKPiArCUtVTklUX0NBU0UoZHJtX2NtZGxpbmVfdGVzdF90dl9v cHRpb25fcGFsX20pLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9w YWxfbiksCj4gKwlLVU5JVF9DQVNFKGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3BhbF9uYyks Cj4gKwlLVU5JVF9DQVNFKGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3NlY2FtXzYwKSwKPiAr CUtVTklUX0NBU0UoZHJtX2NtZGxpbmVfdGVzdF90dl9vcHRpb25fc2VjYW1fYiksCj4gKwlLVU5J VF9DQVNFKGRybV9jbWRsaW5lX3Rlc3RfdHZfb3B0aW9uX3NlY2FtX2QpLAo+ICsJS1VOSVRfQ0FT RShkcm1fY21kbGluZV90ZXN0X3R2X29wdGlvbl9zZWNhbV9nKSwKPiArCUtVTklUX0NBU0UoZHJt X2NtZGxpbmVfdGVzdF90dl9vcHRpb25fc2VjYW1fayksCj4gKwlLVU5JVF9DQVNFKGRybV9jbWRs aW5lX3Rlc3RfdHZfb3B0aW9uX3NlY2FtX2sxKSwKPiArCUtVTklUX0NBU0UoZHJtX2NtZGxpbmVf dGVzdF90dl9vcHRpb25fc2VjYW1fbCksCj4gKwlLVU5JVF9DQVNFKGRybV9jbWRsaW5lX3Rlc3Rf dHZfb3B0aW9uX2ludmFsaWQpLAo+ICsJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3R2X29w dGlvbl90cnVuY2F0ZWQpLAo+ICAJS1VOSVRfQ0FTRShkcm1fY21kbGluZV90ZXN0X3JvdGF0ZV8w KSwKPiAgCUtVTklUX0NBU0UoZHJtX2NtZGxpbmVfdGVzdF9yb3RhdGVfOTApLAo+ICAJS1VOSVRf Q0FTRShkcm1fY21kbGluZV90ZXN0X3JvdGF0ZV8xODApLAo+IGRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fY29ubmVjdG9yLmggYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBpbmRl eCA0OWQyNjE5NzdkNGUuLjk1ODkxMDhiYTIwMiAxMDA2NDQKPiAtLS0gYS9pbmNsdWRlL2RybS9k cm1fY29ubmVjdG9yLmgKPiArKysgYi9pbmNsdWRlL2RybS9kcm1fY29ubmVjdG9yLmgKPiBAQCAt MTQ0Nyw2ICsxNDQ3LDExIEBAIHN0cnVjdCBkcm1fY21kbGluZV9tb2RlIHsKPiAgCSAqIEB0dl9t YXJnaW5zOiBUViBtYXJnaW5zIHRvIGFwcGx5IHRvIHRoZSBtb2RlLgo+ICAJICovCj4gIAlzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl90dl9tYXJnaW5zIHR2X21hcmdpbnM7Cj4gKwo+ICsJLyoqCj4gKwkg KiBAdHZfbW9kZTogVFYgbW9kZSBzdGFuZGFyZC4gU2VlIERSTV9NT0RFX1RWX01PREVfKi4KPiAr CSAqLwo+ICsJZW51bSBkcm1fY29ubmVjdG9yX3R2X21vZGUgdHZfbW9kZTsKPiAgfTsKPiAgCj4g IC8qKgo+IAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K bGludXgtYXJtLWtlcm5lbCBtYWlsaW5nIGxpc3QKbGludXgtYXJtLWtlcm5lbEBsaXN0cy5pbmZy YWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21haWxtYW4vbGlzdGluZm8vbGlu dXgtYXJtLWtlcm5lbAo=