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 gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (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 E239FC433EF for ; Thu, 2 Jun 2022 11:01:37 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 071B610E3AD; Thu, 2 Jun 2022 11:01:37 +0000 (UTC) Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by gabe.freedesktop.org (Postfix) with ESMTPS id C6D7210E3AD for ; Thu, 2 Jun 2022 11:01:35 +0000 (UTC) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 748071FB21; Thu, 2 Jun 2022 11:01:34 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1654167694; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Kq1BtagwwVCUnBTbyFCNCb6/ho2T5YkLvqtRbfzJdzk=; b=y2v+0y3Q+K+vW9aILGhQEtAqh7QahdYy25mjTAfmxUGOJcfx+89wejfsYaTbdoD9G+crnQ xNNal5+6zkLhbmMMjkP818iJ6ZxYUwPP7ZfM4yzepfsKxLrNk2a6ms6YO7W06g0aB8brbZ mNtGEynMf8aNR1En9H3q1F3gVccXV8c= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1654167694; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=Kq1BtagwwVCUnBTbyFCNCb6/ho2T5YkLvqtRbfzJdzk=; b=vHc86dSqsWY0MT1Ws9EiRTcHJzFsgMzQWcVCKHR72vQJZwGCQ5ZVoj+JaOon4cuC8o7as+ Y7TWqNEsCsm2GWBw== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id 218CB13AC8; Thu, 2 Jun 2022 11:01:34 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id 2jKzBo6YmGIpcQAAMHmgww (envelope-from ); Thu, 02 Jun 2022 11:01:34 +0000 Message-ID: Date: Thu, 2 Jun 2022 13:01:33 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.1 Subject: Re: [PATCH v2 1/5] drm/ast: Support multiple outputs Content-Language: en-US To: Patrik Jakobsson References: <20220531111502.4470-1-tzimmermann@suse.de> <20220531111502.4470-2-tzimmermann@suse.de> From: Thomas Zimmermann In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------ZWxk5ioqOZyPkkIUzCiTWjLc" X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: David Airlie , Javier Martinez Canillas , dri-devel , Dave Airlie Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------ZWxk5ioqOZyPkkIUzCiTWjLc Content-Type: multipart/mixed; boundary="------------lIOuGPSR54lxaKmCyuZMKAA4"; protected-headers="v1" From: Thomas Zimmermann To: Patrik Jakobsson Cc: Dave Airlie , kuohsiang_chou@aspeedtech.com, David Airlie , Daniel Vetter , Maarten Lankhorst , Maxime Ripard , dri-devel , Javier Martinez Canillas Message-ID: Subject: Re: [PATCH v2 1/5] drm/ast: Support multiple outputs References: <20220531111502.4470-1-tzimmermann@suse.de> <20220531111502.4470-2-tzimmermann@suse.de> In-Reply-To: --------------lIOuGPSR54lxaKmCyuZMKAA4 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGkNCg0KQW0gMDIuMDYuMjIgdW0gMDk6MjQgc2NocmllYiBQYXRyaWsgSmFrb2Jzc29uOg0K PiBPbiBUdWUsIE1heSAzMSwgMjAyMiBhdCAxOjE1IFBNIFRob21hcyBaaW1tZXJtYW5uIDx0 emltbWVybWFubkBzdXNlLmRlPiB3cm90ZToNCj4+DQo+PiBTeXN0ZW1zIHdpdGggQVNUIGdy YXBoaWNzIGNhbiBoYXZlIG11bHRpcGxlIG91dHB1dDsgdHlwaWNhbGx5IFZHQQ0KPj4gcGx1 cyBzb21lIG90aGVyIHBvcnQuIFJlY29yZCBkZXRlY3RlZCBvdXRwdXQgY2hpcHMgaW4gYSBi aXRtYXNrIGFuZA0KPj4gaW5pdGlhbGl6ZSBlYWNoIG91dHB1dCBvbiBpdHMgb3duLg0KPj4N Cj4+IEFzc3VtZSBhIFZHQSBvdXRwdXQgYnkgZGVmYXVsdCBhbmQgdXNlIFNJTDE2NCBhbmQg RFA1MDEgaWYgYXZhaWxhYmxlLg0KPj4gRm9yIEFTVERQIGFzc3VtZSB0aGF0IGl0IGNhbiBy dW4gaW4gcGFyYWxsZWwgd2l0aCBWR0EuDQo+Pg0KPj4gVGVzdGVkIG9uIEFTVDIxMDAuDQo+ Pg0KPj4gdjI6DQo+PiAgICAgICAgICAqIG1ha2UgVkdBL1NJTDE2NC9EUDUwMSBtdXR1YWxs eSBleGNsdXNpdmUNCj4+DQo+PiBTaWduZWQtb2ZmLWJ5OiBUaG9tYXMgWmltbWVybWFubiA8 dHppbW1lcm1hbm5Ac3VzZS5kZT4NCj4+IEZpeGVzOiBhNTliMDI2NDE5ZjMgKCJkcm0vYXN0 OiBJbml0aWFsaXplIGVuY29kZXIgYW5kIGNvbm5lY3RvciBmb3IgVkdBIGluIGhlbHBlciBm dW5jdGlvbiIpDQo+PiBDYzogVGhvbWFzIFppbW1lcm1hbm4gPHR6aW1tZXJtYW5uQHN1c2Uu ZGU+DQo+PiBDYzogSmF2aWVyIE1hcnRpbmV6IENhbmlsbGFzIDxqYXZpZXJtQHJlZGhhdC5j b20+DQo+PiBDYzogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4NCj4+IENjOiBk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+PiAtLS0NCj4+ICAgZHJpdmVycy9n cHUvZHJtL2FzdC9hc3RfZHAuYyAgICB8ICA1ICsrLS0tDQo+PiAgIGRyaXZlcnMvZ3B1L2Ry bS9hc3QvYXN0X2RwNTAxLmMgfCAgMiArLQ0KPj4gICBkcml2ZXJzL2dwdS9kcm0vYXN0L2Fz dF9kcnYuaCAgIHwgIDQgKystLQ0KPj4gICBkcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tYWlu LmMgIHwgMjEgKysrKysrKystLS0tLS0tLS0tDQo+PiAgIGRyaXZlcnMvZ3B1L2RybS9hc3Qv YXN0X21vZGUuYyAgfCAzOCArKysrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0NCj4+ ICAgZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9zdC5jICB8ICAyICstDQo+PiAgIDYgZmls ZXMgY2hhbmdlZCwgMzYgaW5zZXJ0aW9ucygrKSwgMzYgZGVsZXRpb25zKC0pDQo+Pg0KPj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwLmMgYi9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9kcC5jDQo+PiBpbmRleCA0NTUxYmM4YTNlY2YuLmY1NzNkNTgyNDA3 ZSAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwLmMNCj4+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwLmMNCj4+IEBAIC0xNjAsMTMgKzE2MCwx MiBAQCB2b2lkIGFzdF9kcF9sYXVuY2goc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTggYlBv d2VyKQ0KPj4gICAgICAgICAgICAgICAgICB9DQo+Pg0KPj4gICAgICAgICAgICAgICAgICBp ZiAoYkRQRXhlY3V0ZSkNCj4+IC0gICAgICAgICAgICAgICAgICAgICAgIGFzdC0+dHhfY2hp cF90eXBlID0gQVNUX1RYX0FTVERQOw0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgYXN0 LT50eF9jaGlwX3R5cGVzIHw9IEJJVChBU1RfVFhfQVNURFApOw0KPiANCj4gSGkgVGhvbWFz LA0KPiBKdXN0IGEgbWF0dGVyIG9mIHRhc3RlIGJ1dCBhbiBhbHRlcm5hdGl2ZSB0byB1c2lu ZyB0aGUgQklUIG1hY3JvDQo+IGV2ZXJ5d2hlcmUgaXMgdG8ganVzdCBkZWZpbmUgYWxsIHRo ZSBBU1RfVFhfKiBhcyBiaXRzIGRpcmVjdGx5IGFuZCBnZXQNCj4gcmlkIG9mIHRoZSBlbnVt IGFzdF90eF9jaGlwLg0KDQpUaGF0IG1ha2VzIHNlbnNlLg0KDQo+IA0KPiBFaXRoZXIgd2F5 IGlzIGZpbmUgd2l0aCBtZS4NCj4gDQo+IFJldmlld2VkLWJ5OiBQYXRyaWsgSmFrb2Jzc29u IDxwYXRyaWsuci5qYWtvYnNzb25AZ21haWwuY29tPg0KDQpUaGFua3MgZm9yIHJldmlld2lu ZyBteSBwYXRjaHNldC4NCg0KQmVzdCByZWdhcmRzDQpUaG9tYXMNCg0KPiANCj4gDQo+Pg0K Pj4gICAgICAgICAgICAgICAgICBhc3Rfc2V0X2luZGV4X3JlZ19tYXNrKGFzdCwgQVNUX0lP X0NSVENfUE9SVCwgMHhFNSwNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICh1OCkgfkFTVERQX0hPU1RfRURJRF9SRUFEX0RP TkVfTUFTSywNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgIEFTVERQX0hPU1RfRURJRF9SRUFEX0RPTkUpOw0KPj4gLSAgICAg ICB9IGVsc2UNCj4+IC0gICAgICAgICAgICAgICBhc3QtPnR4X2NoaXBfdHlwZSA9IEFTVF9U WF9OT05FOw0KPj4gKyAgICAgICB9DQo+PiAgIH0NCj4+DQo+Pg0KPj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwNTAxLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXN0 L2FzdF9kcDUwMS5jDQo+PiBpbmRleCAyMDRjOTI2YTE4ZWEuLjRmNzVhOWVmYjYxMCAxMDA2 NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwNTAxLmMNCj4+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9hc3QvYXN0X2RwNTAxLmMNCj4+IEBAIC00NTAsNyArNDUwLDcg QEAgdm9pZCBhc3RfaW5pdF8zcmR0eChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQ0KPj4gICAg ICAgICAgICAgICAgICAgICAgICAgIGFzdF9pbml0X2R2byhkZXYpOw0KPj4gICAgICAgICAg ICAgICAgICAgICAgICAgIGJyZWFrOw0KPj4gICAgICAgICAgICAgICAgICBkZWZhdWx0Og0K Pj4gLSAgICAgICAgICAgICAgICAgICAgICAgaWYgKGFzdC0+dHhfY2hpcF90eXBlID09IEFT VF9UWF9TSUwxNjQpDQo+PiArICAgICAgICAgICAgICAgICAgICAgICBpZiAoYXN0LT50eF9j aGlwX3R5cGVzICYgQklUKEFTVF9UWF9TSUwxNjQpKQ0KPj4gICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgYXN0X2luaXRfZHZvKGRldik7DQo+PiAgICAgICAgICAgICAgICAg ICAgICAgICAgZWxzZQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0 X2luaXRfYW5hbG9nKGRldik7DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Fz dC9hc3RfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9kcnYuaA0KPj4gaW5kZXgg YWZlYmUzNWYyMDVlLi4zMDU1YjBiZTdiNjcgMTAwNjQ0DQo+PiAtLS0gYS9kcml2ZXJzL2dw dS9kcm0vYXN0L2FzdF9kcnYuaA0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3Rf ZHJ2LmgNCj4+IEBAIC0xNzMsNyArMTczLDcgQEAgc3RydWN0IGFzdF9wcml2YXRlIHsNCj4+ ICAgICAgICAgIHN0cnVjdCBkcm1fcGxhbmUgcHJpbWFyeV9wbGFuZTsNCj4+ICAgICAgICAg IHN0cnVjdCBhc3RfY3Vyc29yX3BsYW5lIGN1cnNvcl9wbGFuZTsNCj4+ICAgICAgICAgIHN0 cnVjdCBkcm1fY3J0YyBjcnRjOw0KPj4gLSAgICAgICB1bmlvbiB7DQo+PiArICAgICAgIHN0 cnVjdCB7DQo+PiAgICAgICAgICAgICAgICAgIHN0cnVjdCB7DQo+PiAgICAgICAgICAgICAg ICAgICAgICAgICAgc3RydWN0IGRybV9lbmNvZGVyIGVuY29kZXI7DQo+PiAgICAgICAgICAg ICAgICAgICAgICAgICAgc3RydWN0IGFzdF92Z2FfY29ubmVjdG9yIHZnYV9jb25uZWN0b3I7 DQo+PiBAQCAtMTk5LDcgKzE5OSw3IEBAIHN0cnVjdCBhc3RfcHJpdmF0ZSB7DQo+PiAgICAg ICAgICAgICAgICAgIGFzdF91c2VfZGVmYXVsdHMNCj4+ICAgICAgICAgIH0gY29uZmlnX21v ZGU7DQo+Pg0KPj4gLSAgICAgICBlbnVtIGFzdF90eF9jaGlwIHR4X2NoaXBfdHlwZTsNCj4+ ICsgICAgICAgdW5zaWduZWQgbG9uZyB0eF9jaGlwX3R5cGVzOyAgICAgICAgICAgIC8qIGJp dGZpZWxkIG9mIGVudW0gYXN0X2NoaXBfdHlwZSAqLw0KPj4gICAgICAgICAgdTggKmRwNTAx X2Z3X2FkZHI7DQo+PiAgICAgICAgICBjb25zdCBzdHJ1Y3QgZmlybXdhcmUgKmRwNTAxX2Z3 OyAgICAgICAgLyogZHA1MDEgZncgKi8NCj4+ICAgfTsNCj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vYXN0L2FzdF9tYWluLmMgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9t YWluLmMNCj4+IGluZGV4IGQ3NzBkNWEyM2MxYS4uNTBiOGQ1MTM4MmM3IDEwMDY0NA0KPj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfbWFpbi5jDQo+PiArKysgYi9kcml2ZXJz L2dwdS9kcm0vYXN0L2FzdF9tYWluLmMNCj4+IEBAIC0yMTYsNyArMjE2LDcgQEAgc3RhdGlj IGludCBhc3RfZGV0ZWN0X2NoaXAoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgYm9vbCAqbmVl ZF9wb3N0KQ0KPj4gICAgICAgICAgfQ0KPj4NCj4+ICAgICAgICAgIC8qIENoZWNrIDNyZCBU eCBvcHRpb24gKGRpZ2l0YWwgb3V0cHV0IGFmYWlrKSAqLw0KPj4gLSAgICAgICBhc3QtPnR4 X2NoaXBfdHlwZSA9IEFTVF9UWF9OT05FOw0KPj4gKyAgICAgICBhc3QtPnR4X2NoaXBfdHlw ZXMgfD0gQklUKEFTVF9UWF9OT05FKTsNCj4+DQo+PiAgICAgICAgICAvKg0KPj4gICAgICAg ICAgICogVkdBQ1JBMyBFbmhhbmNlZCBDb2xvciBNb2RlIFJlZ2lzdGVyLCBjaGVjayBpZiBE Vk8gaXMgYWxyZWFkeQ0KPj4gQEAgLTIyOSw3ICsyMjksNyBAQCBzdGF0aWMgaW50IGFzdF9k ZXRlY3RfY2hpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sICpuZWVkX3Bvc3QpDQo+ PiAgICAgICAgICBpZiAoISpuZWVkX3Bvc3QpIHsNCj4+ICAgICAgICAgICAgICAgICAganJl ZyA9IGFzdF9nZXRfaW5kZXhfcmVnX21hc2soYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAweGEz LCAweGZmKTsNCj4+ICAgICAgICAgICAgICAgICAgaWYgKGpyZWcgJiAweDgwKQ0KPj4gLSAg ICAgICAgICAgICAgICAgICAgICAgYXN0LT50eF9jaGlwX3R5cGUgPSBBU1RfVFhfU0lMMTY0 Ow0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgYXN0LT50eF9jaGlwX3R5cGVzID0gQklU KEFTVF9UWF9TSUwxNjQpOw0KPj4gICAgICAgICAgfQ0KPj4NCj4+ICAgICAgICAgIGlmICgo YXN0LT5jaGlwID09IEFTVDIzMDApIHx8IChhc3QtPmNoaXAgPT0gQVNUMjQwMCkgfHwgKGFz dC0+Y2hpcCA9PSBBU1QyNTAwKSkgew0KPj4gQEAgLTI0MSw3ICsyNDEsNyBAQCBzdGF0aWMg aW50IGFzdF9kZXRlY3RfY2hpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sICpuZWVk X3Bvc3QpDQo+PiAgICAgICAgICAgICAgICAgIGpyZWcgPSBhc3RfZ2V0X2luZGV4X3JlZ19t YXNrKGFzdCwgQVNUX0lPX0NSVENfUE9SVCwgMHhkMSwgMHhmZik7DQo+PiAgICAgICAgICAg ICAgICAgIHN3aXRjaCAoanJlZykgew0KPj4gICAgICAgICAgICAgICAgICBjYXNlIDB4MDQ6 DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBhc3QtPnR4X2NoaXBfdHlwZSA9IEFTVF9U WF9TSUwxNjQ7DQo+PiArICAgICAgICAgICAgICAgICAgICAgICBhc3QtPnR4X2NoaXBfdHlw ZXMgPSBCSVQoQVNUX1RYX1NJTDE2NCk7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAg YnJlYWs7DQo+PiAgICAgICAgICAgICAgICAgIGNhc2UgMHgwODoNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICBhc3QtPmRwNTAxX2Z3X2FkZHIgPSBkcm1tX2t6YWxsb2MoZGV2LCAz MioxMDI0LCBHRlBfS0VSTkVMKTsNCj4+IEBAIC0yNTQsMjIgKzI1NCwxOSBAQCBzdGF0aWMg aW50IGFzdF9kZXRlY3RfY2hpcChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBib29sICpuZWVk X3Bvc3QpDQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgfQ0KPj4gICAgICAgICAgICAg ICAgICAgICAgICAgIGZhbGx0aHJvdWdoOw0KPj4gICAgICAgICAgICAgICAgICBjYXNlIDB4 MGM6DQo+PiAtICAgICAgICAgICAgICAgICAgICAgICBhc3QtPnR4X2NoaXBfdHlwZSA9IEFT VF9UWF9EUDUwMTsNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIGFzdC0+dHhfY2hpcF90 eXBlcyA9IEJJVChBU1RfVFhfRFA1MDEpOw0KPj4gICAgICAgICAgICAgICAgICB9DQo+PiAg ICAgICAgICB9IGVsc2UgaWYgKGFzdC0+Y2hpcCA9PSBBU1QyNjAwKQ0KPj4gICAgICAgICAg ICAgICAgICBhc3RfZHBfbGF1bmNoKCZhc3QtPmJhc2UsIDApOw0KPj4NCj4+ICAgICAgICAg IC8qIFByaW50IHN0dWZmIGZvciBkaWFnbm9zdGljIHB1cnBvc2VzICovDQo+PiAtICAgICAg IHN3aXRjaChhc3QtPnR4X2NoaXBfdHlwZSkgew0KPj4gLSAgICAgICBjYXNlIEFTVF9UWF9T SUwxNjQ6DQo+PiArICAgICAgIGlmIChhc3QtPnR4X2NoaXBfdHlwZXMgJiBCSVQoQVNUX1RY X05PTkUpKQ0KPj4gKyAgICAgICAgICAgICAgIGRybV9pbmZvKGRldiwgIlVzaW5nIGFuYWxv ZyBWR0FcbiIpOw0KPj4gKyAgICAgICBpZiAoYXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFT VF9UWF9TSUwxNjQpKQ0KPj4gICAgICAgICAgICAgICAgICBkcm1faW5mbyhkZXYsICJVc2lu ZyBTaWwxNjQgVE1EUyB0cmFuc21pdHRlclxuIik7DQo+PiAtICAgICAgICAgICAgICAgYnJl YWs7DQo+PiAtICAgICAgIGNhc2UgQVNUX1RYX0RQNTAxOg0KPj4gKyAgICAgICBpZiAoYXN0 LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9UWF9EUDUwMSkpDQo+PiAgICAgICAgICAgICAg ICAgIGRybV9pbmZvKGRldiwgIlVzaW5nIERQNTAxIERpc3BsYXlQb3J0IHRyYW5zbWl0dGVy XG4iKTsNCj4+IC0gICAgICAgICAgICAgICBicmVhazsNCj4+IC0gICAgICAgZGVmYXVsdDoN Cj4+IC0gICAgICAgICAgICAgICBkcm1faW5mbyhkZXYsICJBbmFsb2cgVkdBIG9ubHlcbiIp Ow0KPj4gLSAgICAgICB9DQo+PiArDQo+PiAgICAgICAgICByZXR1cm4gMDsNCj4+ICAgfQ0K Pj4NCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMgYi9k cml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMNCj4+IGluZGV4IDMyM2FmMjc0NmFhOS4u ZTE5ZGQyZjliM2NlIDEwMDY0NA0KPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3Rf bW9kZS5jDQo+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vYXN0L2FzdF9tb2RlLmMNCj4+IEBA IC05OTcsMTAgKzk5NywxMCBAQCBzdGF0aWMgdm9pZCBhc3RfY3J0Y19kcG1zKHN0cnVjdCBk cm1fY3J0YyAqY3J0YywgaW50IG1vZGUpDQo+PiAgICAgICAgICBjYXNlIERSTV9NT0RFX0RQ TVNfT046DQo+PiAgICAgICAgICAgICAgICAgIGFzdF9zZXRfaW5kZXhfcmVnX21hc2soYXN0 LCBBU1RfSU9fU0VRX1BPUlQsICAweDAxLCAweGRmLCAwKTsNCj4+ICAgICAgICAgICAgICAg ICAgYXN0X3NldF9pbmRleF9yZWdfbWFzayhhc3QsIEFTVF9JT19DUlRDX1BPUlQsIDB4YjYs IDB4ZmMsIDApOw0KPj4gLSAgICAgICAgICAgICAgIGlmIChhc3QtPnR4X2NoaXBfdHlwZSA9 PSBBU1RfVFhfRFA1MDEpDQo+PiArICAgICAgICAgICAgICAgaWYgKGFzdC0+dHhfY2hpcF90 eXBlcyAmIEJJVChBU1RfVFhfRFA1MDEpKQ0KPj4gICAgICAgICAgICAgICAgICAgICAgICAg IGFzdF9zZXRfZHA1MDFfdmlkZW9fb3V0cHV0KGNydGMtPmRldiwgMSk7DQo+Pg0KPj4gLSAg ICAgICAgICAgICAgIGlmIChhc3QtPnR4X2NoaXBfdHlwZSA9PSBBU1RfVFhfQVNURFApIHsN Cj4+ICsgICAgICAgICAgICAgICBpZiAoYXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9U WF9BU1REUCkpIHsNCj4+ICAgICAgICAgICAgICAgICAgICAgICAgICBhc3RfZHBfcG93ZXJf b25fb2ZmKGNydGMtPmRldiwgQVNUX0RQX1BPV0VSX09OKTsNCj4+ICAgICAgICAgICAgICAg ICAgICAgICAgICBhc3Rfd2FpdF9mb3JfdnJldHJhY2UoYXN0KTsNCj4+ICAgICAgICAgICAg ICAgICAgICAgICAgICBhc3RfZHBfc2V0X29uX29mZihjcnRjLT5kZXYsIDEpOw0KPj4gQEAg LTEwMTIsMTcgKzEwMTIsMTcgQEAgc3RhdGljIHZvaWQgYXN0X2NydGNfZHBtcyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsIGludCBtb2RlKQ0KPj4gICAgICAgICAgY2FzZSBEUk1fTU9ERV9E UE1TX1NVU1BFTkQ6DQo+PiAgICAgICAgICBjYXNlIERSTV9NT0RFX0RQTVNfT0ZGOg0KPj4g ICAgICAgICAgICAgICAgICBjaCA9IG1vZGU7DQo+PiAtICAgICAgICAgICAgICAgaWYgKGFz dC0+dHhfY2hpcF90eXBlID09IEFTVF9UWF9EUDUwMSkNCj4+ICsgICAgICAgICAgICAgICBp ZiAoYXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9UWF9EUDUwMSkpDQo+PiAgICAgICAg ICAgICAgICAgICAgICAgICAgYXN0X3NldF9kcDUwMV92aWRlb19vdXRwdXQoY3J0Yy0+ZGV2 LCAwKTsNCj4+IC0gICAgICAgICAgICAgICBicmVhazsNCj4+DQo+PiAtICAgICAgICAgICAg ICAgaWYgKGFzdC0+dHhfY2hpcF90eXBlID09IEFTVF9UWF9BU1REUCkgew0KPj4gKyAgICAg ICAgICAgICAgIGlmIChhc3QtPnR4X2NoaXBfdHlwZXMgJiBCSVQoQVNUX1RYX0FTVERQKSkg ew0KPj4gICAgICAgICAgICAgICAgICAgICAgICAgIGFzdF9kcF9zZXRfb25fb2ZmKGNydGMt PmRldiwgMCk7DQo+PiAgICAgICAgICAgICAgICAgICAgICAgICAgYXN0X2RwX3Bvd2VyX29u X29mZihjcnRjLT5kZXYsIEFTVF9EUF9QT1dFUl9PRkYpOw0KPj4gICAgICAgICAgICAgICAg ICB9DQo+Pg0KPj4gICAgICAgICAgICAgICAgICBhc3Rfc2V0X2luZGV4X3JlZ19tYXNrKGFz dCwgQVNUX0lPX1NFUV9QT1JULCAgMHgwMSwgMHhkZiwgMHgyMCk7DQo+PiAgICAgICAgICAg ICAgICAgIGFzdF9zZXRfaW5kZXhfcmVnX21hc2soYXN0LCBBU1RfSU9fQ1JUQ19QT1JULCAw eGI2LCAweGZjLCBjaCk7DQo+PiArICAgICAgICAgICAgICAgYnJlYWs7DQo+PiAgICAgICAg ICB9DQo+PiAgIH0NCj4+DQo+PiBAQCAtMTE1NSw3ICsxMTU1LDcgQEAgYXN0X2NydGNfaGVs cGVyX2F0b21pY19mbHVzaChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsDQo+PiAgICAgICAgICAg ICAgICAgIGFzdF9jcnRjX2xvYWRfbHV0KGFzdCwgY3J0Yyk7DQo+Pg0KPj4gICAgICAgICAg Ly9TZXQgQXNwZWVkIERpc3BsYXktUG9ydA0KPj4gLSAgICAgICBpZiAoYXN0LT50eF9jaGlw X3R5cGUgPT0gQVNUX1RYX0FTVERQKQ0KPj4gKyAgICAgICBpZiAoYXN0LT50eF9jaGlwX3R5 cGVzICYgQklUKEFTVF9UWF9BU1REUCkpDQo+PiAgICAgICAgICAgICAgICAgIGFzdF9kcF9z ZXRfbW9kZShjcnRjLCB2Ymlvc19tb2RlX2luZm8pOw0KPj4NCj4+ICAgICAgICAgIG11dGV4 X3VubG9jaygmYXN0LT5pb3JlZ3NfbG9jayk7DQo+PiBAQCAtMTczOSwyMiArMTczOSwyNiBA QCBpbnQgYXN0X21vZGVfY29uZmlnX2luaXQoc3RydWN0IGFzdF9wcml2YXRlICphc3QpDQo+ Pg0KPj4gICAgICAgICAgYXN0X2NydGNfaW5pdChkZXYpOw0KPj4NCj4+IC0gICAgICAgc3dp dGNoIChhc3QtPnR4X2NoaXBfdHlwZSkgew0KPj4gLSAgICAgICBjYXNlIEFTVF9UWF9OT05F Og0KPj4gKyAgICAgICBpZiAoYXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9UWF9OT05F KSkgew0KPj4gICAgICAgICAgICAgICAgICByZXQgPSBhc3RfdmdhX291dHB1dF9pbml0KGFz dCk7DQo+PiAtICAgICAgICAgICAgICAgYnJlYWs7DQo+PiAtICAgICAgIGNhc2UgQVNUX1RY X1NJTDE2NDoNCj4+ICsgICAgICAgICAgICAgICBpZiAocmV0KQ0KPj4gKyAgICAgICAgICAg ICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+ICsgICAgICAgfQ0KPj4gKyAgICAgICBpZiAo YXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9UWF9TSUwxNjQpKSB7DQo+PiAgICAgICAg ICAgICAgICAgIHJldCA9IGFzdF9zaWwxNjRfb3V0cHV0X2luaXQoYXN0KTsNCj4+IC0gICAg ICAgICAgICAgICBicmVhazsNCj4+IC0gICAgICAgY2FzZSBBU1RfVFhfRFA1MDE6DQo+PiAr ICAgICAgICAgICAgICAgaWYgKHJldCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJl dHVybiByZXQ7DQo+PiArICAgICAgIH0NCj4+ICsgICAgICAgaWYgKGFzdC0+dHhfY2hpcF90 eXBlcyAmIEJJVChBU1RfVFhfRFA1MDEpKSB7DQo+PiAgICAgICAgICAgICAgICAgIHJldCA9 IGFzdF9kcDUwMV9vdXRwdXRfaW5pdChhc3QpOw0KPj4gLSAgICAgICAgICAgICAgIGJyZWFr Ow0KPj4gLSAgICAgICBjYXNlIEFTVF9UWF9BU1REUDoNCj4+ICsgICAgICAgICAgICAgICBp ZiAocmV0KQ0KPj4gKyAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIHJldDsNCj4+ICsg ICAgICAgfQ0KPj4gKyAgICAgICBpZiAoYXN0LT50eF9jaGlwX3R5cGVzICYgQklUKEFTVF9U WF9BU1REUCkpIHsNCj4+ICAgICAgICAgICAgICAgICAgcmV0ID0gYXN0X2FzdGRwX291dHB1 dF9pbml0KGFzdCk7DQo+PiAtICAgICAgICAgICAgICAgYnJlYWs7DQo+PiArICAgICAgICAg ICAgICAgaWYgKHJldCkNCj4+ICsgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiByZXQ7 DQo+PiAgICAgICAgICB9DQo+PiAtICAgICAgIGlmIChyZXQpDQo+PiAtICAgICAgICAgICAg ICAgcmV0dXJuIHJldDsNCj4+DQo+PiAgICAgICAgICBkcm1fbW9kZV9jb25maWdfcmVzZXQo ZGV2KTsNCj4+DQo+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9z dC5jIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9zdC5jDQo+PiBpbmRleCAwYWE5Y2Yw ZmI1YzMuLjJlMWMzNDNiNzBhMyAxMDA2NDQNCj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9h c3QvYXN0X3Bvc3QuYw0KPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2FzdC9hc3RfcG9zdC5j DQo+PiBAQCAtMzkxLDcgKzM5MSw3IEBAIHZvaWQgYXN0X3Bvc3RfZ3B1KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpDQo+Pg0KPj4gICAgICAgICAgICAgICAgICBhc3RfaW5pdF8zcmR0eChk ZXYpOw0KPj4gICAgICAgICAgfSBlbHNlIHsNCj4+IC0gICAgICAgICAgICAgICBpZiAoYXN0 LT50eF9jaGlwX3R5cGUgIT0gQVNUX1RYX05PTkUpDQo+PiArICAgICAgICAgICAgICAgaWYg KGFzdC0+dHhfY2hpcF90eXBlcyAmIEJJVChBU1RfVFhfU0lMMTY0KSkNCj4+ICAgICAgICAg ICAgICAgICAgICAgICAgICBhc3Rfc2V0X2luZGV4X3JlZ19tYXNrKGFzdCwgQVNUX0lPX0NS VENfUE9SVCwgMHhhMywgMHhjZiwgMHg4MCk7ICAgICAgICAvKiBFbmFibGUgRFZPICovDQo+ PiAgICAgICAgICB9DQo+PiAgIH0NCj4+IC0tDQo+PiAyLjM2LjENCj4+DQoNCi0tIA0KVGhv bWFzIFppbW1lcm1hbm4NCkdyYXBoaWNzIERyaXZlciBEZXZlbG9wZXINClNVU0UgU29mdHdh cmUgU29sdXRpb25zIEdlcm1hbnkgR21iSA0KTWF4ZmVsZHN0ci4gNSwgOTA0MDkgTsO8cm5i ZXJnLCBHZXJtYW55DQooSFJCIDM2ODA5LCBBRyBOw7xybmJlcmcpDQpHZXNjaMOkZnRzZsO8 aHJlcjogSXZvIFRvdGV2DQo= --------------lIOuGPSR54lxaKmCyuZMKAA4-- --------------ZWxk5ioqOZyPkkIUzCiTWjLc Content-Type: application/pgp-signature; name="OpenPGP_signature.asc" Content-Description: OpenPGP digital signature Content-Disposition: attachment; filename="OpenPGP_signature" -----BEGIN PGP SIGNATURE----- wsF5BAABCAAjFiEExndm/fpuMUdwYFFolh/E3EQov+AFAmKYmI0FAwAAAAAACgkQlh/E3EQov+DS 7w/+Lyzm3hH+vSlYY3JlERfVCz+58k/Q48VnZH/8/jGyiCNhZfCGzgWwJRRb1xvt5zfCSTkHxndV O80oKEgkq1RbngVY13wZUuMoSfsjcjUxMZ2nO4Mocdmi6l8L2gxxFdUoMIQT2wPqKSlPMXMutTiX YqW40IgFnTZT2SwlBdZ7igfBbPMoUrOJ+d3/PMwkhu6N87MwQniV9nBLdzx0GyM5wLQJV0Wv1cJP bRFxdyWIKY6gMBwD2l/StllNT4qqgqL1miP0u24nEA+nvk+sTbrsCVT8KIVeU0RZ2w6aMOmSylv/ yWVo2v7xfTMSMusk7bCOBCPUvHvjCxZYUGdFtQtlvxbnxCO7EgFLUsrxdp33CZLUuu8wsvcBidRn 4wkN16eoei2c+BE6LnTcfeEgROrQWB6CtqiNjuc4ubPl/7/gQAO2sfefyzPgMX25H7374dAiNezf yeqsuV9X+4vjGtKi7tMiDyW5qFJfcsSJN51QCjM4hMw2MdCLBYL/Sr7bhUMrK+r2fkw4KeFmy0+s YsPdujlQU9KtwjEHN7ZIUM4uKsABjWQLnUpfuMttp2FLvs3tBH0BaC8XxnUb6DI34kLKqM3/QUbo Vpq/dfUE8Qkphhr7XRK+aSUPF3KHFZJ/hcsBy71JIFvOfBHRLcAsg9hyc/Ens2Ixh3rVc1HoE2O8 6ns= =BbAt -----END PGP SIGNATURE----- --------------ZWxk5ioqOZyPkkIUzCiTWjLc--