From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 06/13] drm/i915: Split color mgmt based on single vs. double buffered registers Date: Mon, 14 Jan 2019 16:56:31 -0800 Message-ID: <20190115005631.GE4563@mdroper-desk.amr.corp.intel.com> References: <20190111170823.4441-1-ville.syrjala@linux.intel.com> <20190111170823.4441-7-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 39E026E4C0 for ; Tue, 15 Jan 2019 00:56:32 +0000 (UTC) Content-Disposition: inline In-Reply-To: <20190111170823.4441-7-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ville Syrjala Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gRnJpLCBKYW4gMTEsIDIwMTkgYXQgMDc6MDg6MTZQTSArMDIwMCwgVmlsbGUgU3lyamFsYSB3 cm90ZToKPiBGcm9tOiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwu Y29tPgo+IAo+IFNwbGl0IHRoZSBjb2xvciBtYW5hZ2VtbnQgaG9va3MgYWxvbmcgdGhlIHNpbmds ZSB2cy4gZG91YmxlCj4gYnVmZmVyZWQgcmVnaXN0ZXJzIGxpbmUuIE9mIHRoZSBjdXJyZW50bHkg cHJvZ2FtbWVkIHJlZ2lzdGVycwo+IEdBTU1BX01PREUgYW5kIHRoZSBpbGsrIHBpcGUgQ1NDIGFy ZSBkb3VibGUgYnVmZmVyZWQsIHRoZQo+IExVVFMgYW5kIENIViBDR00gYmxvY2sgYXJlIHNpbmds ZSBidWZmZXJlZC4KPiAKPiBUaGUgZG91YmxlIGJ1ZmZlcmVkIHJlZ2lzdGVyIHdpbGwgYmUgcHJv Z3JhbW1lZCBkdXJpbmcgdGhlCj4gbm9ybWFsIHBpcGUgdXBkYXRlIHdpdGggZXZhc2lvbiwgYW5k IGFsc28gZHVyaW5nIHBpcGUgZW5hYmxlCj4gc28gdGhhdCB0aGUgc2V0dGluZ3Mgd2lsbCBhbHJl YWR5IGJlIGNvcnJlY3Qgd2hlbiB0aGUgcGlwZQo+IHN0YXJ0cyB1cCBiZWZvcmUgdGhlIHBsYW5l cyBhcmUgZW5hYmxlZC4KPiAKPiBUaGUgc2luZ2xlIGJ1ZmZlcmVkIHJlZ2lzdGVycyBhcmUgY3Vy cmVudGx5IHByb2dyYW1tZWQgYmVmb3JlCj4gdGhlIHZibGFuayBldmFkZS4gV2hpY2ggaXMgdG90 YWxseSB3cm9uZywgYnV0IHdlJ2xsIGNvcnJlY3QKPiB0aGF0IGxhdGVyLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICAyICstCj4gIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMgICB8IDQ5ICsrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIHwgMTYg KysrKystLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAyICst Cj4gIDQgZmlsZXMgY2hhbmdlZCwgMzQgaW5zZXJ0aW9ucygrKSwgMzUgZGVsZXRpb25zKC0pCj4g Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCj4gaW5kZXggNzE4MmE1ODAwMDJjLi4zNTQ4NThiMjAx OWIgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiBAQCAtMzIwLDcgKzMyMCw3IEBAIHN0 cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKPiAgCS8qIGRpc3BsYXkgY2xvY2sgaW5jcmVh c2UvZGVjcmVhc2UgKi8KPiAgCS8qIHBsbCBjbG9jayBpbmNyZWFzZS9kZWNyZWFzZSAqLwo+ICAK PiAtCXZvaWQgKCpsb2FkX2NzY19tYXRyaXgpKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKTsKPiArCXZvaWQgKCpjb2xvcl9jb21taXQpKGNvbnN0IHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAgCXZvaWQgKCpsb2FkX2x1dHMpKGNvbnN0IHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKCkxvZ2ljLXdpc2UgdGhpcyBwYXRj aCBsb29rcyBnb29kLCBidXQgd2Ugc2hvdWxkIHByb2JhYmx5IGFkZCBzb21lCmtlcm5lbGRvYyB0 byB0aGVzZSB0byBtYWtlIGl0IGNsZWFyIHRoYXQgY29sb3JfY29tbWl0KCkgaXMgcHJvZ3JhbW1p bmcKYW55dGhpbmcgdGhhdCdzIGV4cGVjdGVkIHRvIHRha2UgZWZmZWN0IGF0IHRoZSB2Ymxhbmss IGFuZCBsb2FkX2x1dHMoKQp0YWtlcyBlZmZlY3QgaW1tZWRpYXRlbHkgd2hlbiBjYWxsZWQuCgoK PiAgfTsKPiAgCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9y LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jCj4gaW5kZXggZGYzNTY3Njg2 YzQ1Li5mOWUwODU1MTYyZjMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfY29sb3IuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKPiBA QCAtMzA0LDE0ICszMDQsNiBAQCBzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfY3NjX21hdHJp eChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZQo+ICAJSTkxNV9XUklU RShDR01fUElQRV9NT0RFKHBpcGUpLCBtb2RlKTsKPiAgfQo+ICAKPiAtdm9pZCBpbnRlbF9jb2xv cl9zZXRfY3NjKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+IC17 Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGNfc3Rh dGUtPmJhc2UuY3J0Yy0+ZGV2KTsKPiAtCj4gLQlpZiAoZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9j c2NfbWF0cml4KQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfY3NjX21hdHJpeChjcnRjX3N0 YXRlKTsKPiAtfQo+IC0KPiAgLyogTG9hZHMgdGhlIGxlZ2FjeSBwYWxldHRlL2dhbW1hIHVuaXQg Zm9yIHRoZSBDUlRDLiAqLwo+ICBzdGF0aWMgdm9pZCBpOXh4X2xvYWRfbHV0c19pbnRlcm5hbChj b25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiAgCQkJCSAgICBjb25z dCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmJsb2IpCj4gQEAgLTM1OSw2ICszNTEsMTYgQEAg c3RhdGljIHZvaWQgaTl4eF9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KmNydGNfc3RhdGUpCj4gIAlpOXh4X2xvYWRfbHV0c19pbnRlcm5hbChjcnRjX3N0YXRlLCBjcnRj X3N0YXRlLT5iYXNlLmdhbW1hX2x1dCk7Cj4gIH0KPiAgCj4gK3N0YXRpYyB2b2lkIGhzd19jb2xv cl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gK3sK PiArCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjX3N0YXRlLT5i YXNlLmNydGMpOwo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShjcnRjLT5iYXNlLmRldik7Cj4gKwo+ICsJSTkxNV9XUklURShHQU1NQV9NT0RFKGNydGMtPnBp cGUpLCBjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKPiArCj4gKwlpbGtfbG9hZF9jc2NfbWF0cml4 KGNydGNfc3RhdGUpOwo+ICt9Cj4gKwo+ICAvKiBMb2FkcyB0aGUgbGVnYWN5IHBhbGV0dGUvZ2Ft bWEgdW5pdCBmb3IgdGhlIENSVEMgb24gSGFzd2VsbC4gKi8KPiAgc3RhdGljIHZvaWQgaGFzd2Vs bF9sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g IHsKPiBAQCAtMzc2LDggKzM3OCw2IEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfbG9hZF9sdXRzKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQo+ICAJCXJlZW5hYmxlX2lw cyA9IHRydWU7Cj4gIAl9Cj4gIAo+IC0JSTkxNV9XUklURShHQU1NQV9NT0RFKGNydGMtPnBpcGUp LCBjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKPiAtCj4gIAlpOXh4X2xvYWRfbHV0cyhjcnRjX3N0 YXRlKTsKPiAgCj4gIAlpZiAocmVlbmFibGVfaXBzKQo+IEBAIC00ODUsOCArNDg1LDYgQEAgc3Rh dGljIHZvaWQgYnJvYWR3ZWxsX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgCQkgKi8KPiAgCQlJOTE1X1dSSVRFKFBSRUNfUEFMX0lOREVYKHBp cGUpLCAwKTsKPiAgCX0KPiAtCj4gLQlJOTE1X1dSSVRFKEdBTU1BX01PREUocGlwZSksIGNydGNf c3RhdGUtPmdhbW1hX21vZGUpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBnbGtfbG9hZF9kZWdh bW1hX2x1dChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiBAQCAt NTM5LDggKzUzNyw2IEBAIHN0YXRpYyB2b2lkIGdsa19sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAkJICovCj4gIAkJSTkxNV9XUklURShQUkVD X1BBTF9JTkRFWChwaXBlKSwgMCk7Cj4gIAl9Cj4gLQo+IC0JSTkxNV9XUklURShHQU1NQV9NT0RF KHBpcGUpLCBjcnRjX3N0YXRlLT5nYW1tYV9tb2RlKTsKPiAgfQo+ICAKPiAgc3RhdGljIHZvaWQg Y2hlcnJ5dmlld19sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gQEAgLTU1MSwxMCArNTQ3LDkgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmlld19sb2Fk X2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIAljb25z dCBzdHJ1Y3QgZHJtX3Byb3BlcnR5X2Jsb2IgKmRlZ2FtbWFfbHV0ID0gY3J0Y19zdGF0ZS0+YmFz ZS5kZWdhbW1hX2x1dDsKPiAgCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKPiAgCj4gKwlj aGVycnl2aWV3X2xvYWRfY3NjX21hdHJpeChjcnRjX3N0YXRlKTsKPiArCgpNaWdodCBiZSB3b3J0 aCBhZGRpbmcgYSBjb21tZW50IGhlcmUgdG8gbm90ZSB0aGF0IENIVidzIENTQyBpcwpzaW5nbGUt YnVmZmVyZWQgc2luY2UgdGhpcyBpcyBkaWZmZXJlbnQgZnJvbSBvdXIgb3RoZXIgcGxhdGZvcm1z IGFuZApkb2Vzbid0IHNlZW0gdG8gYmUgc3BlbGxlZCBvdXQgYW55d2hlcmUgaW4gdGhlIGJzcGVj IHRoYXQgSSBjYW4gZmluZAplaXRoZXIuCgoKTWF0dAoKPiAgCWlmIChjcnRjX3N0YXRlX2lzX2xl Z2FjeV9nYW1tYShjcnRjX3N0YXRlKSkgewo+IC0JCS8qIFR1cm4gb2ZmIGRlZ2FtbWEvZ2FtbWEg b24gQ0dNIGJsb2NrLiAqLwo+IC0JCUk5MTVfV1JJVEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwKPiAt CQkJICAgKGNydGNfc3RhdGUtPmJhc2UuY3RtID8gQ0dNX1BJUEVfTU9ERV9DU0MgOiAwKSk7Cj4g IAkJaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY3J0Y19zdGF0ZSwgZ2FtbWFfbHV0KTsKPiAgCQly ZXR1cm47Cj4gIAl9Cj4gQEAgLTU5NSwxMSArNTkwLDYgQEAgc3RhdGljIHZvaWQgY2hlcnJ5dmll d19sb2FkX2x1dHMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g IAkJfQo+ICAJfQo+ICAKPiAtCUk5MTVfV1JJVEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwKPiAtCQkg ICAoY3J0Y19zdGF0ZS0+YmFzZS5jdG0gPyBDR01fUElQRV9NT0RFX0NTQyA6IDApIHwKPiAtCQkg ICAoZGVnYW1tYV9sdXQgPyBDR01fUElQRV9NT0RFX0RFR0FNTUEgOiAwKSB8Cj4gLQkJICAgKGdh bW1hX2x1dCA/IENHTV9QSVBFX01PREVfR0FNTUEgOiAwKSk7Cj4gLQo+ICAJLyoKPiAgCSAqIEFs c28gcHJvZ3JhbSBhIGxpbmVhciBMVVQgaW4gdGhlIGxlZ2FjeSBibG9jayAoYmVoaW5kIHRoZQo+ ICAJICogQ0dNIGJsb2NrKS4KPiBAQCAtNjE0LDYgKzYwNCwxNCBAQCB2b2lkIGludGVsX2NvbG9y X2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAg CWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyhjcnRjX3N0YXRlKTsKPiAgfQo+ICAKPiArdm9p ZCBpbnRlbF9jb2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpCj4gK3sKPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+ICsKPiArCWlmIChkZXZfcHJpdi0+ZGlz cGxheS5jb2xvcl9jb21taXQpCj4gKwkJZGV2X3ByaXYtPmRpc3BsYXkuY29sb3JfY29tbWl0KGNy dGNfc3RhdGUpOwo+ICt9Cj4gKwo+ICBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Y19zdGF0ZS0+YmFzZS5jcnRjLT5kZXYpOwo+IEBAIC02 NjAsMTggKzY1OCwxNyBAQCB2b2lkIGludGVsX2NvbG9yX2luaXQoc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIAlkcm1fbW9kZV9jcnRjX3NldF9nYW1tYV9zaXplKCZjcnRjLT5iYXNlLCAyNTYp Owo+ICAKPiAgCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+IC0JCWRldl9wcml2LT5k aXNwbGF5LmxvYWRfY3NjX21hdHJpeCA9IGNoZXJyeXZpZXdfbG9hZF9jc2NfbWF0cml4Owo+ICAJ CWRldl9wcml2LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGNoZXJyeXZpZXdfbG9hZF9sdXRzOwo+ICAJ fSBlbHNlIGlmIChJU19IQVNXRUxMKGRldl9wcml2KSkgewo+IC0JCWRldl9wcml2LT5kaXNwbGF5 LmxvYWRfY3NjX21hdHJpeCA9IGlsa19sb2FkX2NzY19tYXRyaXg7Cj4gIAkJZGV2X3ByaXYtPmRp c3BsYXkubG9hZF9sdXRzID0gaGFzd2VsbF9sb2FkX2x1dHM7Cj4gKwkJZGV2X3ByaXYtPmRpc3Bs YXkuY29sb3JfY29tbWl0ID0gaHN3X2NvbG9yX2NvbW1pdDsKPiAgCX0gZWxzZSBpZiAoSVNfQlJP QURXRUxMKGRldl9wcml2KSB8fCBJU19HRU45X0JDKGRldl9wcml2KSB8fAo+ICAJCSAgIElTX0JS T1hUT04oZGV2X3ByaXYpKSB7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXkubG9hZF9jc2NfbWF0cml4 ID0gaWxrX2xvYWRfY3NjX21hdHJpeDsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMg PSBicm9hZHdlbGxfbG9hZF9sdXRzOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmNvbG9yX2NvbW1p dCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gIAl9IGVsc2UgaWYgKElTX0dFTUlOSUxBS0UoZGV2X3By aXYpIHx8IElTX0NBTk5PTkxBS0UoZGV2X3ByaXYpKSB7Cj4gLQkJZGV2X3ByaXYtPmRpc3BsYXku bG9hZF9jc2NfbWF0cml4ID0gaWxrX2xvYWRfY3NjX21hdHJpeDsKPiAgCQlkZXZfcHJpdi0+ZGlz cGxheS5sb2FkX2x1dHMgPSBnbGtfbG9hZF9sdXRzOwo+ICsJCWRldl9wcml2LT5kaXNwbGF5LmNv bG9yX2NvbW1pdCA9IGhzd19jb2xvcl9jb21taXQ7Cj4gIAl9IGVsc2Ugewo+ICAJCWRldl9wcml2 LT5kaXNwbGF5LmxvYWRfbHV0cyA9IGk5eHhfbG9hZF9sdXRzOwo+ICAJfQo+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCBhMzg3MWRiNDcwM2IuLjk2Yzc4NTY2YjhlNiAx MDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBAQCAtNTcwNSw2ICs1NzA1 LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAo+ICAJICogY2xvY2tzIGVuYWJsZWQKPiAgCSAqLwo+ICAJaW50 ZWxfY29sb3JfbG9hZF9sdXRzKHBpcGVfY29uZmlnKTsKPiArCWludGVsX2NvbG9yX2NvbW1pdChw aXBlX2NvbmZpZyk7Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJt YXJrcyAhPSBOVUxMKQo+ICAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhv bGRfaW50ZWxfc3RhdGUsIHBpcGVfY29uZmlnKTsKPiBAQCAtNTgxNSw4ICs1ODE2LDYgQEAgc3Rh dGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcsCj4gIAo+ICAJaGFzd2VsbF9zZXRfcGlwZW1pc2MocGlwZV9jb25maWcpOwo+ICAK PiAtCWludGVsX2NvbG9yX3NldF9jc2MocGlwZV9jb25maWcpOwo+IC0KPiAgCWludGVsX2NydGMt PmFjdGl2ZSA9IHRydWU7Cj4gIAo+ICAJLyogRGlzcGxheSBXQSAjMTE4MDogV2FEaXNhYmxlU2Nh bGFyQ2xvY2tHYXRpbmc6IGdsaywgY25sICovCj4gQEAgLTU4MzUsNiArNTgzNCw3IEBAIHN0YXRp YyB2b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVf Y29uZmlnLAo+ICAJICogY2xvY2tzIGVuYWJsZWQKPiAgCSAqLwo+ICAJaW50ZWxfY29sb3JfbG9h ZF9sdXRzKHBpcGVfY29uZmlnKTsKPiArCWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7 Cj4gIAo+ICAJLyoKPiAgCSAqIERpc3BsYXkgV0EgIzExNTM6IGVuYWJsZSBoYXJkd2FyZSB0byBi eXBhc3MgdGhlIGFscGhhIG1hdGgKPiBAQCAtNjE4MCw4ICs2MTgwLDYgQEAgc3RhdGljIHZvaWQg dmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCj4gIAo+ICAJaTl4eF9zZXRfcGlwZWNvbmYocGlwZV9jb25maWcpOwo+ICAKPiAtCWludGVs X2NvbG9yX3NldF9jc2MocGlwZV9jb25maWcpOwo+IC0KPiAgCWludGVsX2NydGMtPmFjdGl2ZSA9 IHRydWU7Cj4gIAo+ICAJaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZf cHJpdiwgcGlwZSwgdHJ1ZSk7Cj4gQEAgLTYyMDEsNiArNjE5OSw3IEBAIHN0YXRpYyB2b2lkIHZh bGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAo+ICAJaTl4eF9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7Cj4gIAo+ICAJaW50ZWxfY29sb3Jf bG9hZF9sdXRzKHBpcGVfY29uZmlnKTsKPiArCWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZp Zyk7Cj4gIAo+ICAJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKG9sZF9pbnRl bF9zdGF0ZSwKPiAgCQkJCQkgICAgIHBpcGVfY29uZmlnKTsKPiBAQCAtNjI1Nyw2ICs2MjU2LDcg QEAgc3RhdGljIHZvaWQgaTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq cGlwZV9jb25maWcsCj4gIAlpOXh4X3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKPiAgCj4gIAlp bnRlbF9jb2xvcl9sb2FkX2x1dHMocGlwZV9jb25maWcpOwo+ICsJaW50ZWxfY29sb3JfY29tbWl0 KHBpcGVfY29uZmlnKTsKPiAgCj4gIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRl cm1hcmtzICE9IE5VTEwpCj4gIAkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtz KG9sZF9pbnRlbF9zdGF0ZSwKPiBAQCAtMTM2MzQsMTAgKzEzNjM0LDggQEAgc3RhdGljIHZvaWQg aW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAKPiAgCWlm ICghbW9kZXNldCAmJgo+ICAJICAgIChpbnRlbF9jc3RhdGUtPmJhc2UuY29sb3JfbWdtdF9jaGFu Z2VkIHx8Cj4gLQkgICAgIGludGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUpKSB7Cj4gLQkJaW50ZWxf Y29sb3Jfc2V0X2NzYyhpbnRlbF9jc3RhdGUpOwo+ICsJICAgICBpbnRlbF9jc3RhdGUtPnVwZGF0 ZV9waXBlKSkKPiAgCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoaW50ZWxfY3N0YXRlKTsKPiAtCX0K PiAgCj4gIAkvKiBQZXJmb3JtIHZibGFuayBldmFzaW9uIGFyb3VuZCBjb21taXQgb3BlcmF0aW9u ICovCj4gIAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChpbnRlbF9jc3RhdGUpOwo+IEBAIC0xMzY0 NSw2ICsxMzY0MywxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1 Y3QgZHJtX2NydGMgKmNydGMsCj4gIAlpZiAobW9kZXNldCkKPiAgCQlnb3RvIG91dDsKPiAgCj4g KwlpZiAoaW50ZWxfY3N0YXRlLT5iYXNlLmNvbG9yX21nbXRfY2hhbmdlZCB8fAo+ICsJICAgIGlu dGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUpCj4gKwkJaW50ZWxfY29sb3JfY29tbWl0KGludGVsX2Nz dGF0ZSk7Cj4gKwo+ICAJaWYgKGludGVsX2NzdGF0ZS0+dXBkYXRlX3BpcGUpCj4gIAkJaW50ZWxf dXBkYXRlX3BpcGVfY29uZmlnKG9sZF9pbnRlbF9jc3RhdGUsIGludGVsX2NzdGF0ZSk7Cj4gIAll bHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpCj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPiBpbmRleCA5Njc0M2Y1MGIxM2EuLjU5ZjhkNDI3MGU4MiAxMDA2NDQKPiAtLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCj4gQEAgLTIzMzgsNyArMjMzOCw3IEBAIGludCBpbnRlbF9wbGFuZV9hdG9t aWNfY2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfCj4gIC8qIGludGVsX2NvbG9yLmMgKi8KPiAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjKTsKPiAgaW50IGludGVsX2NvbG9yX2NoZWNrKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiAtdm9pZCBpbnRlbF9jb2xvcl9zZXRfY3NjKGNv bnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKTsKPiArdm9pZCBpbnRlbF9j b2xvcl9jb21taXQoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ ICB2b2lkIGludGVsX2NvbG9yX2xvYWRfbHV0cyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSk7Cj4gIAo+ICAvKiBpbnRlbF9sc3Bjb24uYyAqLwo+IC0tIAo+IDIuMTku Mgo+IAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdhcmUgRW5naW5lZXIKSW9URyBQbGF0 Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENvcnBvcmF0aW9uCig5MTYpIDM1Ni0y Nzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=