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 6DD48C433EF for ; Tue, 10 May 2022 07:13:11 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 9978C10F519; Tue, 10 May 2022 07:13:10 +0000 (UTC) Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67D1F10F519 for ; Tue, 10 May 2022 07:13:08 +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 0AB1E1F8EE; Tue, 10 May 2022 07:13:07 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1652166787; 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=923N/0JOBz7DRavDsAjzKcUQvYBf/KlR0TSC88ZnUaY=; b=wHFTQhIUNb/X1T7nVI0MYq79noxqsIJz2OBsrYKxxcqoG/DwHvQdjNWTfucq6gHSlxZb4+ PBvitvBeXfSK1SMKKOA6dUuz7/atJi5r/Ds//C+nqz90gnn47OWfmxvM4hOy9clEaPRGUZ bi3iWzUDjDtVegdR2mjZpSsuSVcyEAg= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1652166787; 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=923N/0JOBz7DRavDsAjzKcUQvYBf/KlR0TSC88ZnUaY=; b=cB91DhSxjMsN+SHvBLptW+7CL+cFFxptGN71dMtzIRaXhgnZqQ7YMRv9d5MrOFWgLA6u7M KtLS0RN1iC97/zCg== 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 B65E213AA5; Tue, 10 May 2022 07:13:06 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id xjoTKoIQemJMbwAAMHmgww (envelope-from ); Tue, 10 May 2022 07:13:06 +0000 Message-ID: Date: Tue, 10 May 2022 09:13:06 +0200 MIME-Version: 1.0 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:91.0) Gecko/20100101 Thunderbird/91.9.0 Subject: Re: [PATCH] mgag200: Enable atomic gamma lut update Content-Language: en-US To: Jocelyn Falempe , dri-devel@lists.freedesktop.org, lyude@redhat.com References: <20220509094930.44613-1-jfalempe@redhat.com> <432710c7-04fd-7358-60c4-861cf3cfb5cf@suse.de> From: Thomas Zimmermann In-Reply-To: Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="------------HNwyQZeHGg6mF0bRKbkbaXYD" 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: michel@daenzer.net Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" This is an OpenPGP/MIME signed message (RFC 4880 and 3156) --------------HNwyQZeHGg6mF0bRKbkbaXYD Content-Type: multipart/mixed; boundary="------------D2TnBQ7ta0wWAcPwzMqqRpMJ"; protected-headers="v1" From: Thomas Zimmermann To: Jocelyn Falempe , dri-devel@lists.freedesktop.org, lyude@redhat.com Cc: michel@daenzer.net Message-ID: Subject: Re: [PATCH] mgag200: Enable atomic gamma lut update References: <20220509094930.44613-1-jfalempe@redhat.com> <432710c7-04fd-7358-60c4-861cf3cfb5cf@suse.de> In-Reply-To: --------------D2TnBQ7ta0wWAcPwzMqqRpMJ Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: base64 SGkNCg0KQW0gMDkuMDUuMjIgdW0gMTc6NDMgc2NocmllYiBKb2NlbHluIEZhbGVtcGU6DQo+ IE9uIDA5LzA1LzIwMjIgMTY6MjIsIFRob21hcyBaaW1tZXJtYW5uIHdyb3RlOg0KPj4gSGks DQo+Pg0KPj4gZmlyc3Qgb2YgYWxsDQo+Pg0KPj4gVGVzdGVkLWJ5OiBUaG9tYXMgWmltZW1y bWFubiA8dHppbW1lcm1hbm5Ac3VzZS5kZT4NCj4+DQo+PiBvbiBHMjAwRUguIEkgY2xpY2tl ZCBhIGJpdCBpbiBHbm9tZSBzZXR0aW5ncyBhbmQgdGhlIGRpc3BsYXkgY2hhbmdlZCANCj4+ IGNvbG9ycy4gSXQncyBwcmV0dHkgY29vbC4NCj4gDQo+IHllYWgsIEkgYWxzbyBwbGF5ZWQg YSBiaXQgd2l0aCBodHRwczovL2dpdGh1Yi5jb20vemIzL2dub21lLWdhbW1hLXRvb2wNCj4g DQo+Pg0KPj4gQW0gMDkuMDUuMjIgdW0gMTE6NDkgc2NocmllYiBKb2NlbHluIEZhbGVtcGU6 DQo+Pj4gQWRkIHN1cHBvcnQgZm9yIGF0b21pYyB1cGRhdGUgb2YgZ2FtbWEgbHV0Lg0KPj4+ IFdpdGggdGhpcyBwYXRjaCB0aGUgIk5pZ2h0IGxpZ2h0IiBmZWF0dXJlIG9mIGdub21lMw0K Pj4+IGlzIHdvcmtpbmcgcHJvcGVybHkgb24gbWdhZzIwMC4NCj4+Pg0KPj4+IFNpZ25lZC1v ZmYtYnk6IEpvY2VseW4gRmFsZW1wZSA8amZhbGVtcGVAcmVkaGF0LmNvbT4NCj4+PiAtLS0N Cj4+PiDCoCBkcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYyB8IDQ2ICsr KysrKysrKysrKysrKysrKysrKysrKysrDQo+Pj4gwqAgMSBmaWxlIGNoYW5nZWQsIDQ2IGlu c2VydGlvbnMoKykNCj4+Pg0KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbWdh ZzIwMC9tZ2FnMjAwX21vZGUuYyANCj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9tZ2FnMjAwL21n YWcyMDBfbW9kZS5jDQo+Pj4gaW5kZXggNmUxOGQzYmJkNzIwLi45ZmM2ODhlMTVkYjggMTAw NjQ0DQo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL21nYWcyMDAvbWdhZzIwMF9tb2RlLmMN Cj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vbWdhZzIwMC9tZ2FnMjAwX21vZGUuYw0KPj4+ IEBAIC04Niw2ICs4Niw0NiBAQCBzdGF0aWMgdm9pZCBtZ2FfY3J0Y19sb2FkX2x1dChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpDQo+Pg0KPj4gbWdhX2NydGNfbG9hZF9sdXQgaXMgbGVnYWN5 IGNvZGUgYW5kIG5lZWRzIHRvIGdvIGF3YXkuDQo+Pg0KPj4+IMKgwqDCoMKgwqAgfQ0KPj4+ IMKgIH0NCj4+PiArc3RhdGljIHZvaWQgbWdhX2NydGNfdXBkYXRlX2x1dChzdHJ1Y3QgbWdh X2RldmljZSAqbWRldiwNCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHN0 cnVjdCBkcm1fY3J0Y19zdGF0ZSAqc3RhdGUsDQo+Pj4gK8KgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqDCoCB1OCBkZXB0aCkNCj4+DQo+PiBSYXRoZXIgbmFtZSB0aGlzIGZ1bmN0aW9u IG1nYWcyMDBfY3J0Y19zZXRfZ2FtbWEoKS4NCj4+DQo+PiBUaGUgZHJpdmVyIHdhcyBvbmNl IHBvcnRlZCBmcm9tIFgxMSB1c2Vyc3BhY2UsIHdoZXJlIGl0IHdhcyBjYWxsZWQgDQo+PiBt Z2EuIFRodXMgdGhlIG9jY2F0aW9uYWwgbWdhXyBwcmVmaXguIEl0IGl0IHNob3VsZCBub3cg YmUgbWdhZzIwMC4NCj4gDQo+IG9rDQo+Pg0KPj4+ICt7DQo+Pj4gK8KgwqDCoCBzdHJ1Y3Qg ZHJtX2NvbG9yX2x1dCAqIGx1dDsNCj4+PiArwqDCoMKgIGludCBpOw0KPj4+ICsNCj4+PiAr wqDCoMKgIGlmICghc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdlZCB8fCAhc3RhdGUtPmdhbW1h X2x1dCkNCj4+PiArwqDCoMKgwqDCoMKgwqAgcmV0dXJuDQo+Pg0KPj4gU2VtaWNvbG9uIGlz IG1pc3NpbmcgaGVyZS4NCj4gDQo+IG9vcHMgOykNCj4+DQo+PiBUaGUgdGVzdCBpdHNlbGYg c2hvdWxkIGdvIGludG8gdGhlIGNhbGxlci4gVGhlIHVwZGF0ZSBmdW5jdGlvbiBoZXJlIA0K Pj4gc2hvdWxkIGJlIGluZGVwZW5kZW50IGZyb20gdGhlIGNydGMgc3RhdGUuIFBhc3MgaW4g dGhlIHBsYW5lIHN0YXRlJ3MgDQo+PiBmcmFtZWJ1ZmZlciBhbmQgdGhlIGNydGMgc3RhdGUn cyBnYW1tYV9sdXQgcHJvcGVydHkuDQo+IA0KPiBvaywgaXQgbWFrZXMgc2Vuc2UuDQo+Pg0K Pj4+ICsNCj4+PiArwqDCoMKgIGx1dCA9IChzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAqKSBzdGF0 ZS0+Z2FtbWFfbHV0LT5kYXRhOw0KPj4+ICvCoMKgwqAgV1JFRzgoREFDX0lOREVYICsgTUdB MTA2NF9JTkRFWCwgMCk7DQo+Pj4gKw0KPj4+ICvCoMKgwqAgaWYgKGRlcHRoID09IDE1KSB7 DQo+Pg0KPj4gZm9ybWF0LT5kZXB0aCBpcyBkZXByZWNhdGVkLsKgIEJldHRlciB3cml0ZSB0 aGVzZSBpZi1lbHNlIGJyYW5jaGVzIGFzIA0KPj4gc3dpdGNoIG9mIHRoZSBmb3JtYXQncyA0 Y2MgY29kZToNCj4+DQo+PiBzd2l0Y2ggKGZiLT5mb3JtYXQtPmZvcm1hdCkgew0KPj4gY2Fz ZSBEUk1fRk9STUFUX1hSR0IxNTU1Og0KPj4gwqDCoMKgwqDCoC4uLg0KPj4gwqDCoMKgwqDC oGJyZWFrOw0KPj4gY2FzZSBEUk1fRk9STUFUX1JHQjU2NToNCj4+IMKgwqDCoMKgwqAuLi4N Cj4+IMKgwqDCoMKgwqBicmVhazsNCj4+IGNhc2UgRFJNX0ZPUk1BVF9SR0I4ODg6DQo+PiBj YXNlIERSTV9GT1JNQVRfWFJHQjoNCj4+IMKgwqDCoMKgwqAuLi4NCj4+IMKgwqDCoMKgwqBi cmVhazsNCj4+IH0NCj4gDQo+IEFzIHRoZSBkcml2ZXIgZG9lc24ndCBhZHZlcnRpc2UgWFJH QjE1NTUsIG1heWJlIEkgY2FuIGRyb3AgaXQgPw0KPiBJIGtlcHQgaXQgYmVjYXVzZSB0aGUg bWdhX2NydGNfbG9hZF9sdXQoKSBzdXBwb3J0cyBpdC4NCg0KSWYgeW91IHdhbnQgdG8gcmVt b3ZlIGl0LCBnbyBhaGVhZC4gIElmIHdlJ2Qgd2FudCB0byBzdXBwb3J0IDE1LWJpdCANCm1v ZGVzLCBpdCB3b3VsZCBiZSB0cml2aWFsIHRvIGFkZC4NCg0KPiANCj4+DQo+Pj4gK8KgwqDC oMKgwqDCoMKgIC8qIDE2IGJpdHMgcjVnNWI1YTEgKi8NCj4+DQo+PiBXaXRoIDRjYyBjb2Rl cywgeW91IGNhbiByZW1vdmUgdGhlc2UgY29tbWVudHMuDQo+Pg0KPj4+ICvCoMKgwqDCoMKg wqDCoCBmb3IgKGkgPSAwOyBpIDwgTUdBRzIwMF9MVVRfU0laRTsgaSArPSA4KSB7DQo+Pj4g K8KgwqDCoMKgwqDCoMKgwqDCoMKgwqAgV1JFRzgoREFDX0lOREVYICsgTUdBMTA2NF9DT0xf UEFMLCBsdXRbaV0ucmVkID4+IDgpOw0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdS RUc4KERBQ19JTkRFWCArIE1HQTEwNjRfQ09MX1BBTCwgbHV0W2ldLmdyZWVuID4+IDgpOw0K Pj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdSRUc4KERBQ19JTkRFWCArIE1HQTEwNjRf Q09MX1BBTCwgbHV0W2ldLmJsdWUgPj4gOCk7DQo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0NCj4+ PiArwqDCoMKgIH0gZWxzZSBpZiAoZGVwdGggPT0gMTYpIHsNCj4+PiArwqDCoMKgwqDCoMKg wqAgLyogMTYgYml0cyByNWc2YjUsIGFzIGdyZWVuIGhhcyBvbmUgbW9yZSBiaXQsDQo+Pj4g K8KgwqDCoMKgwqDCoMKgwqAgKiBhZGQgcGFkZGluZyB3aXRoIDAgZm9yIHJlZCBhbmQgYmx1 ZS4gKi8NCj4+PiArwqDCoMKgwqDCoMKgwqAgZm9yIChpID0gMDsgaSA8IE1HQUcyMDBfTFVU X1NJWkU7IGkgKz0gNCkgew0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHU4IHJlZCA9 IDIgKiBpIDwgTUdBRzIwMF9MVVRfU0laRSA/IGx1dFsyICogaV0ucmVkID4+IDggDQo+Pj4g OiAwOw0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIHU4IGJsdWUgPSAyICogaSA8IE1H QUcyMDBfTFVUX1NJWkUgPyBsdXRbMiAqIGldLnJlZCA+PiA4IA0KPj4+IDogMDsNCj4+DQo+ PiAnW10uYmx1ZScgaGVyZS4NCj4gDQo+IG9vcHMgYWdhaW4gOykNCj4gDQo+Pg0KPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdSRUc4KERBQ19JTkRFWCArIE1HQTEwNjRfQ09MX1BB TCwgcmVkKTsNCj4+PiArwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBXUkVHOChEQUNfSU5ERVgg KyBNR0ExMDY0X0NPTF9QQUwsIGx1dFtpXS5ncmVlbiA+PiA4KTsNCj4+PiArwqDCoMKgwqDC oMKgwqDCoMKgwqDCoCBXUkVHOChEQUNfSU5ERVggKyBNR0ExMDY0X0NPTF9QQUwsIGJsdWUp Ow0KPj4+ICvCoMKgwqDCoMKgwqDCoCB9DQo+Pj4gK8KgwqDCoCB9IGVsc2Ugew0KPj4+ICvC oMKgwqDCoMKgwqDCoCAvKiAyNCBiaXRzIHI4ZzhiOCAqLw0KPj4+ICvCoMKgwqDCoMKgwqDC oCBmb3IgKGkgPSAwOyBpIDwgTUdBRzIwMF9MVVRfU0laRTsgaSsrKSB7DQo+Pj4gK8KgwqDC oMKgwqDCoMKgwqDCoMKgwqAgV1JFRzgoREFDX0lOREVYICsgTUdBMTA2NF9DT0xfUEFMLCBs dXRbaV0ucmVkID4+IDgpOw0KPj4+ICvCoMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdSRUc4KERB Q19JTkRFWCArIE1HQTEwNjRfQ09MX1BBTCwgbHV0W2ldLmdyZWVuID4+IDgpOw0KPj4+ICvC oMKgwqDCoMKgwqDCoMKgwqDCoMKgIFdSRUc4KERBQ19JTkRFWCArIE1HQTEwNjRfQ09MX1BB TCwgbHV0W2ldLmJsdWUgPj4gOCk7DQo+Pj4gK8KgwqDCoMKgwqDCoMKgIH0NCj4+PiArwqDC oMKgIH0NCj4+PiArfQ0KPj4+ICsNCj4+DQo+PiBUaGVzZSBsb29wcyBzZWVtIGhhcmQgdG8g dW5kZXJzdGFuZCBiZWNhdXNlIHRoZSBpbmRleCBpIGRvZXNuJ3QgDQo+PiBvYnZpb3VzbHkg Y29ycmVzcG9uZCB0byB0aGUgc291cmNlIG9yIGRlc3RpbmF0aW9uOyBleGNlcHQgZm9yIHRo ZSANCj4+IGZpbmFsIG9uZS4NCj4+DQo+PiBJJ2Qgd3JpdGUgb3V0IHRoZSBvZmZzZXQgaW50 byB0aGUgSFcgcGFsZXR0ZSBhcyBjb25zdGFudCB2YWx1ZSBpbiB0aGUgDQo+PiBmb3IgbG9v cCBhbmQgd2FsayBvdmVyIHRoZSBnaXZlbiBsdXQgdGFibGUgdmlhIHBvaW50ZXIgYXJpdGht ZXRpYy4NCj4+DQo+PiBJdCBtaWdodCBhbHNvIG1ha2Ugc2Vuc2UgdG8gYWRqdXN0IHRoZSBz dGFydGluZyB2YWx1ZSBvZiB0aGUgbHV0IHRhYmxlIA0KPj4gc3VjaCB0aGF0IGl0cyBmaW5h bCBlbnRyeSBpcyB1c2VkIGZvciB0aGUgZmluYWwgZW50cnkgaW4gdGhlIEhXIA0KPj4gcGFs ZXR0ZS4gRm9yIHR5cGljYWwgZ2FtbWEgcmFtcHMgfjIsIHRoZSBjdXJ2ZSBpcyBmYWlybHkg ZmxhdCBmb3IgDQo+PiBzbWFsbCB2YWx1ZXMgYW5kIGdvZXMgdXAgc3RlZXBseSBhdCBoaWdo IHZhbHVlcy4gKFBsZWFzZSBjb3JyZWN0IG1lIGlmIA0KPj4gSSdtIG1pc2ludGVycHJldGlu ZyB0aGUgZ2FtbWEgcmFtcHMuKQ0KPiANCj4gSSBkaWRuJ3QgcmVhbGl6ZSB0aGF0IHRha2lu ZyAxIG91dCBvZiA4IHZhbHVlcyB3aWxsIGhhdmUgdGhpcyBzaWRlIA0KPiBlZmZlY3QuIHN1 cmUgdGhpcyBjYW4gYmUgZml4ZWQuDQoNCkknbSBsb29raW5nIGF0IGdhbW1hIGN1cnZlcyBh cyBnaXZlbiBpbiBbMV0uIFRoZSB0eXBpY2FsIGRpc3BsYXkgZ2FtbWEgDQpvZiB+MiBnaXZl cyBhIGV4cG9uZW50aWFsLWxvb2tpbmcgZ3JhcGgsIHdoaWNoIHN0YXJ0cyBmbGF0IGJ1dCBn cm93cyANCnF1aWNrbHkuDQoNCk1pY2hlbCBpcyByaWdodCB0aGF0IHdlIGlkZWFsbHkgd2hh dCBmdWxsLWRhcmsgYW5kIGZ1bGwtYnJpZ2h0IGFzLWlzLCANCmFuZCBkbyBzb21lIGludGVy cG9sYXRpb24gaW4gYmV0d2Vlbi4gSW4geW91ciByZXBseSB0byBNaWNoZWwsIEkgdGhpbmsg DQp5b3UgYWxyZWFkeSBnYXZlIGEgc2ltcGxlIGFuZCBjb3JyZWN0LWVub3VnaCBpbXBsZW1l bnRhdGlvbi4gSSdkIGp1c3QgZ28gDQp3aXRoIHRoYXQuDQoNCkJlc3QgcmVnYXJkcw0KVGhv bWFzDQoNClsxXSBodHRwczovL3d3dy5jYW1icmlkZ2VpbmNvbG91ci5jb20vdHV0b3JpYWxz L2dhbW1hLWNvcnJlY3Rpb24uaHRtDQoNCg0KPj4NCj4+IEZvciAxNS1iaXQgY2FzZSBJJ2Qg ZG8gdGhpbmcgbGlrZSB0aGlzLg0KPj4NCj4+IMKgwqBsdXQgKz0gNzsNCj4+IMKgwqBmb3Ig KGkgPCAwOyBpIDwgMzI7ICsraSwgbHV0ICs9IDgpIHsNCj4+IMKgwqDCoMKgIC8vIHdyaXRl wqAgbHV0DQo+PiDCoMKgfQ0KPj4NCj4+IDE2LWJpdCBpcyBjb21wbGljYXRlZCBhbmQgbWF5 IGJldHRlciBiZSBkb25lIGluIDIgbG9vcHMNCj4+DQo+PiDCoMKgbHV0ciArPSA3Ow0KPj4g wqDCoGx1dGcgKz0gMzsNCj4+IMKgwqBsdXRiICs9IDc7DQo+PiDCoMKgZm9yIChpIDwgMDsg aSA8IDMyOyArK2ksIGx1dHIgKz0gOCwgbHV0ZyArPSAzLCBsdXRiICs9IDgpIHsNCj4+IMKg wqDCoCAvLyB3cml0ZcKgIHIvZy9iIGx1dA0KPj4gwqDCoH0NCj4+IMKgwqBmb3IgKDsgaSA8 IDY0OyArK2ksIGx1dGcgKz0gMykgew0KPj4gwqDCoMKgIC8vIHdyaXRlwqAgMC9nLzAgbHV0 DQo+PiDCoMKgfQ0KPiANCj4gb2ssIHdpbGwgdHJ5IHRvIGRvIHNvbWV0aGluZyBsaWtlIHRo aXMuIEl0IHRvb2sgbWUgYSB3aGlsZSB0byB1bmRlcnN0YW5kIA0KPiB0aGUgbG9vcHMgb2Yg bWdhX2NydGNfbG9hZF9sdXQoKSwgc28gSSB0cmllZCB0byBzaW1wbGlmeS4NCj4+DQo+Pj4g wqAgc3RhdGljIGlubGluZSB2b2lkIG1nYV93YWl0X3ZzeW5jKHN0cnVjdCBtZ2FfZGV2aWNl ICptZGV2KQ0KPj4+IMKgIHsNCj4+PiDCoMKgwqDCoMKgIHVuc2lnbmVkIGxvbmcgdGltZW91 dCA9IGppZmZpZXMgKyBIWi8xMDsNCj4+PiBAQCAtOTUzLDYgKzk5Myw3IEBAIG1nYWcyMDBf c2ltcGxlX2Rpc3BsYXlfcGlwZV91cGRhdGUoc3RydWN0IA0KPj4+IGRybV9zaW1wbGVfZGlz cGxheV9waXBlICpwaXBlLA0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKg wqDCoMKgwqAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3N0YXRlKQ0KPj4+IMKgIHsN Cj4+PiDCoMKgwqDCoMKgIHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gJnBpcGUtPnBsYW5l Ow0KPj4+ICvCoMKgwqAgc3RydWN0IGRybV9jcnRjICpjcnRjID0gJnBpcGUtPmNydGM7DQo+ Pj4gwqDCoMKgwqDCoCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gcGxhbmUtPmRldjsNCj4+ PiDCoMKgwqDCoMKgIHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2ID0gdG9fbWdhX2RldmljZShk ZXYpOw0KPj4+IMKgwqDCoMKgwqAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqc3RhdGUgPSBw bGFuZS0+c3RhdGU7DQo+Pj4gQEAgLTk2Myw3ICsxMDA0LDEwIEBAIG1nYWcyMDBfc2ltcGxl X2Rpc3BsYXlfcGlwZV91cGRhdGUoc3RydWN0IA0KPj4+IGRybV9zaW1wbGVfZGlzcGxheV9w aXBlICpwaXBlLA0KPj4+IMKgwqDCoMKgwqAgaWYgKCFmYikNCj4+PiDCoMKgwqDCoMKgwqDC oMKgwqAgcmV0dXJuOw0KPj4+ICvCoMKgwqAgbWdhX2NydGNfdXBkYXRlX2x1dChtZGV2LCBj cnRjLT5zdGF0ZSwgZmItPmZvcm1hdC0+ZGVwdGgpOw0KPj4+ICsNCj4+DQo+PiBXZSBzaG91 bGQgYWxzbyBjYWxsIHRoaXMgZnVuY3Rpb24gaW4gcGlwZV9lbmFibGUuDQo+Pg0KPj4gQW5k IHRoZXJlJ3MgdGhlIHF1ZXN0aW9uIHdoYXQgaGFwcGVucyBpZiBnYW1tYV9sdXQgaXMgbm90 IHNldC7CoCBTbyANCj4+IGZhciwgd2UgZ2V0IGF3YXkgd2l0aCBpdCBiZWNhdXNlIG1nYV9j cnRjX2xvYWRfbHV0KCkuwqAgQSBiZXR0ZXIgDQo+PiBhcHByb2FjaCBpcyB0byBhZGQgYW5v dGhlciBmdW5jdGlvbiBtZ2FnMjAwX2NydGNfc2V0X2dhbW1hX2xpbmVhcigpIA0KPj4gdGhh dCBjbGVhcnMgdGhlIHBhbGV0dGUgdG8gYSBsaW5lYXIgY3VydmUgKGkuZS4sIHNhbWUgYXMg DQo+PiBtZ2FfY3J0Y19sb2FkX2x1dCgpIGRvZXMgbm93KS4gSXQgd291bGQgYmUgY2FsbGVk IGlmIG5vIA0KPj4gY3J0Yy0+c3RhdGUtPmdhbW1hX2x1dCBpcyBOVUxMLg0KPiANCj4gWWVz LCBpZiBJIHJlbW92ZSBtZ2FfY3J0Y19sb2FkX2x1dCgpIEkgd2lsbCBuZWVkIHRvIHNldCB0 aGUgZGVmYXVsdC4NCj4gc2hvdWxkIGJlIHNpbXBsZSB0byBkby4NCj4gDQo+IA0KPj4NCj4+ PiDCoMKgwqDCoMKgIGlmIChkcm1fYXRvbWljX2hlbHBlcl9kYW1hZ2VfbWVyZ2VkKG9sZF9z dGF0ZSwgc3RhdGUsICZkYW1hZ2UpKQ0KPj4+ICsNCj4+DQo+PiBUaGF0IGVtcHR5IGxpbmUg aXMgZmFsbG91dCBmcm9tIHJlYmFzaW5nIGZyb20gdGhlIG90aGVyIHBhdGNoc2V0Pw0KPiAN Cj4geWVzIDspDQo+Pg0KPj4+IMKgwqDCoMKgwqDCoMKgwqDCoCBtZ2FnMjAwX2hhbmRsZV9k YW1hZ2UobWRldiwgZmIsICZkYW1hZ2UsIA0KPj4+ICZzaGFkb3dfcGxhbmVfc3RhdGUtPmRh dGFbMF0pOw0KPj4+IMKgIH0NCj4+PiBAQCAtMTExMCw2ICsxMTU0LDggQEAgaW50IG1nYWcy MDBfbW9kZXNldF9pbml0KHN0cnVjdCBtZ2FfZGV2aWNlICptZGV2KQ0KPj4+IMKgwqDCoMKg wqAgLyogRklYTUU6IGxlZ2FjeSBnYW1tYSB0YWJsZXM7IGNvbnZlcnQgdG8gQ1JUQyBzdGF0 ZSAqLw0KPj4+IMKgwqDCoMKgwqAgZHJtX21vZGVfY3J0Y19zZXRfZ2FtbWFfc2l6ZSgmcGlw ZS0+Y3J0YywgTUdBRzIwMF9MVVRfU0laRSk7DQo+Pg0KPj4gSGVyZSdzIGFub3RoZXIgbGVn YWN5IGNhbGwgdGhhdCBzaG91bGQgZ2V0IHJlbW92ZWQuDQo+IA0KPiBZZXMsIEkgY2FuIHJl bW92ZSB0aGF0IG9uZSB0b28uDQo+IA0KPj4NCj4+PiArwqDCoMKgIGRybV9jcnRjX2VuYWJs ZV9jb2xvcl9tZ210KCZwaXBlLT5jcnRjLCAwLCBmYWxzZSwgDQo+Pj4gTUdBRzIwMF9MVVRf U0laRSk7DQo+Pg0KPj4gQUZBSUNUIHRoZSBEUk0gY29yZSBkb2VzIG5vdCBlbmZvcmNlIHRo ZSBMVVQgc2l6ZS4gSXQncyBqdXN0IA0KPj4gaW5mb3JtYXRpb24gZm9yIHVzZXJzcGFjZSwg d2hpY2ggY291bGQgZ2l2ZSBhbnkgYW1vdW50IG9mIHBhbGV0dGUgDQo+PiBlbnRyaWVzLiBT byB0aGUgZHJpdmVyJ3MgcGlwZV9jaGVjayBmdW5jdGlvbiBoYXMgdG8gZW5mb3JjZSB0aGUg bGltaXQuIA0KPj4gSWYgdGhlIGdhbW1hX2x1dCBwcm9wZXJ0eSBpcyBzZXQsIGl0IHNob3Vs ZCBhbHdheXMgY29udGFpbiAyNTYgZW50cmllcy4NCj4+DQo+PiBCZXN0IHJlZ2FyZHMNCj4+ IFRob21hcw0KPj4NCj4+PiArDQo+Pj4gwqDCoMKgwqDCoCBkcm1fbW9kZV9jb25maWdfcmVz ZXQoZGV2KTsNCj4+PiDCoMKgwqDCoMKgIHJldHVybiAwOw0KPj4NCj4gDQo+IFRoYW5rcyBh IGxvdCBmb3IgeW91ciByZXZpZXcsIEkgd2lsbCByZXdvcmsgdGhpcyBhbmQgc2VuZCBhIHYy Lg0KPiANCg0KLS0gDQpUaG9tYXMgWmltbWVybWFubg0KR3JhcGhpY3MgRHJpdmVyIERldmVs b3Blcg0KU1VTRSBTb2Z0d2FyZSBTb2x1dGlvbnMgR2VybWFueSBHbWJIDQpNYXhmZWxkc3Ry LiA1LCA5MDQwOSBOw7xybmJlcmcsIEdlcm1hbnkNCihIUkIgMzY4MDksIEFHIE7DvHJuYmVy ZykNCkdlc2Now6RmdHNmw7xocmVyOiBJdm8gVG90ZXYNCg== --------------D2TnBQ7ta0wWAcPwzMqqRpMJ-- --------------HNwyQZeHGg6mF0bRKbkbaXYD 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+AFAmJ6EIIFAwAAAAAACgkQlh/E3EQov+BG MA//Z5Pg7JlgdThy5BWD+WaFE8hwZfGqRi976HHphWivPagcpi69UD+HFBYpOaxE8n8Itc7zzFsZ s3ViUcZmb8u6D/Bi/ufAbfa0+/l/lP37K8fZYLSf3vjCDURq8+T+X7gMYctn1zs2b/l6cWceby4Z LiSF0Km+bEUFNxu3e3SfJnvUzZVEOXDA4ujUzdlMPqBqtiJd+vOTAnJHKGcZWPtla9JTiZ2oKk7h 0ah/gtMWQoZHiMZk84bXVYPZfDmjVYY3pDoY6ck2W7N7JOMnqjgJYeOzm5NzNqnwGYGrn8v5qsx+ 9Z8tz9bVA6MhFPIk2Dn1K/ZZieWWMLmf9tFV6UXvZ2XQ+itDWhHkZcDrHcyHkd5zR3OwhOkLXxlQ XuMMhZioAKRNKw1PrNnpRzNC1wTGygqTQ/ZdQYomprboPJs2iiMQwfly3EnSd/L4kK3PPmUp8mxk pNc2oNzIzvS6YQhBgoBw5cfejX2poLyaFOhUMJhaZQ6nb5yXMCAiOVANsGeb9dJ8K9dw+qXPqqRE 2SN5TaCmDqFo9WNu6qKVsrrez+cglkhOFGlPabcNcRRGpmSRUGLrfCvQLdh0VKuiPBS1Z/0h+ObG OrRVph/5LgVKdQ86tlOSGhoWqxL1RSyHZ8p7tqnkd+OQt4U0eMghHgXNqNMSXbU70MqI1A2XZNnt MLE= =usYv -----END PGP SIGNATURE----- --------------HNwyQZeHGg6mF0bRKbkbaXYD--