From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lionel Landwerlin Subject: Re: [PATCH 1/3] drm/i915: Pass crtc_state to color management functions. Date: Wed, 30 Mar 2016 17:44:58 +0100 Message-ID: <56FC028A.4010906@intel.com> References: <1459350996-4957-1-git-send-email-maarten.lankhorst@linux.intel.com> <1459350996-4957-2-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 0CD1F6E248 for ; Wed, 30 Mar 2016 16:45:15 +0000 (UTC) In-Reply-To: <1459350996-4957-2-git-send-email-maarten.lankhorst@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: Maarten Lankhorst , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gMzAvMDMvMTYgMTY6MTYsIE1hYXJ0ZW4gTGFua2hvcnN0IHdyb3RlOgo+IFNpZ25lZC1vZmYt Ynk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBMaW9uZWwgTGFuZHdlcmxpbiA8bGlvbmVsLmcubGFuZHdlcmxpbkBpbnRl bC5jb20+Cj4gLS0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgICAgfCAg NCArKy0tCj4gICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jb2xvci5jICAgfCA0MyArKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0KPiAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYyB8IDIyICsrKysrKysrKysrLS0tLS0tLQo+ICAgZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDQgKystLQo+ICAgNCBmaWxlcyBjaGFuZ2VkLCA0 MCBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKPgo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAo+IGluZGV4IGY2ZDcxNTkwYmQ3Yi4uYTkzYmEyOTAzMDE4IDEwMDY0NAo+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5oCj4gQEAgLTYxMiw4ICs2MTIsOCBAQCBzdHJ1Y3QgZHJtX2k5MTVfZGlzcGxheV9m dW5jcyB7Cj4gICAJLyogZGlzcGxheSBjbG9jayBpbmNyZWFzZS9kZWNyZWFzZSAqLwo+ICAgCS8q IHBsbCBjbG9jayBpbmNyZWFzZS9kZWNyZWFzZSAqLwo+ICAgCj4gLQl2b2lkICgqbG9hZF9jc2Nf bWF0cml4KShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+IC0Jdm9pZCAoKmxvYWRfbHV0cykoc3Ry dWN0IGRybV9jcnRjICpjcnRjKTsKPiArCXZvaWQgKCpsb2FkX2NzY19tYXRyaXgpKHN0cnVjdCBk cm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSk7Cj4gKwl2b2lkICgqbG9hZF9sdXRzKShzdHJ1Y3Qg ZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICAgfTsKPiAgIAo+ICAgZW51bSBmb3JjZXdh a2VfZG9tYWluX2lkIHsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y29sb3IuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NvbG9yLmMKPiBpbmRleCBhYTBi MjBkY2I4MzQuLjljZmZhNjM4YzM1MSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9jb2xvci5jCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY29sb3Iu Ywo+IEBAIC05MiwxMCArOTIsMTAgQEAgc3RhdGljIHZvaWQgY3RtX211bHRfYnlfbGltaXRlZCh1 aW50NjRfdCAqcmVzdWx0LCBpbnQ2NF90ICppbnB1dCkKPiAgIH0KPiAgIAo+ICAgLyogU2V0IHVw IHRoZSBwaXBlIENTQyB1bml0LiAqLwo+IC1zdGF0aWMgdm9pZCBpOXh4X2xvYWRfY3NjX21hdHJp eChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gK3N0YXRpYyB2b2lkIGk5eHhfbG9hZF9jc2NfbWF0 cml4KHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgIHsKPiArCXN0cnVjdCBk cm1fY3J0YyAqY3J0YyA9IGNydGNfc3RhdGUtPmNydGM7Cj4gICAJc3RydWN0IGRybV9kZXZpY2Ug KmRldiA9IGNydGMtPmRldjsKPiAtCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSA9 IGNydGMtPnN0YXRlOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRl di0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGNydGMpOwo+ICAgCWludCBpLCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiBA QCAtMjAzLDEwICsyMDMsMTAgQEAgc3RhdGljIHZvaWQgaTl4eF9sb2FkX2NzY19tYXRyaXgoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQo+ICAgLyoKPiAgICAqIFNldCB1cCB0aGUgcGlwZSBDU0MgdW5p dCBvbiBDaGVycnlWaWV3Lgo+ICAgICovCj4gLXN0YXRpYyB2b2lkIGNoZXJyeXZpZXdfbG9hZF9j c2NfbWF0cml4KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgY2hlcnJ5dmll d19sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKPiAgIHsKPiAr CXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IHN0YXRlLT5jcnRjOwo+ICAgCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlID0g Y3J0Yy0+c3RhdGU7Cj4gICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2 LT5kZXZfcHJpdmF0ZTsKPiAgIAlpbnQgcGlwZSA9IHRvX2ludGVsX2NydGMoY3J0YyktPnBpcGU7 Cj4gICAJdWludDMyX3QgbW9kZTsKPiBAQCAtMjUyLDEzICsyNTIsMTMgQEAgc3RhdGljIHZvaWQg Y2hlcnJ5dmlld19sb2FkX2NzY19tYXRyaXgoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAgCUk5 MTVfV1JJVEUoQ0dNX1BJUEVfTU9ERShwaXBlKSwgbW9kZSk7Cj4gICB9Cj4gICAKPiAtdm9pZCBp bnRlbF9jb2xvcl9zZXRfY3NjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiArdm9pZCBpbnRlbF9j b2xvcl9zZXRfY3NjKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSkKPiAgIHsKPiAt CXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gKwlzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2ID0gY3J0Y19zdGF0ZS0+Y3J0Yy0+ZGV2Owo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAKPiAgIAlpZiAoZGV2X3ByaXYt PmRpc3BsYXkubG9hZF9jc2NfbWF0cml4KQo+IC0JCWRldl9wcml2LT5kaXNwbGF5LmxvYWRfY3Nj X21hdHJpeChjcnRjKTsKPiArCQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2NzY19tYXRyaXgoY3J0 Y19zdGF0ZSk7Cj4gICB9Cj4gICAKPiAgIC8qIExvYWRzIHRoZSBsZWdhY3kgcGFsZXR0ZS9nYW1t YSB1bml0IGZvciB0aGUgQ1JUQy4gKi8KPiBAQCAtMzAzLDE5ICszMDMsMjAgQEAgc3RhdGljIHZv aWQgaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ICAgCX0K PiAgIH0KPiAgIAo+IC1zdGF0aWMgdm9pZCBpOXh4X2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCj4gK3N0YXRpYyB2b2lkIGk5eHhfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKPiAgIHsKPiAtCWk5eHhfbG9hZF9sdXRzX2ludGVybmFsKGNydGMsIGNy dGMtPnN0YXRlLT5nYW1tYV9sdXQpOwo+ICsJaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY3J0Y19z dGF0ZS0+Y3J0YywgY3J0Y19zdGF0ZS0+Z2FtbWFfbHV0KTsKPiAgIH0KPiAgIAo+ICAgLyogTG9h ZHMgdGhlIGxlZ2FjeSBwYWxldHRlL2dhbW1hIHVuaXQgZm9yIHRoZSBDUlRDIG9uIEhhc3dlbGwu ICovCj4gLXN0YXRpYyB2b2lkIGhhc3dlbGxfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiArc3RhdGljIHZvaWQgaGFzd2VsbF9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjX3N0YXRl ICpjcnRjX3N0YXRlKQo+ICAgewo+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjID0gY3J0Y19zdGF0 ZS0+Y3J0YzsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICAgCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJ c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAg CXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICppbnRlbF9jcnRjX3N0YXRlID0KPiAtCQl0b19pbnRl bF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiArCQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNf c3RhdGUpOwo+ICAgCWJvb2wgcmVlbmFibGVfaXBzID0gZmFsc2U7Cj4gICAKPiAgIAkvKgo+IEBA IC0zMzEsMjQgKzMzMiwyNCBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2xvYWRfbHV0cyhzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gICAJaW50ZWxfY3J0Y19zdGF0ZS0+Z2FtbWFfbW9kZSA9IEdBTU1B X01PREVfTU9ERV84QklUOwo+ICAgCUk5MTVfV1JJVEUoR0FNTUFfTU9ERShpbnRlbF9jcnRjLT5w aXBlKSwgR0FNTUFfTU9ERV9NT0RFXzhCSVQpOwo+ICAgCj4gLQlpOXh4X2xvYWRfbHV0cyhjcnRj KTsKPiArCWk5eHhfbG9hZF9sdXRzKGNydGNfc3RhdGUpOwo+ICAgCj4gICAJaWYgKHJlZW5hYmxl X2lwcykKPiAgIAkJaHN3X2VuYWJsZV9pcHMoaW50ZWxfY3J0Yyk7Cj4gICB9Cj4gICAKPiAgIC8q IExvYWRzIHRoZSBwYWxldHRlL2dhbW1hIHVuaXQgZm9yIHRoZSBDUlRDIG9uIEJyb2Fkd2VsbCsu ICovCj4gLXN0YXRpYyB2b2lkIGJyb2Fkd2VsbF9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICtzdGF0aWMgdm9pZCBicm9hZHdlbGxfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0Y19z dGF0ZSAqc3RhdGUpCj4gICB7Cj4gKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0ZS0+Y3J0 YzsKPiAgIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+IC0Jc3RydWN0IGRy bV9jcnRjX3N0YXRlICpzdGF0ZSA9IGNydGMtPnN0YXRlOwo+ICAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gICAJc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShzdGF0ZSk7Cj4gICAJ ZW51bSBwaXBlIHBpcGUgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5waXBlOwo+ICAgCXVpbnQzMl90 IGksIGx1dF9zaXplID0gSU5URUxfSU5GTyhkZXYpLT5jb2xvci5kZWdhbW1hX2x1dF9zaXplOwo+ ICAgCj4gICAJaWYgKGNydGNfc3RhdGVfaXNfbGVnYWN5KHN0YXRlKSkgewo+IC0JCWhhc3dlbGxf bG9hZF9sdXRzKGNydGMpOwo+ICsJCWhhc3dlbGxfbG9hZF9sdXRzKHN0YXRlKTsKPiAgIAkJcmV0 dXJuOwo+ICAgCX0KPiAgIAo+IEBAIC00MjEsMTEgKzQyMiwxMSBAQCBzdGF0aWMgdm9pZCBicm9h ZHdlbGxfbG9hZF9sdXRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgIH0KPiAgIAo+ICAgLyog TG9hZHMgdGhlIHBhbGV0dGUvZ2FtbWEgdW5pdCBmb3IgdGhlIENSVEMgb24gQ2hlcnJ5Vmlldy4g Ki8KPiAtc3RhdGljIHZvaWQgY2hlcnJ5dmlld19sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjICpj cnRjKQo+ICtzdGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKnN0YXRlKQo+ICAgewo+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3RhdGUtPmNy dGM7Cj4gICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgIAlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+IC0Jc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSA9IGNydGMtPnN0YXRlOwo+ICAgCWVudW0gcGlwZSBwaXBl ID0gdG9faW50ZWxfY3J0YyhjcnRjKS0+cGlwZTsKPiAgIAlzdHJ1Y3QgZHJtX2NvbG9yX2x1dCAq bHV0Owo+ICAgCXVpbnQzMl90IGksIGx1dF9zaXplOwo+IEBAIC00ODEsMTYgKzQ4MiwxNiBAQCBz dGF0aWMgdm9pZCBjaGVycnl2aWV3X2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4g ICAJaTl4eF9sb2FkX2x1dHNfaW50ZXJuYWwoY3J0YywgTlVMTCk7Cj4gICB9Cj4gICAKPiAtdm9p ZCBpbnRlbF9jb2xvcl9sb2FkX2x1dHMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICt2b2lkIGlu dGVsX2NvbG9yX2xvYWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCj4g ICB7Cj4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2Owo+ICsJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGNydGNfc3RhdGUtPmNydGMtPmRldjsKPiAgIAlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAgCj4gICAJLyogVGhl IGNsb2NrcyBoYXZlIHRvIGJlIG9uIHRvIGxvYWQgdGhlIHBhbGV0dGUuICovCj4gLQlpZiAoIWNy dGMtPnN0YXRlLT5hY3RpdmUpCj4gKwlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSkKPiAgIAkJcmV0 dXJuOwo+ICAgCj4gLQlkZXZfcHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMoY3J0Yyk7Cj4gKwlkZXZf cHJpdi0+ZGlzcGxheS5sb2FkX2x1dHMoY3J0Y19zdGF0ZSk7Cj4gICB9Cj4gICAKPiAgIGludCBp bnRlbF9jb2xvcl9jaGVjayhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDI5YWE2NGJlMWYwMy4uNGY5MTNlNWZlYmYxIDEwMDY0 NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0zMjIzLDcgKzMyMjMsNyBA QCBzdGF0aWMgdm9pZCBpbnRlbF91cGRhdGVfcGlwZV9jb25maWcoc3RydWN0IGludGVsX2NydGMg KmNydGMsCj4gICAJCSAgICAgIHBpcGVfY29uZmlnLT5waXBlX3NyY193LCBwaXBlX2NvbmZpZy0+ cGlwZV9zcmNfaCk7Cj4gICAKPiAgIAlpZiAoSEFTX0RESShkZXYpKQo+IC0JCWludGVsX2NvbG9y X3NldF9jc2MoJmNydGMtPmJhc2UpOwo+ICsJCWludGVsX2NvbG9yX3NldF9jc2MoJnBpcGVfY29u ZmlnLT5iYXNlKTsKPiAgIAo+ICAgCS8qCj4gICAJICogVXBkYXRlIHBpcGUgc2l6ZSBhbmQgYWRq dXN0IGZpdHRlciBpZiBuZWVkZWQ6IHRoZSByZWFzb24gZm9yIHRoaXMgaXMKPiBAQCAtNDcyMyw2 ICs0NzIzLDggQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGRybV9j cnRjICpjcnRjKQo+ICAgCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxf Y3J0YyhjcnRjKTsKPiAgIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiAgIAlpbnQg cGlwZSA9IGludGVsX2NydGMtPnBpcGU7Cj4gKwlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlw ZV9jb25maWcgPQo+ICsJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwo+ICAgCj4g ICAJaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+YWN0aXZlKSkKPiAgIAkJcmV0dXJuOwo+IEBAIC00 NzcwLDcgKzQ3NzIsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCj4gICAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3Jl IHRoZSBwaXBlIGlzIHJ1bm5pbmcgYnV0IHdpdGgKPiAgIAkgKiBjbG9ja3MgZW5hYmxlZAo+ICAg CSAqLwo+IC0JaW50ZWxfY29sb3JfbG9hZF9sdXRzKGNydGMpOwo+ICsJaW50ZWxfY29sb3JfbG9h ZF9sdXRzKCZwaXBlX2NvbmZpZy0+YmFzZSk7Cj4gICAKPiAgIAlpZiAoZGV2X3ByaXYtPmRpc3Bs YXkuaW5pdGlhbF93YXRlcm1hcmtzICE9IE5VTEwpCj4gICAJCWRldl9wcml2LT5kaXNwbGF5Lmlu aXRpYWxfd2F0ZXJtYXJrcyhpbnRlbF9jcnRjLT5jb25maWcpOwo+IEBAIC00ODQ1LDcgKzQ4NDcs NyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKPiAgIAo+ICAgCWhhc3dlbGxfc2V0X3BpcGVtaXNjKGNydGMpOwo+ICAgCj4gLQlpbnRlbF9j b2xvcl9zZXRfY3NjKGNydGMpOwo+ICsJaW50ZWxfY29sb3Jfc2V0X2NzYygmcGlwZV9jb25maWct PmJhc2UpOwo+ICAgCj4gICAJaW50ZWxfY3J0Yy0+YWN0aXZlID0gdHJ1ZTsKPiAgIAo+IEBAIC00 ODc0LDcgKzQ4NzYsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBk cm1fY3J0YyAqY3J0YykKPiAgIAkgKiBPbiBJTEsrIExVVCBtdXN0IGJlIGxvYWRlZCBiZWZvcmUg dGhlIHBpcGUgaXMgcnVubmluZyBidXQgd2l0aAo+ICAgCSAqIGNsb2NrcyBlbmFibGVkCj4gICAJ ICovCj4gLQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY3J0Yyk7Cj4gKwlpbnRlbF9jb2xvcl9sb2Fk X2x1dHMoJnBpcGVfY29uZmlnLT5iYXNlKTsKPiAgIAo+ICAgCWludGVsX2RkaV9zZXRfcGlwZV9z ZXR0aW5ncyhjcnRjKTsKPiAgIAlpZiAoIWludGVsX2NydGMtPmNvbmZpZy0+aGFzX2RzaV9lbmNv ZGVyKQo+IEBAIC02MDM1LDYgKzYwMzcsOCBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNf ZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7Cj4gICAJc3RydWN0IGludGVsX2NydGMgKmludGVs X2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ICAgCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyOwo+ICsJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KPiArCQl0 b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKPiAgIAlpbnQgcGlwZSA9IGludGVsX2Ny dGMtPnBpcGU7Cj4gICAKPiAgIAlpZiAoV0FSTl9PTihpbnRlbF9jcnRjLT5hY3RpdmUpKQo+IEBA IC02MDc5LDcgKzYwODMsNyBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgIAo+ICAgCWk5eHhfcGZpdF9lbmFibGUoaW50ZWxfY3J0 Yyk7Cj4gICAKPiAtCWludGVsX2NvbG9yX2xvYWRfbHV0cyhjcnRjKTsKPiArCWludGVsX2NvbG9y X2xvYWRfbHV0cygmcGlwZV9jb25maWctPmJhc2UpOwo+ICAgCj4gICAJaW50ZWxfdXBkYXRlX3dh dGVybWFya3MoY3J0Yyk7Cj4gICAJaW50ZWxfZW5hYmxlX3BpcGUoaW50ZWxfY3J0Yyk7Cj4gQEAg LTYxMDYsNiArNjExMCw4IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGRy bV9jcnRjICpjcnRjKQo+ICAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKPiAgIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoY3J0Yyk7Cj4gICAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7Cj4gKwlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQo+ICsJCXRvX2ludGVsX2NydGNfc3Rh dGUoY3J0Yy0+c3RhdGUpOwo+ICAgCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKPiAgIAo+ ICAgCWlmIChXQVJOX09OKGludGVsX2NydGMtPmFjdGl2ZSkpCj4gQEAgLTYxMzQsNyArNjE0MCw3 IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ ICAgCj4gICAJaTl4eF9wZml0X2VuYWJsZShpbnRlbF9jcnRjKTsKPiAgIAo+IC0JaW50ZWxfY29s b3JfbG9hZF9sdXRzKGNydGMpOwo+ICsJaW50ZWxfY29sb3JfbG9hZF9sdXRzKCZwaXBlX2NvbmZp Zy0+YmFzZSk7Cj4gICAKPiAgIAlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKPiAgIAlp bnRlbF9lbmFibGVfcGlwZShpbnRlbF9jcnRjKTsKPiBAQCAtMTM2MDUsOCArMTM2MTEsOCBAQCBz dGF0aWMgaW50IGludGVsX2F0b21pY19jb21taXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKPiAg IAkJCSAqIGEgbW9kZXNldCBhcyB0aGlzIHdpbGwgYmUgZG9uZSBieQo+ICAgCQkJICogY3J0Y19l bmFibGUgYWxyZWFkeS4KPiAgIAkJCSAqLwo+IC0JCQlpbnRlbF9jb2xvcl9zZXRfY3NjKGNydGMp Owo+IC0JCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY3J0Yyk7Cj4gKwkJCWludGVsX2NvbG9yX3Nl dF9jc2MoY3J0Yy0+c3RhdGUpOwo+ICsJCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY3J0Yy0+c3Rh dGUpOwo+ICAgCQl9Cj4gICAKPiAgIAkJaWYgKCFtb2Rlc2V0KQo+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gaW5kZXggYzg3YjQ1MDM0MzVkLi42YWM0NmQ5MjFjZGUgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaAo+IEBAIC0xNjY5LDcgKzE2NjksNyBAQCBleHRlcm4gY29uc3Qgc3Ry dWN0IGRybV9wbGFuZV9oZWxwZXJfZnVuY3MgaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzOwo+ICAg LyogaW50ZWxfY29sb3IuYyAqLwo+ICAgdm9pZCBpbnRlbF9jb2xvcl9pbml0KHN0cnVjdCBkcm1f Y3J0YyAqY3J0Yyk7Cj4gICBpbnQgaW50ZWxfY29sb3JfY2hlY2soc3RydWN0IGRybV9jcnRjICpj cnRjLCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKnN0YXRlKTsKPiAtdm9pZCBpbnRlbF9jb2xvcl9z ZXRfY3NjKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gLXZvaWQgaW50ZWxfY29sb3JfbG9hZF9s dXRzKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gK3ZvaWQgaW50ZWxfY29sb3Jfc2V0X2NzYyhz dHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICt2b2lkIGludGVsX2NvbG9yX2xv YWRfbHV0cyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpOwo+ICAgCj4gICAjZW5k aWYgLyogX19JTlRFTF9EUlZfSF9fICovCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK