From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: Re: [PATCH] drm/i915: Program LUT before intel_color_commit() if LUT was not previously set Date: Mon, 28 Oct 2019 19:56:11 +0100 Message-ID: References: <20191020181933.54829-1-hdegoede@redhat.com> <20191021143948.GI1208@intel.com> <20191025194515.GJ1208@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by gabe.freedesktop.org (Postfix) with ESMTPS id F20C56E147 for ; Mon, 28 Oct 2019 18:56:17 +0000 (UTC) Received: by mail-wr1-f70.google.com with SMTP id s17so6913417wrp.17 for ; Mon, 28 Oct 2019 11:56:14 -0700 (PDT) In-Reply-To: <20191025194515.GJ1208@intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= Cc: intel-gfx , dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org SGksCgpPbiAyNS0xMC0yMDE5IDIxOjQ1LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gT24gRnJp LCBPY3QgMjUsIDIwMTkgYXQgMDk6MjM6NDdQTSArMDIwMCwgSGFucyBkZSBHb2VkZSB3cm90ZToK Pj4gSGksCj4+Cj4+IE9uIDIxLTEwLTIwMTkgMTY6MzksIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK Pj4+IE9uIFN1biwgT2N0IDIwLCAyMDE5IGF0IDA4OjE5OjMzUE0gKzAyMDAsIEhhbnMgZGUgR29l ZGUgd3JvdGU6Cj4+Pj4gU2luY2UgY29tbWl0IDA1MWE2ZDhkM2NhMCAoImRybS9pOTE1OiBNb3Zl IExVVCBwcm9ncmFtbWluZyB0byBoYXBwZW4gYWZ0ZXIKPj4+PiB2Ymxhbmsgd2FpdHMiKSwgSSBh bSBzZWVpbmcgYW4gdWdseSBjb2xvcmVkIGZsYXNoIG9mIHRoZSBmaXJzdCBmZXcgZGlzcGxheQo+ Pj4+IGxpbmVzIG9uIDIgQ2hlcnJ5IFRyYWlsIGRldmljZXMgd2hlbiB0aGUgZ2FtbWEgdGFibGUg Z2V0cyBzZXQgZm9yIHRoZSBmaXJzdAo+Pj4+IHRpbWUuIEEgYmx1ZSBmbGFzaCBvbiBhIEdQRCB3 aW4gYW5kIGEgeWVsbG93IGZsYXNoIG9uIGFuIEFzdXMgVDEwMEhBLgo+Pj4+Cj4+Pj4gVGhlIHBy b2JsZW0gaXMgdGhhdCBzaW5jZSB0aGlzIGNoYW5nZSwgdGhlIExVVCBpcyBwcm9ncmFtbWVkIGFm dGVyIHRoZQo+Pj4+IHdyaXRlICphbmQgbGF0Y2hpbmcqIG9mIHRoZSBkb3VibGUtYnVmZmVyZWQg cmVnaXN0ZXIgd2hpY2ggY2F1c2VzIHRoZSBMVVQKPj4+PiB0byBiZSB1c2VkIHN0YXJ0aW5nIGF0 IHRoZSBuZXh0IGZyYW1lLiBUaGlzIG1lYW5zIHRoYXQgdGhlIG9sZCBMVVQgaXMgc3RpbGwKPj4+ PiB1c2VkIGZvciB0aGUgZmlyc3QgY291cGxlIG9mIGxpbmVzIG9mIHRoZSBkaXNwbGF5LiBJZiBu byBMVVQgd2FzIGluIHVzZQo+Pj4+IGJlZm9yZSB0aGVuIHRoZSBMVVQgcmVnaXN0ZXJzIG1heSBj b250YWluIGJvZ3VzIHZhbHVlcy4gVGhpcyBsZWFkcyB0bwo+Pj4+IG1lc3NlZCB1cCBjb2xvcnMg dW50aWwgdGhlIG5ldyBMVVQgdmFsdWVzIGFyZSB3cml0dGVuLiBBdCBsZWFzdCBvbiBDSFQgRFNJ Cj4+Pj4gcGFuZWxzIHRoaXMgY2F1c2VzIG1lc3NlZCB1cCBjb2xvcnMgb24gdGhlIGZpcnN0IGZl dyBsaW5lcy4KPj4+Pgo+Pj4+IFRoaXMgY29tbWl0IGZpeGVzIHRoaXMgYnkgYWRkaW5nIGEgbG9h ZF9sdXRfYmVmb3JlX2NvbW1pdCBib29sZWFuLAo+Pj4+IG1vZGlmeWluZyBpbnRlbF9iZWdpbl9j cnRjX2NvbW1pdCB0byBsb2FkIHRoZSBsdXRzIGVhcmxpZXIgaWYgdGhpcyBpcyBzZXQsCj4+Pj4g YW5kIHNldHRpbmcgdGhpcyBmcm9tIGludGVsX2NvbG9yX2NoZWNrIHdoZW4gYSBMVVQgdGFibGUg d2FzIG5vdCBpbiB1c2UKPj4+PiBiZWZvcmUgKGFuZCB0aHVzIG1heSBjb250YWluIGJvZ3VzIHZh bHVlcyksIG9yIHdoZW4gdGhlIHRhYmxlIHNpemUKPj4+PiBjaGFuZ2VzLgo+Pj4KPj4+IFRoZSBy ZWFsIHNvbHV0aW9uIGlzIHZibGFuayB3b3JrZXJzLCB3aGljaCBJIGhhdmUgc29tZXdoYXQgaW1w bGVtZW50ZWQKPj4+IGhlcmU6Cj4+PiBnaXQ6Ly9naXRodWIuY29tL3ZzeXJqYWxhL2xpbnV4Lmdp dCB2Ymxhbmtfd29ya2VyXzhfa3RocmVhZAo+Pj4KPj4+IFRob3VnaCBldmVuIHdpdGggdGhlIHFv cyB0cmlja3MgdGhlcmUgd2Ugc3RpbGwgcHJvYmFibHkgY2FuJ3QgcXVpdGUgbWFrZQo+Pj4gaXQg aW4gdGltZS4gRXNzZW50aWFsbHkgd2UgaGF2ZSBhIGJpdCBsZXNzIHRoYW4gb25lIHNjYW5saW5l IGFmdGVyIHN0YXJ0Cj4+PiBvZiB2YmxhbmsgdG8gZG8gdGhlIHdvcmsgYmVmb3JlIHBpeGVscyBz dGFydCB0byBmbG93IHRocm91Z2ggdGhlIHBpcGUuCj4+PiBXZSBtaWdodCBiZSBleHRlbmQgdGhh dCB0byBhbG1vc3QgZm91ciBzY2FubGluZXMgYnV0IHRoYXQgcGFydG9jdWxhcgo+Pj4gdGhpbmcg aXMgZG9jdW1ldGVkIGFzIGRlYnVnIGZlYXR1cmUgc28gbm90IHN1cmUgd2Ugc2hvdWxkIHJlYWxs eSB1c2UgaXQuCj4+PiBBbHNvIEkgZG9uJ3QgdGhpbmsgZm91ciBzY2FubGluZXMgaXMgYWx3YXlz IGVub3VnaCBlaXRoZXIuIFNvIGl0J3Mgc3RpbGwKPj4+IHZlcnkgbXVjaCBwb3NzaWJsZSB0aGF0 IHdlIGdldCB0aGUgZmlyc3QgMTAwIG9yIHNvIHBpeGVscyB3aXRoIHRoZSBvbGQgTFVULgo+Pgo+ PiBUaGFuayB5b3UgZm9yIHRoZSBpbmZvIGFuZCBmb3IgdGhlIHJldmlldy4KPj4KPj4KPj4+PiBG aXhlczogMDUxYTZkOGQzY2EwICgiZHJtL2k5MTU6IE1vdmUgTFVUIHByb2dyYW1taW5nIHRvIGhh cHBlbiBhZnRlciB2Ymxhbmsgd2FpdHMiKQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29l ZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4+Pj4gLS0tCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKwo+ Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8ICA3 ICsrKysrCj4+Pj4gICAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5o ICAgIHwgIDMgKysrCj4+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspCj4+ Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9j b2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4g aW5kZXggNzFhMDIwMTQzN2E5Li4wZGE2ZGNjNWJlYmQgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4gQEAgLTEwNTIsNiArMTA1Miwz MiBAQCBpbnRlbF9jb2xvcl9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpuZXdfY3J0Y19zdGF0ZSkKPj4+PiAgICAJCW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGxh bmVzIHw9IEJJVChwbGFuZS0+aWQpOwo+Pj4+ICAgIAl9Cj4+Pj4gICAgCj4+Pj4gKwkvKgo+Pj4+ ICsJICogTm9ybWFsbHkgd2UgbG9hZCB0aGUgTFVUcyBhZnRlciB2YmxhbmsgLyBhZnRlciB0aGUg ZG91YmxlLWJ1ZmZlcgo+Pj4+ICsJICogcmVnaXN0ZXJzIHdyaXR0ZW4gYnkgY29tbWl0IGhhdmUg YmVlbiBsYXRjaGVkLCB0aGlzIGF2b2lkcyBhCj4+Pj4gKwkgKiBnYW1tYSBjaGFuZ2UgbWlkLXdh eSB0aGUgc2NyZWVuLiBUaGlzIGRvZXMgbWVhbiB0aGF0IHRoZSBmaXJzdAo+Pj4+ICsJICogZmV3 IGxpbmVzIG9mIHRoZSBkaXNwbGF5IHdpbGwgKHNvbWV0aW1lcykgc3RpbGwgdXNlIHRoZSBvbGQK Pj4+PiArCSAqIHRhYmxlLiBUaGlzIGlzIGZpbmUgd2hlbiBjaGFuZ2luZyBhbiBleGlzdGluZyBM VVQsIGJ1dCBpZiB0aGlzCj4+Pj4gKwkgKiBpcyB0aGUgZmlyc3QgdGltZSB0aGUgTFVUIGdldHMg bG9hZGVkLCB0aGVuIHRoZSBodyBtYXkgY29udGFpbgo+Pj4+ICsJICogcmFuZG9tIHZhbHVlcywg Y2F1c2luZyB0aGUgZmlyc3QgbGluZXMgdG8gaGF2ZSBmdW5reSBjb2xvcnMuCj4+Pj4gKwkgKgo+ Pj4+ICsJICogU28gaWYgd2VyZSBlbmFibGluZyBhIExVVCBmb3IgdGhlIGZpcnN0IHRpbWUgb3Ig Y2hhbmdpbmcgdGhlIHRhYmxlCj4+Pj4gKwkgKiBzaXplLCB0aGVuIHdlIG11c3QgZG8gdGhpcyBi ZWZvcmUgdGhlIGNvbW1pdCB0byBhdm9pZCBjb3JydXB0aW5nCj4+Pj4gKwkgKiB0aGUgZmlyc3Qg bGluZXMgb2YgdGhlIGRpc3BsYXkuCj4+Pj4gKwkgKi8KPj4+PiArCWlmICghb2xkX2NydGNfc3Rh dGUtPmJhc2UuZ2FtbWFfbHV0ICYmIG5ld19jcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dCkKPj4+ PiArCQluZXdfY3J0Y19zdGF0ZS0+bG9hZF9sdXRfYmVmb3JlX2NvbW1pdCA9IHRydWU7Cj4+Pj4g KwllbHNlIGlmICghb2xkX2NydGNfc3RhdGUtPmJhc2UuZGVnYW1tYV9sdXQgJiYKPj4+PiArCQkg bmV3X2NydGNfc3RhdGUtPmJhc2UuZGVnYW1tYV9sdXQpCj4+Pj4gKwkJbmV3X2NydGNfc3RhdGUt PmxvYWRfbHV0X2JlZm9yZV9jb21taXQgPSB0cnVlOwo+Pj4+ICsJZWxzZSBpZiAob2xkX2NydGNf c3RhdGUtPmJhc2UuZ2FtbWFfbHV0ICYmCj4+Pj4gKwkJIG5ld19jcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCAmJgo+Pj4+ICsJCSBsdXRfaXNfbGVnYWN5KG9sZF9jcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCkgIT0KPj4+PiArCQkJbHV0X2lzX2xlZ2FjeShuZXdfY3J0Y19zdGF0ZS0+YmFzZS5n YW1tYV9sdXQpKQo+Pj4+ICsJCW5ld19jcnRjX3N0YXRlLT5sb2FkX2x1dF9iZWZvcmVfY29tbWl0 ID0gdHJ1ZTsKPj4+PiArCWVsc2UKPj4+PiArCQluZXdfY3J0Y19zdGF0ZS0+bG9hZF9sdXRfYmVm b3JlX2NvbW1pdCA9IGZhbHNlOwo+Pj4KPj4+IFRoZSAnbm8gZ2FtbWEgLT4geWVzIGdhbW1hJyB0 aGluZyBJIG1pZ2h0IGJlIHdpbGxpbmcgdG8gYWNjZXB0LiBUaGUgcmVzdAo+Pj4gbm90IHNvIG11 Y2guIEkgd2FzIGFscmVhZHkgcG9uZGVyaW5nIGFib3V0IHN1Y2ggb3B0aW1pemF0aW9ucyBmb3Ig dGhlCj4+PiBwbGFuZSBnYW1tYS9jc2Mgc3R1ZmYgaW4gbXkgdmJsYW5rIGJyYW5jaC4KPj4KPj4g T2ssIHNvIEkgY2FuIHN1Ym1pdCBhIHYyIGJhc2VkIG9uIGRpbnEgd2l0aCBvbmx5IHRoZQo+PiAJ aWYgKCFvbGRfY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQgJiYgbmV3X2NydGNfc3RhdGUtPmJh c2UuZ2FtbWFfbHV0KQo+PiBjaGVjaywgb3IKPj4KPj4+IEJ1dCBmb3IgdGhlIGZhc3Rib290IGNh c2UgSSB0aGluayB3aGF0IHdlIGNvdWxkIGRvIGlzIGp1c3Qgc2FuaXRpemUKPj4+IHRoZSBMVVQo cykgYWZ0ZXIgcmVhZG91dCBpZiBnYW1tYSB3YXNuJ3QgZW5hYmxlZCBieSB0aGUgQklPUy4KPj4K Pj4gV2UgY291bGQgZG8gdGhpcywgYnV0IHRoaXMgZmFsbHMgYSBiaXQgb3V0c2lkZSBvZiBteSBl eHBlcnRpc2UsIEkgd291bGQgYmUKPj4gbW9yZSB0aGVuIGhhcHB5IHRvIHRlc3QgYSBwYXRjaCBv biBvbmUgb2YgdGhlIG1hY2hpbmVzIHdoaWNoIG5lZWRzIHRoaXMKPj4gTFVUUyBzYW5pdGl6aW5n IHRob3VnaC4gSSBnZXQgYSB2ZXJ5IHZpc2libGUgZmxhc2ggb2YgYSBjb3VwbGUgb2YgYnJpZ2h0 Cj4+IGJsdWUgb3IgeWVsbG93ICgyIGRpZmZlcmVudCBtYWNoaW5lcykgb24gdGhlIHVwcGVyIGZl dyBsaW5lcyB0aGUgZmlyc3QKPj4gdGltZSB0aGUgZ2FtbWEgdGFibGUgZ2V0cyBsb2FkZWQsIHNv IHZlcmlmeWluZyB0aGF0IHRoZSBzYW5pdGF0aW9uIGtpY2tzCj4+IGluIGlzIGVhc3kuCj4gCj4g QWN0dWFsbHksIGhvdyByZWNlbnQgaXMgeW91ciBrZXJuZWw/Cj4gCj4gU29tZSBpc3N1ZXMgd2l0 aCB0aGUgZ2FtbWEgcmVhZG91dCB3ZXJlIGZpeGVkIHF1aXRlIHJlY2VudGx5Ogo+IDliMDAwYjQ3 Y2MxOCAoImRybS9pOTE1L2NvbG9yOiBmaXggYnJva2VuIGdhbW1hIHN0YXRlLWNoZWNrZXIgZHVy aW5nIGJvb3QiKQo+IGQ1MDM0MTI3NGQwMSAoImRybS9pOTE1L2NvbG9yOiBtb3ZlIGNoZWNrIG9m IGdhbW1hX2VuYWJsZSB0byBzcGVjaWZpYyBmdW5jL3BsYXRmb3JtIikKCkkgd2FzIHRlc3Rpbmcg d2l0aCA1LjQtcmMjIHdoaWNoIGRvZXMgbm90IGhhdmUgdGhlc2UgY29tbWl0cy4gSSd2ZSBzd2l0 Y2hlZAp0byBkaW5xIGJ1dCB0aGF0IGRvZXMgbm90IGhlbHAuCgo+IElmIHRob3NlIGRvbid0IGhl bHAgd2UgY291bGQgdHJ5IHRoZSBxdWljayBwYXRoIGFuZCBqdXN0IGJsYXN0IHRoZQo+IGdhbW1h IGZyb20gb3JiaXQgbGlrZSBzbzoKPiAKPiBAQCAtMTY3ODcsMTggKzE2Nzg3LDIzIEBAIHN0YXRp YyBpbnQgaW50ZWxfaW5pdGlhbF9jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkJ CWdvdG8gb3V0Owo+ICAgCQl9Cj4gICAKPiArCQkvKgo+ICsJCSAqIExldCdzIGp1c3QgdHVybiBv ZmYgdGhlIEJJT1MgbGVmdG92ZXIgTFVUKHMpLgo+ICsJCSAqCj4gKwkJICogRklYTUUgbWF5YmUg d2Ugc2hvdWxkbid0IGRvIHRoaXMsIGFuZCBpbnN0ZWFkCj4gKwkJICogd2Ugc2hvdWxkIGxldCBm Yl9oZWxwZXIvd2hhdGV2ZXIgcmVwbGFjZSB0aGUKPiArCQkgKiBMVVQocykgd2hlbiB0aGV5IHN0 YXJ0IHRvIGFjdHVhbGx5IHJlbmRlciBzdHVmZi4KPiArCQkgKiBCdXQgZm9yIG5vdyB3ZSBtYXkg Z2V0IGFuIHVnbHkgZmxhc2ggZHVlIHRvCj4gKwkJICogbm9uLWF0b21pYyBnYW1tYSB1cGRhdGVz Lgo+ICsJCSAqLwo+ICsJCWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmRl Z2FtbWFfbHV0LCBOVUxMKTsKPiArCQlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0 YXRlLT5nYW1tYV9sdXQsIE5VTEwpOwo+ICsJCWNydGNfc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdl ZCA9IHRydWU7Cj4gKwo+ICAgCQlpZiAoY3J0Y19zdGF0ZS0+YWN0aXZlKSB7Cj4gICAJCQlyZXQg PSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RhdGUsIGNydGMpOwo+ICAgCQkJaWYg KHJldCkKPiAgIAkJCQlnb3RvIG91dDsKPiAtCj4gLQkJCS8qCj4gLQkJCSAqIEZJWE1FIGhhY2sg dG8gZm9yY2UgYSBMVVQgdXBkYXRlIHRvIGF2b2lkIHRoZQo+IC0JCQkgKiBwbGFuZSB1cGRhdGUg Zm9yY2luZyB0aGUgcGlwZSBnYW1tYSBvbiB3aXRob3V0Cj4gLQkJCSAqIGhhdmluZyBhIHByb3Bl ciBMVVQgbG9hZGVkLiBSZW1vdmUgb25jZSB3ZQo+IC0JCQkgKiBoYXZlIHJlYWRvdXQgZm9yIHBp cGUgZ2FtbWEgZW5hYmxlLgo+IC0JCQkgKi8KPiAtCQkJY3J0Y19zdGF0ZS0+Y29sb3JfbWdtdF9j aGFuZ2VkID0gdHJ1ZTsKPiAgIAkJfQo+ICAgCX0KPiAKCk9rLCBJJ3ZlIGdpdmVuIHRoaXMgYSB0 cnksIGJ1dCB0aGlzIGFsc28gZG9lcyBub3QgaGVscCwgd2hpY2ggaXMgc29tZXdoYXQKZXhwZWN0 ZWQuIFdlIG9ubHkgbG9hZCB0aGUgTFVUIHdoZW4gY3J0Y19zdGF0ZS0+Z2FtbWFfbHV0ICE9IE5V TEwgc28KSSBiZWxpZXZlIHRoYXQgZXhwbGljaXRseSBzZXR0aW5nIHRvIE5VTEwgZnJvbSBpbnRl bF9pbml0aWFsX2NvbW1pdCgpIGRvZXMKbm90IG1ha2UgYSBkaWZmZXJlbmNlLCBhcyB0aGUgUElQ RUNPTkZfR0FNTUFfTU9ERSBiaXRzIGluIHRoZSBQSVBFQ09ORiByZWdpc3RlcgphcmUgYWxyZWFk eSBzZXQgdG8gZGlzYWJsZWQuCgpJZiBhbnl0aGluZyB3ZSBzaG91bGQgZm9yY2UgbG9hZCBhIGxp bmVhciBnYW1tYSB0YWJsZSB0byB0aGUgcGlwZSdzIExVVCBhdApwcm9iZSB0aW1lIHdoZW4gZ2Ft bWEgd2FzIG5vdCBlbmFibGVkIGJ5IHRoZSBHT1AsIHJhdGhlciB0aGVuIHNldHRpbmcgdGhlCmdh bW1hX2x1dCB0byBOVUxMLgoKTXkgdGhlb3J5IGlzIHRoYXQgdGhlIExVVCBpcyAqbm90KiB1c2Vk IGJ5IHRoZSBHT1Agc28gY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlCmlzIGluaXRpYWxseSBmYWxz ZS4gVGhlIHByb2JsZW0gaGFwcGVucyB3aGVuIHVzZXJzcGFjZSB0aGVuIGFjdHVhbGx5IHNldHMK dGhlIGdhbW1hX2x1dCBibG9iLiBNeSB0aGVvcnkgaXMgYXMgZm9sbG93czoKCjEuIEdPUCBpbml0 aWFsaXplcyBEU0kgcGFuZWwgb24gQ0hULCBkb2VzIG5vdCB1c2UgdGhlICJsZWdhY3kgZ2FtbWEg TFVUIgoyLiBpOTE1IGRyaXZlciBsb2FkcywgYWxsIGlzIHdlbGwKMy4gcGx5bW91dGggZG9lcyBh IGRybU1vZGVDcnRjU2V0R2FtbWEKNC4gaW50ZWxfY29sb3IuYyBzZXRzIGNydGNfc3RhdGUtPmdh bW1hX2VuYWJsZSB0byB0cnVlIG9uIHRoZSBjb21taXQKNS4gU2luY2UgY29tbWl0IDA1MWE2ZDhk M2NhMCAoImRybS9pOTE1OiBNb3ZlIExVVCBwcm9ncmFtbWluZyB0byBoYXBwZW4gYWZ0ZXIgdmJs YW5rIHdhaXRzIikKICAgIHdlIHByb2dyYW0gdGhlIGRvdWJsZS1idWZmZXJyZWQgUElQRUNPTkYg cmVnaXN0ZXIgd2hpY2ggaGFzIHRoZSBsZWdhY3kgZ2FtbWEgZW5hYmxlIGJpdAogICAgYmVmb3Jl IHRoZSB2Ymxhbms7CjYuIFdoaWxlIHdlIHVwbG9hZCB0aGUgbmV3IGxlZ2FjeSBnYW1tYSBMVVQg dmFsdWVzIGFmdGVyIHZibGFuay4KNy4gVGhpcyBjYXVzZXMgdGhlIGZpcnN0IGZldyBsaW5lcyBv ZiB0aGUgZnJhbWUgYWZ0ZXIgdGhlIHZibGFuayB0byB1c2UgdGhlIG9sZCBMVVQKICAgIHZhbHVl cyBhbmQgdGhlIG9sZCB2YWx1ZXMgYXBwZWFyIHRvIGNvbnRhaW4gbm9pc2UgKHRoaXMgc2VlbXMg dG8gYmUgdGhlIHNhbWUKICAgIG5vaXNlIGV2ZXJ5IGJvb3QgZ2l2ZW4gYSBjZXJ0YWluIG1vZGVs IGh3KS4gVGhpcyBub2lzZSBsZWFkcyB0byBhIGJyaWdodCBibHVlIG9yIHllbGxvdwogICAgKGRl cGVuZGluZyBvbiB0aGUgaHcpIGZsYXNoIGluIHRoZSBmaXJzdCBjb3VwbGUgb2YgbGluZXMuCgpJ IHdpbGwgc3VibWl0IGEgbmV3IHZlcnNpb24gb2YgbXkgcGF0Y2ggY2hlY2tpbmcgb25seSBnYW1t YV9lbmFibGUgYXMgeW91IHJlcXVlc3RlZCwKdGhlbiB3ZSdsbCBzZWUgZnJvbSB0aGVyZS4KClJl Z2FyZHMsCgpIYW5zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng= 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 X-Spam-Level: X-Spam-Status: No, score=-13.2 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI, MENTIONS_GIT_HOSTING,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id D46D1CA9EC0 for ; Mon, 28 Oct 2019 18:56:19 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id BAEE1208C0 for ; Mon, 28 Oct 2019 18:56:19 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BAEE1208C0 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=redhat.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 48EC36E147; Mon, 28 Oct 2019 18:56:19 +0000 (UTC) Received: from us-smtp-1.mimecast.com (us-smtp-1.mimecast.com [205.139.110.61]) by gabe.freedesktop.org (Postfix) with ESMTPS id F20C56E147 for ; Mon, 28 Oct 2019 18:56:17 +0000 (UTC) Received: from mail-wr1-f70.google.com (mail-wr1-f70.google.com [209.85.221.70]) (Using TLS) by relay.mimecast.com with ESMTP id us-mta-6-JOzNJ6SWMUaPhPVYye4iag-1; Mon, 28 Oct 2019 14:56:14 -0400 Received: by mail-wr1-f70.google.com with SMTP id s17so6913417wrp.17 for ; Mon, 28 Oct 2019 11:56:14 -0700 (PDT) X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:subject:to:cc:references:from:message-id:date :user-agent:mime-version:in-reply-to:content-language :content-transfer-encoding; bh=j/bEdGyGsPwLPJO2fq+k4dm0VylHSfTrDfNNMmTtVJY=; b=Jcu4Yqp76BRHwjvuHjXqJ8VyRBOKcIDGei6NBdyXxDqEOXkoZ/Gk+JnhHm3xiOAAai jZLOzJnzVFTreht9zT1x7x2ju3UtwySHjCtSg8e5X6qMYAf7lSFD5XZp0LAd8mHh+Qtx /b1R2nqWmPaXvQzscWS7To9mn4JZ7RlZcb15mDygowZ5wAuZ5mI6Gh3ABHsbOFzkXM0r bTv7VmYy3aabZlVwlvmg521QtgHNMnTlruNpstaSKVBS1s0eD50YZhDiNJhc9ONGo+tu JWv4hskzomPQDJ19VsHAKWyp8ul/ZP7TPBnRcaiXDiQ22cqYcRAUXOyHGnJexWbsPOIA MnFA== X-Gm-Message-State: APjAAAVVAEFwHuPxXSpnWF4m7vZNBm0Z7dgPM4b2wusCdSJozy0BVdJW FSpm434cLRpJDO3qB64j5zWXZIR9q8gOOW+i3ItzXjkArEdSKLJBmQ094zRyKsSDiI9B08hNuP2 5NBJ/tYe/RRZ/rfYtAvsbFvYm1yJf X-Received: by 2002:adf:fe10:: with SMTP id n16mr17294454wrr.288.1572288973533; Mon, 28 Oct 2019 11:56:13 -0700 (PDT) X-Google-Smtp-Source: APXvYqzgbkcMkZ/lCBr5SpYnvS1rg/DmcZGfVzlYLhSvJw/9Sbvkb3SNMvC4EN6CIyCVPP9e+hr/gA== X-Received: by 2002:adf:fe10:: with SMTP id n16mr17294429wrr.288.1572288973183; Mon, 28 Oct 2019 11:56:13 -0700 (PDT) Received: from shalem.localdomain (2001-1c00-0c14-2800-ec23-a060-24d5-2453.cable.dynamic.v6.ziggo.nl. [2001:1c00:c14:2800:ec23:a060:24d5:2453]) by smtp.gmail.com with ESMTPSA id v11sm11696860wrw.97.2019.10.28.11.56.12 (version=TLS1_3 cipher=TLS_AES_128_GCM_SHA256 bits=128/128); Mon, 28 Oct 2019 11:56:12 -0700 (PDT) To: =?UTF-8?B?VmlsbGUgU3lyasOkbMOk?= References: <20191020181933.54829-1-hdegoede@redhat.com> <20191021143948.GI1208@intel.com> <20191025194515.GJ1208@intel.com> From: Hans de Goede Message-ID: Date: Mon, 28 Oct 2019 19:56:11 +0100 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:68.0) Gecko/20100101 Thunderbird/68.1.1 MIME-Version: 1.0 In-Reply-To: <20191025194515.GJ1208@intel.com> Content-Language: en-US X-MC-Unique: JOzNJ6SWMUaPhPVYye4iag-1 X-Mimecast-Spam-Score: 0 X-Mailman-Original-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=redhat.com; s=mimecast20190719; t=1572288976; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=b/N36IGZQw33iG7ThbkZyILonjRpgyLKNIvhY8yUdAE=; b=UyaQL69QlayHkgO/6pyaK6ZStsWz9g55mWUUjVXIPo4SbJo0JObJ3+ujeQjjMrkqMiRpWn VwnkUQTF1Oqm3ZgeXkG2C/ekWBxG9ODDOZIQLN+JVCA4tDBZ6Q1nObB0vICMuBdBwUOl4y Wvl484k2XXLwCOXSv7e9dHQm7rUlhHY= Subject: Re: [Intel-gfx] [PATCH] drm/i915: Program LUT before intel_color_commit() if LUT was not previously set X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: intel-gfx , dri-devel@lists.freedesktop.org Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191028185611.SV_83gqvZykNRz2m-QfPIHH17WFbBpcEkiEOddgIcZw@z> SGksCgpPbiAyNS0xMC0yMDE5IDIxOjQ1LCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6Cj4gT24gRnJp LCBPY3QgMjUsIDIwMTkgYXQgMDk6MjM6NDdQTSArMDIwMCwgSGFucyBkZSBHb2VkZSB3cm90ZToK Pj4gSGksCj4+Cj4+IE9uIDIxLTEwLTIwMTkgMTY6MzksIFZpbGxlIFN5cmrDpGzDpCB3cm90ZToK Pj4+IE9uIFN1biwgT2N0IDIwLCAyMDE5IGF0IDA4OjE5OjMzUE0gKzAyMDAsIEhhbnMgZGUgR29l ZGUgd3JvdGU6Cj4+Pj4gU2luY2UgY29tbWl0IDA1MWE2ZDhkM2NhMCAoImRybS9pOTE1OiBNb3Zl IExVVCBwcm9ncmFtbWluZyB0byBoYXBwZW4gYWZ0ZXIKPj4+PiB2Ymxhbmsgd2FpdHMiKSwgSSBh bSBzZWVpbmcgYW4gdWdseSBjb2xvcmVkIGZsYXNoIG9mIHRoZSBmaXJzdCBmZXcgZGlzcGxheQo+ Pj4+IGxpbmVzIG9uIDIgQ2hlcnJ5IFRyYWlsIGRldmljZXMgd2hlbiB0aGUgZ2FtbWEgdGFibGUg Z2V0cyBzZXQgZm9yIHRoZSBmaXJzdAo+Pj4+IHRpbWUuIEEgYmx1ZSBmbGFzaCBvbiBhIEdQRCB3 aW4gYW5kIGEgeWVsbG93IGZsYXNoIG9uIGFuIEFzdXMgVDEwMEhBLgo+Pj4+Cj4+Pj4gVGhlIHBy b2JsZW0gaXMgdGhhdCBzaW5jZSB0aGlzIGNoYW5nZSwgdGhlIExVVCBpcyBwcm9ncmFtbWVkIGFm dGVyIHRoZQo+Pj4+IHdyaXRlICphbmQgbGF0Y2hpbmcqIG9mIHRoZSBkb3VibGUtYnVmZmVyZWQg cmVnaXN0ZXIgd2hpY2ggY2F1c2VzIHRoZSBMVVQKPj4+PiB0byBiZSB1c2VkIHN0YXJ0aW5nIGF0 IHRoZSBuZXh0IGZyYW1lLiBUaGlzIG1lYW5zIHRoYXQgdGhlIG9sZCBMVVQgaXMgc3RpbGwKPj4+ PiB1c2VkIGZvciB0aGUgZmlyc3QgY291cGxlIG9mIGxpbmVzIG9mIHRoZSBkaXNwbGF5LiBJZiBu byBMVVQgd2FzIGluIHVzZQo+Pj4+IGJlZm9yZSB0aGVuIHRoZSBMVVQgcmVnaXN0ZXJzIG1heSBj b250YWluIGJvZ3VzIHZhbHVlcy4gVGhpcyBsZWFkcyB0bwo+Pj4+IG1lc3NlZCB1cCBjb2xvcnMg dW50aWwgdGhlIG5ldyBMVVQgdmFsdWVzIGFyZSB3cml0dGVuLiBBdCBsZWFzdCBvbiBDSFQgRFNJ Cj4+Pj4gcGFuZWxzIHRoaXMgY2F1c2VzIG1lc3NlZCB1cCBjb2xvcnMgb24gdGhlIGZpcnN0IGZl dyBsaW5lcy4KPj4+Pgo+Pj4+IFRoaXMgY29tbWl0IGZpeGVzIHRoaXMgYnkgYWRkaW5nIGEgbG9h ZF9sdXRfYmVmb3JlX2NvbW1pdCBib29sZWFuLAo+Pj4+IG1vZGlmeWluZyBpbnRlbF9iZWdpbl9j cnRjX2NvbW1pdCB0byBsb2FkIHRoZSBsdXRzIGVhcmxpZXIgaWYgdGhpcyBpcyBzZXQsCj4+Pj4g YW5kIHNldHRpbmcgdGhpcyBmcm9tIGludGVsX2NvbG9yX2NoZWNrIHdoZW4gYSBMVVQgdGFibGUg d2FzIG5vdCBpbiB1c2UKPj4+PiBiZWZvcmUgKGFuZCB0aHVzIG1heSBjb250YWluIGJvZ3VzIHZh bHVlcyksIG9yIHdoZW4gdGhlIHRhYmxlIHNpemUKPj4+PiBjaGFuZ2VzLgo+Pj4KPj4+IFRoZSBy ZWFsIHNvbHV0aW9uIGlzIHZibGFuayB3b3JrZXJzLCB3aGljaCBJIGhhdmUgc29tZXdoYXQgaW1w bGVtZW50ZWQKPj4+IGhlcmU6Cj4+PiBnaXQ6Ly9naXRodWIuY29tL3ZzeXJqYWxhL2xpbnV4Lmdp dCB2Ymxhbmtfd29ya2VyXzhfa3RocmVhZAo+Pj4KPj4+IFRob3VnaCBldmVuIHdpdGggdGhlIHFv cyB0cmlja3MgdGhlcmUgd2Ugc3RpbGwgcHJvYmFibHkgY2FuJ3QgcXVpdGUgbWFrZQo+Pj4gaXQg aW4gdGltZS4gRXNzZW50aWFsbHkgd2UgaGF2ZSBhIGJpdCBsZXNzIHRoYW4gb25lIHNjYW5saW5l IGFmdGVyIHN0YXJ0Cj4+PiBvZiB2YmxhbmsgdG8gZG8gdGhlIHdvcmsgYmVmb3JlIHBpeGVscyBz dGFydCB0byBmbG93IHRocm91Z2ggdGhlIHBpcGUuCj4+PiBXZSBtaWdodCBiZSBleHRlbmQgdGhh dCB0byBhbG1vc3QgZm91ciBzY2FubGluZXMgYnV0IHRoYXQgcGFydG9jdWxhcgo+Pj4gdGhpbmcg aXMgZG9jdW1ldGVkIGFzIGRlYnVnIGZlYXR1cmUgc28gbm90IHN1cmUgd2Ugc2hvdWxkIHJlYWxs eSB1c2UgaXQuCj4+PiBBbHNvIEkgZG9uJ3QgdGhpbmsgZm91ciBzY2FubGluZXMgaXMgYWx3YXlz IGVub3VnaCBlaXRoZXIuIFNvIGl0J3Mgc3RpbGwKPj4+IHZlcnkgbXVjaCBwb3NzaWJsZSB0aGF0 IHdlIGdldCB0aGUgZmlyc3QgMTAwIG9yIHNvIHBpeGVscyB3aXRoIHRoZSBvbGQgTFVULgo+Pgo+ PiBUaGFuayB5b3UgZm9yIHRoZSBpbmZvIGFuZCBmb3IgdGhlIHJldmlldy4KPj4KPj4KPj4+PiBG aXhlczogMDUxYTZkOGQzY2EwICgiZHJtL2k5MTU6IE1vdmUgTFVUIHByb2dyYW1taW5nIHRvIGhh cHBlbiBhZnRlciB2Ymxhbmsgd2FpdHMiKQo+Pj4+IFNpZ25lZC1vZmYtYnk6IEhhbnMgZGUgR29l ZGUgPGhkZWdvZWRlQHJlZGhhdC5jb20+Cj4+Pj4gLS0tCj4+Pj4gICAgZHJpdmVycy9ncHUvZHJt L2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jICAgIHwgMjYgKysrKysrKysrKysrKysrKysrKwo+ Pj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jICB8ICA3 ICsrKysrCj4+Pj4gICAgLi4uL2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheV90eXBlcy5o ICAgIHwgIDMgKysrCj4+Pj4gICAgMyBmaWxlcyBjaGFuZ2VkLCAzNiBpbnNlcnRpb25zKCspCj4+ Pj4KPj4+PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9j b2xvci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4g aW5kZXggNzFhMDIwMTQzN2E5Li4wZGE2ZGNjNWJlYmQgMTAwNjQ0Cj4+Pj4gLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9jb2xvci5jCj4+Pj4gQEAgLTEwNTIsNiArMTA1Miwz MiBAQCBpbnRlbF9jb2xvcl9hZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpuZXdfY3J0Y19zdGF0ZSkKPj4+PiAgICAJCW5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGxh bmVzIHw9IEJJVChwbGFuZS0+aWQpOwo+Pj4+ICAgIAl9Cj4+Pj4gICAgCj4+Pj4gKwkvKgo+Pj4+ ICsJICogTm9ybWFsbHkgd2UgbG9hZCB0aGUgTFVUcyBhZnRlciB2YmxhbmsgLyBhZnRlciB0aGUg ZG91YmxlLWJ1ZmZlcgo+Pj4+ICsJICogcmVnaXN0ZXJzIHdyaXR0ZW4gYnkgY29tbWl0IGhhdmUg YmVlbiBsYXRjaGVkLCB0aGlzIGF2b2lkcyBhCj4+Pj4gKwkgKiBnYW1tYSBjaGFuZ2UgbWlkLXdh eSB0aGUgc2NyZWVuLiBUaGlzIGRvZXMgbWVhbiB0aGF0IHRoZSBmaXJzdAo+Pj4+ICsJICogZmV3 IGxpbmVzIG9mIHRoZSBkaXNwbGF5IHdpbGwgKHNvbWV0aW1lcykgc3RpbGwgdXNlIHRoZSBvbGQK Pj4+PiArCSAqIHRhYmxlLiBUaGlzIGlzIGZpbmUgd2hlbiBjaGFuZ2luZyBhbiBleGlzdGluZyBM VVQsIGJ1dCBpZiB0aGlzCj4+Pj4gKwkgKiBpcyB0aGUgZmlyc3QgdGltZSB0aGUgTFVUIGdldHMg bG9hZGVkLCB0aGVuIHRoZSBodyBtYXkgY29udGFpbgo+Pj4+ICsJICogcmFuZG9tIHZhbHVlcywg Y2F1c2luZyB0aGUgZmlyc3QgbGluZXMgdG8gaGF2ZSBmdW5reSBjb2xvcnMuCj4+Pj4gKwkgKgo+ Pj4+ICsJICogU28gaWYgd2VyZSBlbmFibGluZyBhIExVVCBmb3IgdGhlIGZpcnN0IHRpbWUgb3Ig Y2hhbmdpbmcgdGhlIHRhYmxlCj4+Pj4gKwkgKiBzaXplLCB0aGVuIHdlIG11c3QgZG8gdGhpcyBi ZWZvcmUgdGhlIGNvbW1pdCB0byBhdm9pZCBjb3JydXB0aW5nCj4+Pj4gKwkgKiB0aGUgZmlyc3Qg bGluZXMgb2YgdGhlIGRpc3BsYXkuCj4+Pj4gKwkgKi8KPj4+PiArCWlmICghb2xkX2NydGNfc3Rh dGUtPmJhc2UuZ2FtbWFfbHV0ICYmIG5ld19jcnRjX3N0YXRlLT5iYXNlLmdhbW1hX2x1dCkKPj4+ PiArCQluZXdfY3J0Y19zdGF0ZS0+bG9hZF9sdXRfYmVmb3JlX2NvbW1pdCA9IHRydWU7Cj4+Pj4g KwllbHNlIGlmICghb2xkX2NydGNfc3RhdGUtPmJhc2UuZGVnYW1tYV9sdXQgJiYKPj4+PiArCQkg bmV3X2NydGNfc3RhdGUtPmJhc2UuZGVnYW1tYV9sdXQpCj4+Pj4gKwkJbmV3X2NydGNfc3RhdGUt PmxvYWRfbHV0X2JlZm9yZV9jb21taXQgPSB0cnVlOwo+Pj4+ICsJZWxzZSBpZiAob2xkX2NydGNf c3RhdGUtPmJhc2UuZ2FtbWFfbHV0ICYmCj4+Pj4gKwkJIG5ld19jcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCAmJgo+Pj4+ICsJCSBsdXRfaXNfbGVnYWN5KG9sZF9jcnRjX3N0YXRlLT5iYXNlLmdh bW1hX2x1dCkgIT0KPj4+PiArCQkJbHV0X2lzX2xlZ2FjeShuZXdfY3J0Y19zdGF0ZS0+YmFzZS5n YW1tYV9sdXQpKQo+Pj4+ICsJCW5ld19jcnRjX3N0YXRlLT5sb2FkX2x1dF9iZWZvcmVfY29tbWl0 ID0gdHJ1ZTsKPj4+PiArCWVsc2UKPj4+PiArCQluZXdfY3J0Y19zdGF0ZS0+bG9hZF9sdXRfYmVm b3JlX2NvbW1pdCA9IGZhbHNlOwo+Pj4KPj4+IFRoZSAnbm8gZ2FtbWEgLT4geWVzIGdhbW1hJyB0 aGluZyBJIG1pZ2h0IGJlIHdpbGxpbmcgdG8gYWNjZXB0LiBUaGUgcmVzdAo+Pj4gbm90IHNvIG11 Y2guIEkgd2FzIGFscmVhZHkgcG9uZGVyaW5nIGFib3V0IHN1Y2ggb3B0aW1pemF0aW9ucyBmb3Ig dGhlCj4+PiBwbGFuZSBnYW1tYS9jc2Mgc3R1ZmYgaW4gbXkgdmJsYW5rIGJyYW5jaC4KPj4KPj4g T2ssIHNvIEkgY2FuIHN1Ym1pdCBhIHYyIGJhc2VkIG9uIGRpbnEgd2l0aCBvbmx5IHRoZQo+PiAJ aWYgKCFvbGRfY3J0Y19zdGF0ZS0+YmFzZS5nYW1tYV9sdXQgJiYgbmV3X2NydGNfc3RhdGUtPmJh c2UuZ2FtbWFfbHV0KQo+PiBjaGVjaywgb3IKPj4KPj4+IEJ1dCBmb3IgdGhlIGZhc3Rib290IGNh c2UgSSB0aGluayB3aGF0IHdlIGNvdWxkIGRvIGlzIGp1c3Qgc2FuaXRpemUKPj4+IHRoZSBMVVQo cykgYWZ0ZXIgcmVhZG91dCBpZiBnYW1tYSB3YXNuJ3QgZW5hYmxlZCBieSB0aGUgQklPUy4KPj4K Pj4gV2UgY291bGQgZG8gdGhpcywgYnV0IHRoaXMgZmFsbHMgYSBiaXQgb3V0c2lkZSBvZiBteSBl eHBlcnRpc2UsIEkgd291bGQgYmUKPj4gbW9yZSB0aGVuIGhhcHB5IHRvIHRlc3QgYSBwYXRjaCBv biBvbmUgb2YgdGhlIG1hY2hpbmVzIHdoaWNoIG5lZWRzIHRoaXMKPj4gTFVUUyBzYW5pdGl6aW5n IHRob3VnaC4gSSBnZXQgYSB2ZXJ5IHZpc2libGUgZmxhc2ggb2YgYSBjb3VwbGUgb2YgYnJpZ2h0 Cj4+IGJsdWUgb3IgeWVsbG93ICgyIGRpZmZlcmVudCBtYWNoaW5lcykgb24gdGhlIHVwcGVyIGZl dyBsaW5lcyB0aGUgZmlyc3QKPj4gdGltZSB0aGUgZ2FtbWEgdGFibGUgZ2V0cyBsb2FkZWQsIHNv IHZlcmlmeWluZyB0aGF0IHRoZSBzYW5pdGF0aW9uIGtpY2tzCj4+IGluIGlzIGVhc3kuCj4gCj4g QWN0dWFsbHksIGhvdyByZWNlbnQgaXMgeW91ciBrZXJuZWw/Cj4gCj4gU29tZSBpc3N1ZXMgd2l0 aCB0aGUgZ2FtbWEgcmVhZG91dCB3ZXJlIGZpeGVkIHF1aXRlIHJlY2VudGx5Ogo+IDliMDAwYjQ3 Y2MxOCAoImRybS9pOTE1L2NvbG9yOiBmaXggYnJva2VuIGdhbW1hIHN0YXRlLWNoZWNrZXIgZHVy aW5nIGJvb3QiKQo+IGQ1MDM0MTI3NGQwMSAoImRybS9pOTE1L2NvbG9yOiBtb3ZlIGNoZWNrIG9m IGdhbW1hX2VuYWJsZSB0byBzcGVjaWZpYyBmdW5jL3BsYXRmb3JtIikKCkkgd2FzIHRlc3Rpbmcg d2l0aCA1LjQtcmMjIHdoaWNoIGRvZXMgbm90IGhhdmUgdGhlc2UgY29tbWl0cy4gSSd2ZSBzd2l0 Y2hlZAp0byBkaW5xIGJ1dCB0aGF0IGRvZXMgbm90IGhlbHAuCgo+IElmIHRob3NlIGRvbid0IGhl bHAgd2UgY291bGQgdHJ5IHRoZSBxdWljayBwYXRoIGFuZCBqdXN0IGJsYXN0IHRoZQo+IGdhbW1h IGZyb20gb3JiaXQgbGlrZSBzbzoKPiAKPiBAQCAtMTY3ODcsMTggKzE2Nzg3LDIzIEBAIHN0YXRp YyBpbnQgaW50ZWxfaW5pdGlhbF9jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgIAkJ CWdvdG8gb3V0Owo+ICAgCQl9Cj4gICAKPiArCQkvKgo+ICsJCSAqIExldCdzIGp1c3QgdHVybiBv ZmYgdGhlIEJJT1MgbGVmdG92ZXIgTFVUKHMpLgo+ICsJCSAqCj4gKwkJICogRklYTUUgbWF5YmUg d2Ugc2hvdWxkbid0IGRvIHRoaXMsIGFuZCBpbnN0ZWFkCj4gKwkJICogd2Ugc2hvdWxkIGxldCBm Yl9oZWxwZXIvd2hhdGV2ZXIgcmVwbGFjZSB0aGUKPiArCQkgKiBMVVQocykgd2hlbiB0aGV5IHN0 YXJ0IHRvIGFjdHVhbGx5IHJlbmRlciBzdHVmZi4KPiArCQkgKiBCdXQgZm9yIG5vdyB3ZSBtYXkg Z2V0IGFuIHVnbHkgZmxhc2ggZHVlIHRvCj4gKwkJICogbm9uLWF0b21pYyBnYW1tYSB1cGRhdGVz Lgo+ICsJCSAqLwo+ICsJCWRybV9wcm9wZXJ0eV9yZXBsYWNlX2Jsb2IoJmNydGNfc3RhdGUtPmRl Z2FtbWFfbHV0LCBOVUxMKTsKPiArCQlkcm1fcHJvcGVydHlfcmVwbGFjZV9ibG9iKCZjcnRjX3N0 YXRlLT5nYW1tYV9sdXQsIE5VTEwpOwo+ICsJCWNydGNfc3RhdGUtPmNvbG9yX21nbXRfY2hhbmdl ZCA9IHRydWU7Cj4gKwo+ICAgCQlpZiAoY3J0Y19zdGF0ZS0+YWN0aXZlKSB7Cj4gICAJCQlyZXQg PSBkcm1fYXRvbWljX2FkZF9hZmZlY3RlZF9wbGFuZXMoc3RhdGUsIGNydGMpOwo+ICAgCQkJaWYg KHJldCkKPiAgIAkJCQlnb3RvIG91dDsKPiAtCj4gLQkJCS8qCj4gLQkJCSAqIEZJWE1FIGhhY2sg dG8gZm9yY2UgYSBMVVQgdXBkYXRlIHRvIGF2b2lkIHRoZQo+IC0JCQkgKiBwbGFuZSB1cGRhdGUg Zm9yY2luZyB0aGUgcGlwZSBnYW1tYSBvbiB3aXRob3V0Cj4gLQkJCSAqIGhhdmluZyBhIHByb3Bl ciBMVVQgbG9hZGVkLiBSZW1vdmUgb25jZSB3ZQo+IC0JCQkgKiBoYXZlIHJlYWRvdXQgZm9yIHBp cGUgZ2FtbWEgZW5hYmxlLgo+IC0JCQkgKi8KPiAtCQkJY3J0Y19zdGF0ZS0+Y29sb3JfbWdtdF9j aGFuZ2VkID0gdHJ1ZTsKPiAgIAkJfQo+ICAgCX0KPiAKCk9rLCBJJ3ZlIGdpdmVuIHRoaXMgYSB0 cnksIGJ1dCB0aGlzIGFsc28gZG9lcyBub3QgaGVscCwgd2hpY2ggaXMgc29tZXdoYXQKZXhwZWN0 ZWQuIFdlIG9ubHkgbG9hZCB0aGUgTFVUIHdoZW4gY3J0Y19zdGF0ZS0+Z2FtbWFfbHV0ICE9IE5V TEwgc28KSSBiZWxpZXZlIHRoYXQgZXhwbGljaXRseSBzZXR0aW5nIHRvIE5VTEwgZnJvbSBpbnRl bF9pbml0aWFsX2NvbW1pdCgpIGRvZXMKbm90IG1ha2UgYSBkaWZmZXJlbmNlLCBhcyB0aGUgUElQ RUNPTkZfR0FNTUFfTU9ERSBiaXRzIGluIHRoZSBQSVBFQ09ORiByZWdpc3RlcgphcmUgYWxyZWFk eSBzZXQgdG8gZGlzYWJsZWQuCgpJZiBhbnl0aGluZyB3ZSBzaG91bGQgZm9yY2UgbG9hZCBhIGxp bmVhciBnYW1tYSB0YWJsZSB0byB0aGUgcGlwZSdzIExVVCBhdApwcm9iZSB0aW1lIHdoZW4gZ2Ft bWEgd2FzIG5vdCBlbmFibGVkIGJ5IHRoZSBHT1AsIHJhdGhlciB0aGVuIHNldHRpbmcgdGhlCmdh bW1hX2x1dCB0byBOVUxMLgoKTXkgdGhlb3J5IGlzIHRoYXQgdGhlIExVVCBpcyAqbm90KiB1c2Vk IGJ5IHRoZSBHT1Agc28gY3J0Y19zdGF0ZS0+Z2FtbWFfZW5hYmxlCmlzIGluaXRpYWxseSBmYWxz ZS4gVGhlIHByb2JsZW0gaGFwcGVucyB3aGVuIHVzZXJzcGFjZSB0aGVuIGFjdHVhbGx5IHNldHMK dGhlIGdhbW1hX2x1dCBibG9iLiBNeSB0aGVvcnkgaXMgYXMgZm9sbG93czoKCjEuIEdPUCBpbml0 aWFsaXplcyBEU0kgcGFuZWwgb24gQ0hULCBkb2VzIG5vdCB1c2UgdGhlICJsZWdhY3kgZ2FtbWEg TFVUIgoyLiBpOTE1IGRyaXZlciBsb2FkcywgYWxsIGlzIHdlbGwKMy4gcGx5bW91dGggZG9lcyBh IGRybU1vZGVDcnRjU2V0R2FtbWEKNC4gaW50ZWxfY29sb3IuYyBzZXRzIGNydGNfc3RhdGUtPmdh bW1hX2VuYWJsZSB0byB0cnVlIG9uIHRoZSBjb21taXQKNS4gU2luY2UgY29tbWl0IDA1MWE2ZDhk M2NhMCAoImRybS9pOTE1OiBNb3ZlIExVVCBwcm9ncmFtbWluZyB0byBoYXBwZW4gYWZ0ZXIgdmJs YW5rIHdhaXRzIikKICAgIHdlIHByb2dyYW0gdGhlIGRvdWJsZS1idWZmZXJyZWQgUElQRUNPTkYg cmVnaXN0ZXIgd2hpY2ggaGFzIHRoZSBsZWdhY3kgZ2FtbWEgZW5hYmxlIGJpdAogICAgYmVmb3Jl IHRoZSB2Ymxhbms7CjYuIFdoaWxlIHdlIHVwbG9hZCB0aGUgbmV3IGxlZ2FjeSBnYW1tYSBMVVQg dmFsdWVzIGFmdGVyIHZibGFuay4KNy4gVGhpcyBjYXVzZXMgdGhlIGZpcnN0IGZldyBsaW5lcyBv ZiB0aGUgZnJhbWUgYWZ0ZXIgdGhlIHZibGFuayB0byB1c2UgdGhlIG9sZCBMVVQKICAgIHZhbHVl cyBhbmQgdGhlIG9sZCB2YWx1ZXMgYXBwZWFyIHRvIGNvbnRhaW4gbm9pc2UgKHRoaXMgc2VlbXMg dG8gYmUgdGhlIHNhbWUKICAgIG5vaXNlIGV2ZXJ5IGJvb3QgZ2l2ZW4gYSBjZXJ0YWluIG1vZGVs IGh3KS4gVGhpcyBub2lzZSBsZWFkcyB0byBhIGJyaWdodCBibHVlIG9yIHllbGxvdwogICAgKGRl cGVuZGluZyBvbiB0aGUgaHcpIGZsYXNoIGluIHRoZSBmaXJzdCBjb3VwbGUgb2YgbGluZXMuCgpJ IHdpbGwgc3VibWl0IGEgbmV3IHZlcnNpb24gb2YgbXkgcGF0Y2ggY2hlY2tpbmcgb25seSBnYW1t YV9lbmFibGUgYXMgeW91IHJlcXVlc3RlZCwKdGhlbiB3ZSdsbCBzZWUgZnJvbSB0aGVyZS4KClJl Z2FyZHMsCgpIYW5zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n Zng=