From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Treat cursor plane as another sprite plane for BSW Date: Wed, 2 Mar 2016 16:03:32 +0200 Message-ID: <20160302140332.GT15993@intel.com> References: <1456874837-16833-1-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 387316E886 for ; Wed, 2 Mar 2016 14:03:42 +0000 (UTC) Content-Disposition: inline In-Reply-To: <1456874837-16833-1-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Dhinakaran Pandiyan Cc: Kalyan Kondapally , intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBNYXIgMDEsIDIwMTYgYXQgMDM6Mjc6MTdQTSAtMDgwMCwgRGhpbmFrYXJhbiBQYW5k aXlhbiB3cm90ZToKPiBGcm9tOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RA bGludXguaW50ZWwuY29tPgo+IAo+IFdvcmsgYXJvdW5kIHRoZSBDSFYgcGlwZSBDIEZJRk8gdW5k ZXJydW5zIHRoYXQgY2F1c2UgZGlzcGxheSBmYWlsdXJlIGJ5Cj4gZW5hYmxpbmcgc3ByaXRlIHBs YW5lIGZvciBjdXJzb3IuCj4gCj4gVGhpcyBwYXRjaCBmb3IgQlNXIGlzIGJhc2VkIG9uIE1hYXJ0 ZW4gTGFua2hvcnN0J3Mgd29yayB0aGF0Cj4gZW5hYmxlcyB1bml2ZXJzYWwgcGxhbmUgc3VwcG9y dC4KPiAKPiBTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9y c3RAbGludXguaW50ZWwuY29tPgo+IFNpZ25lZC1vZmYtYnk6IEthbHlhbiBLb25kYXBhbGx5IDxr YWx5YW4ua29uZGFwYWxseUBpbnRlbC5jb20+Cj4gU2lnbmVkLW9mZi1ieTogUGFuZGl5YW4gRGhp bmFrYXJhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDQ4ICsrKysrKysrKysrKysrKysrKysrKysr LS0tLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgfCAxNCAr KysrKysrKy0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgICAgICB8IDUxICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyAgfCAyNSArKysrKysrKystLS0tLS0tLS0KPiAgNCBmaWxlcyBjaGFu Z2VkLCAxMDAgaW5zZXJ0aW9ucygrKSwgMzggZGVsZXRpb25zKC0pCj4gCj4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+IGluZGV4IDQ0ZmNmZjAuLjRhMzkyZDQgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTExOTQxLDkgKzExOTQxLDE0IEBAIGlu dCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKHN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq Y3J0Y19zdGF0ZSwKPiAgCWJvb2wgaXNfY3J0Y19lbmFibGVkID0gY3J0Y19zdGF0ZS0+YWN0aXZl Owo+ICAJYm9vbCB0dXJuX29mZiwgdHVybl9vbiwgdmlzaWJsZSwgd2FzX3Zpc2libGU7Cj4gIAlz dHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5lX3N0YXRlLT5mYjsKPiArCWVudW0gZHJt X3BsYW5lX3R5cGUgcGxhbmVfdHlwZSA9IHBsYW5lLT50eXBlOwo+ICsKPiArCWlmIChwbGFuZV90 eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUiAmJgo+ICsJICAgICFwaXBlX2hhc19jdXJzb3Jf cGxhbmUodG9faTkxNShkZXYpLCBpbnRlbF9jcnRjLT5waXBlKSkKPiArCQlwbGFuZV90eXBlID0g RFJNX1BMQU5FX1RZUEVfT1ZFUkxBWTsKCkkgdGhpbmsgc3ByZWFkaW5nIHRoaXMgc3R1ZmYgYWxs IG92ZXIgaXMgdG9vIG1lc3N5LiBJIHdvdWxkIHN1Z2dlc3QgYWRkaW5nIHNvbWUKa2luZCBvZiBo dyBwbGFuZSB0eXBlIHRvIGludGVsX3BsYW5lIGluc3RlYWQuCgo+ICAKPiAgCWlmIChjcnRjX3N0 YXRlICYmIElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkgJiYKPiAtCSAgICBwbGFuZS0+dHlwZSAh PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IpIHsKPiArCSAgICBwbGFuZV90eXBlICE9IERSTV9QTEFO RV9UWVBFX0NVUlNPUikgewo+ICAJCXJldCA9IHNrbF91cGRhdGVfc2NhbGVyX3BsYW5lKAo+ICAJ CQl0b19pbnRlbF9jcnRjX3N0YXRlKGNydGNfc3RhdGUpLAo+ICAJCQl0b19pbnRlbF9wbGFuZV9z dGF0ZShwbGFuZV9zdGF0ZSkpOwo+IEBAIC0xNDQ3Miw3ICsxNDQ3Nyw3IEBAIHN0YXRpYyB2b2lk IGludGVsX2NydGNfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBpbnQgcGlwZSkKPiAgCXN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0gTlVMTDsKPiAgCXN0cnVjdCBkcm1f cGxhbmUgKnByaW1hcnkgPSBOVUxMOwo+ICAJc3RydWN0IGRybV9wbGFuZSAqY3Vyc29yID0gTlVM TDsKPiAtCWludCBpLCByZXQ7Cj4gKwlpbnQgaSwgcmV0LCBzcHJpdGU7Cj4gIAo+ICAJaW50ZWxf Y3J0YyA9IGt6YWxsb2Moc2l6ZW9mKCppbnRlbF9jcnRjKSwgR0ZQX0tFUk5FTCk7Cj4gIAlpZiAo aW50ZWxfY3J0YyA9PSBOVUxMKQo+IEBAIC0xNDQ5OSw5ICsxNDUwNCwzMiBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9jcnRjX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgaW50IHBpcGUpCj4gIAlp ZiAoIXByaW1hcnkpCj4gIAkJZ290byBmYWlsOwo+ICAKPiAtCWN1cnNvciA9IGludGVsX2N1cnNv cl9wbGFuZV9jcmVhdGUoZGV2LCBwaXBlKTsKPiAtCWlmICghY3Vyc29yKQo+IC0JCWdvdG8gZmFp bDsKPiArCWlmIChwaXBlX2hhc19jdXJzb3JfcGxhbmUoZGV2X3ByaXYsIHBpcGUpKSB7Cj4gKwkJ Y3Vyc29yID0gaW50ZWxfY3Vyc29yX3BsYW5lX2NyZWF0ZShkZXYsIHBpcGUpOwo+ICsJCWlmICgh Y3Vyc29yKQo+ICsJCQlnb3RvIGZhaWw7Cj4gKwl9Cj4gKwo+ICsJZm9yX2VhY2hfc3ByaXRlKGRl dl9wcml2LCBwaXBlLCBzcHJpdGUpIHsKPiArCQllbnVtIGRybV9wbGFuZV90eXBlIHBsYW5lX3R5 cGU7Cj4gKwkJc3RydWN0IGRybV9wbGFuZSAqcGxhbmU7Cj4gKwo+ICsJCWlmIChzcHJpdGUgKyAx IDwgSU5URUxfSU5GTyhkZXZfcHJpdiktPm51bV9zcHJpdGVzW3BpcGVdIHx8Cj4gKwkJICAgIHBp cGVfaGFzX2N1cnNvcl9wbGFuZShkZXZfcHJpdiwgcGlwZSkpCj4gKwkJCXBsYW5lX3R5cGUgPSBE Uk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+ICsJCWVsc2UKPiArCQkJcGxhbmVfdHlwZSA9IERSTV9Q TEFORV9UWVBFX0NVUlNPUjsKCkknbSB0aGlua2luZyBJIG1pZ2h0IHB1dCB0aGlzIGxvZ2ljIGlu dG8gdGhlIHNwcml0ZSBpbml0IGNvZGUuCgpBcGFydCBmcm9tIHRoZXNlIHRoZSBtYWluIGNvbmNl cm4gSSBoYXZlIHdpdGggYWxsIHRoaXMgaXMgd2F0ZXJtYXJrcywgY3hzciwKdmJsYW5rIHdhaXRz IGV0Yy4gSSBjYW4ndCBzZWUgYW55dGhpbmcgaGVyZSB0byBleHBsYWluIGhvdyBpdCdzIGdvaW5n IHRvCmFjdHVhbGx5IHdvcmsgc28gSSBzdXNwZWN0IHRoZXJlIHdpbGwgYmUgcHJvYmxlbXMuCgo+ ICsKPiArCQlwbGFuZSA9IGludGVsX3BsYW5lX2luaXQoZGV2LCBwaXBlLCBzcHJpdGUsIHBsYW5l X3R5cGUpOwo+ICsJCWlmIChJU19FUlIocGxhbmUpKSB7Cj4gKwkJCURSTV9ERUJVR19LTVMoInBp cGUgJWMgc3ByaXRlICVjIGluaXQgZmFpbGVkOiAlbGRcbiIsCj4gKwkJCQkJcGlwZV9uYW1lKHBp cGUpLCBzcHJpdGVfbmFtZShwaXBlLCBzcHJpdGUpLCBQVFJfRVJSKHBsYW5lKSk7Cj4gKwkJCWdv dG8gZmFpbDsKPiArCQl9Cj4gKwo+ICsJCWlmIChwbGFuZV90eXBlID09IERSTV9QTEFORV9UWVBF X0NVUlNPUikKPiArCQkJY3Vyc29yID0gcGxhbmU7Cj4gKwl9Cj4gIAo+ICAJcmV0ID0gZHJtX2Ny dGNfaW5pdF93aXRoX3BsYW5lcyhkZXYsICZpbnRlbF9jcnRjLT5iYXNlLCBwcmltYXJ5LAo+ICAJ CQkJCWN1cnNvciwgJmludGVsX2NydGNfZnVuY3MsIE5VTEwpOwo+IEBAIC0xNTUzNCw3ICsxNTU2 Miw2IEBAIGZhaWw6Cj4gIHZvaWQgaW50ZWxfbW9kZXNldF9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCj4gIHsKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ ZGV2X3ByaXZhdGU7Cj4gLQlpbnQgc3ByaXRlLCByZXQ7Cj4gIAllbnVtIHBpcGUgcGlwZTsKPiAg CXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOwo+ICAKPiBAQCAtMTU2MDYsMTUgKzE1NjMzLDggQEAg dm9pZCBpbnRlbF9tb2Rlc2V0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkgICAg ICBJTlRFTF9JTkZPKGRldiktPm51bV9waXBlcywKPiAgCQkgICAgICBJTlRFTF9JTkZPKGRldikt Pm51bV9waXBlcyA+IDEgPyAicyIgOiAiIik7Cj4gIAo+IC0JZm9yX2VhY2hfcGlwZShkZXZfcHJp diwgcGlwZSkgewo+ICsJZm9yX2VhY2hfcGlwZShkZXZfcHJpdiwgcGlwZSkKPiAgCQlpbnRlbF9j cnRjX2luaXQoZGV2LCBwaXBlKTsKPiAtCQlmb3JfZWFjaF9zcHJpdGUoZGV2X3ByaXYsIHBpcGUs IHNwcml0ZSkgewo+IC0JCQlyZXQgPSBpbnRlbF9wbGFuZV9pbml0KGRldiwgcGlwZSwgc3ByaXRl KTsKPiAtCQkJaWYgKHJldCkKPiAtCQkJCURSTV9ERUJVR19LTVMoInBpcGUgJWMgc3ByaXRlICVj IGluaXQgZmFpbGVkOiAlZFxuIiwKPiAtCQkJCQkgICAgICBwaXBlX25hbWUocGlwZSksIHNwcml0 ZV9uYW1lKHBpcGUsIHNwcml0ZSksIHJldCk7Cj4gLQkJfQo+IC0JfQo+ICAKPiAgCWludGVsX3Vw ZGF0ZV9jemNsayhkZXZfcHJpdik7Cj4gIAlpbnRlbF91cGRhdGVfY2RjbGsoZGV2KTsKPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IGNiNDEzZTIuLjIxOGY4ZjggMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC05NzEsOSArOTcxLDE4IEBAIGhkbWlfdG9fZGlnX3Bv cnQoc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkpCj4gIAlyZXR1cm4gY29udGFpbmVyX29m KGludGVsX2hkbWksIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQsIGhkbWkpOwo+ICB9Cj4gIAo+ ICtzdGF0aWMgaW5saW5lIGJvb2wgcGlwZV9oYXNfY3Vyc29yX3BsYW5lKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgaW50IHBpcGUpCj4gK3sKPiArCWlmIChJU19DSEVSUllWSUVX KGRldl9wcml2KSAmJiBwaXBlID09IFBJUEVfQykKPiArCQlyZXR1cm4gZmFsc2U7Cj4gKwo+ICsJ cmV0dXJuIHRydWU7Cj4gK30KPiArCj4gIC8qCj4gICAqIFJldHVybnMgdGhlIG51bWJlciBvZiBw bGFuZXMgZm9yIHRoaXMgcGlwZSwgaWUgdGhlIG51bWJlciBvZiBzcHJpdGVzICsgMQo+IC0gKiAo cHJpbWFyeSBwbGFuZSkuIFRoaXMgZG9lc24ndCBjb3VudCB0aGUgY3Vyc29yIHBsYW5lIHRoZW4u Cj4gKyAqIChwcmltYXJ5IHBsYW5lKS4gVGhpcyBkb2Vzbid0IGNvdW50IHRoZSBjdXJzb3IgcGxh bmUgZXhjZXB0IG9uIENIViBwaXBlIEMsCj4gKyAqIHdoaWNoIGhhcyBhIHVuaXZlcnNhbCBwbGFu ZSBtYXNrZWQgYXMgY3Vyc29yIHBsYW5lLgo+ICAgKi8KPiAgc3RhdGljIGlubGluZSB1bnNpZ25l ZCBpbnQgaW50ZWxfbnVtX3BsYW5lcyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgewo+IEBA IC0xNTk1LDcgKzE2MDQsOCBAQCBib29sIGludGVsX3Nkdm9faW5pdChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAo+ICAKPiAgCj4gIC8qIGludGVsX3Nwcml0ZS5jICovCj4gLWludCBpbnRlbF9wbGFu ZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUp Owo+ICtzdHJ1Y3QgZHJtX3BsYW5lICppbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsIGVudW0gcGlwZSBwaXBlLAo+ICsJCQkJICAgaW50IHBsYW5lLCBlbnVtIGRybV9wbGFu ZV90eXBlIHBsYW5lX3R5cGUpOwo+ICBpbnQgaW50ZWxfc3ByaXRlX3NldF9jb2xvcmtleShzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAo+ICAJCQkgICAgICBzdHJ1Y3QgZHJtX2Zp bGUgKmZpbGVfcHJpdik7Cj4gIHZvaWQgaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoc3RydWN0IGlu dGVsX2NydGMgKmNydGMpOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9wbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+IGluZGV4IGQzM2RlOTUu LjBiYWI3ZDMgMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKPiBAQCAtOTQxLDcgKzk0MSw4 IEBAIHN0YXRpYyB1aW50MTZfdCB2bHZfY29tcHV0ZV93bV9sZXZlbChzdHJ1Y3QgaW50ZWxfcGxh bmUgKnBsYW5lLAo+ICAJaWYgKFdBUk5fT04oaHRvdGFsID09IDApKQo+ICAJCWh0b3RhbCA9IDE7 Cj4gIAo+IC0JaWYgKHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKSB7 Cj4gKwlpZiAocGxhbmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1IgJiYKPiAr CSAgICBwaXBlX2hhc19jdXJzb3JfcGxhbmUoZGV2X3ByaXYsIHBsYW5lLT5waXBlKSkgewo+ICAJ CS8qCj4gIAkJICogRklYTUUgdGhlIGZvcm11bGEgZ2l2ZXMgdmFsdWVzIHRoYXQgYXJlCj4gIAkJ ICogdG9vIGJpZyBmb3IgdGhlIGN1cnNvciBGSUZPLCBhbmQgaGVuY2Ugd2UKPiBAQCAtOTcwLDcg Kzk3MSw4IEBAIHN0YXRpYyB2b2lkIHZsdl9jb21wdXRlX2ZpZm8oc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIAkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZSA9Cj4gIAkJCXRvX2lu dGVsX3BsYW5lX3N0YXRlKHBsYW5lLT5iYXNlLnN0YXRlKTsKPiAgCj4gLQkJaWYgKHBsYW5lLT5i YXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SKQo+ICsJCWlmIChwbGFuZS0+YmFzZS50 eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUiAmJgo+ICsJCSAgICBwaXBlX2hhc19jdXJzb3Jf cGxhbmUoZGV2LT5kZXZfcHJpdmF0ZSwgcGxhbmUtPnBpcGUpKQo+ICAJCQljb250aW51ZTsKPiAg Cj4gIAkJaWYgKHN0YXRlLT52aXNpYmxlKSB7Cj4gQEAgLTk4NCw3ICs5ODYsOCBAQCBzdGF0aWMg dm9pZCB2bHZfY29tcHV0ZV9maWZvKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCQl0b19p bnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7Cj4gIAkJdW5zaWduZWQgaW50IHJh dGU7Cj4gIAo+IC0JCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNP Uikgewo+ICsJCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUiAm Jgo+ICsJCSAgICBwaXBlX2hhc19jdXJzb3JfcGxhbmUoZGV2LT5kZXZfcHJpdmF0ZSwgcGxhbmUt PnBpcGUpKSB7Cj4gIAkJCXBsYW5lLT53bS5maWZvX3NpemUgPSA2MzsKPiAgCQkJY29udGludWU7 Cj4gIAkJfQo+IEBAIC0xMDA4LDcgKzEwMTEsOCBAQCBzdGF0aWMgdm9pZCB2bHZfY29tcHV0ZV9m aWZvKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJCWlmIChmaWZvX2xlZnQgPT0gMCkKPiAg CQkJYnJlYWs7Cj4gIAo+IC0JCWlmIChwbGFuZS0+YmFzZS50eXBlID09IERSTV9QTEFORV9UWVBF X0NVUlNPUikKPiArCQlpZiAocGxhbmUtPmJhc2UudHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJT T1IgJiYKPiArCQkgICAgcGlwZV9oYXNfY3Vyc29yX3BsYW5lKGRldi0+ZGV2X3ByaXZhdGUsIHBs YW5lLT5waXBlKSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICAJCS8qIGdpdmUgaXQgYWxsIHRvIHRo ZSBmaXJzdCBwbGFuZSBpZiBub25lIGFyZSBhY3RpdmUgKi8KPiBAQCAtMTAyOCw2ICsxMDMyLDcg QEAgc3RhdGljIHZvaWQgdmx2X2ludmVydF93bXMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4g IHsKPiAgCXN0cnVjdCB2bHZfd21fc3RhdGUgKndtX3N0YXRlID0gJmNydGMtPndtX3N0YXRlOwo+ ICAJaW50IGxldmVsOwo+ICsJZW51bSBkcm1fcGxhbmVfdHlwZSBwbGFuZV90eXBlOwo+ICAKPiAg CWZvciAobGV2ZWwgPSAwOyBsZXZlbCA8IHdtX3N0YXRlLT5udW1fbGV2ZWxzOyBsZXZlbCsrKSB7 Cj4gIAkJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+IEBAIC0xMDM4 LDcgKzEwNDMsMTMgQEAgc3RhdGljIHZvaWQgdmx2X2ludmVydF93bXMoc3RydWN0IGludGVsX2Ny dGMgKmNydGMpCj4gIAkJd21fc3RhdGUtPnNyW2xldmVsXS5jdXJzb3IgPSA2MyAtIHdtX3N0YXRl LT5zcltsZXZlbF0uY3Vyc29yOwo+ICAKPiAgCQlmb3JfZWFjaF9pbnRlbF9wbGFuZV9vbl9jcnRj KGRldiwgY3J0YywgcGxhbmUpIHsKPiAtCQkJc3dpdGNoIChwbGFuZS0+YmFzZS50eXBlKSB7Cj4g KwkJCXBsYW5lX3R5cGUgPSBwbGFuZS0+YmFzZS50eXBlOwo+ICsKPiArCQkJaWYgKHBsYW5lX3R5 cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SICYmCj4gKwkJCSAgICAhcGlwZV9oYXNfY3Vyc29y X3BsYW5lKHRvX2k5MTUoZGV2KSwgcGxhbmUtPnBpcGUpKQo+ICsJCQkJcGxhbmVfdHlwZSA9IERS TV9QTEFORV9UWVBFX09WRVJMQVk7Cj4gKwo+ICsJCQlzd2l0Y2ggKHBsYW5lX3R5cGUpIHsKPiAg CQkJCWludCBzcHJpdGU7Cj4gIAkJCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VSU09SOgo+ICAJCQkJ d21fc3RhdGUtPndtW2xldmVsXS5jdXJzb3IgPSBwbGFuZS0+d20uZmlmb19zaXplIC0KPiBAQCAt MTA2NSw2ICsxMDc2LDcgQEAgc3RhdGljIHZvaWQgdmx2X2NvbXB1dGVfd20oc3RydWN0IGludGVs X2NydGMgKmNydGMpCj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ICAJaW50IHNyX2Zp Zm9fc2l6ZSA9IElOVEVMX0lORk8oZGV2KS0+bnVtX3BpcGVzICogNTEyIC0gMTsKPiAgCWludCBs ZXZlbDsKPiArCWVudW0gZHJtX3BsYW5lX3R5cGUgcGxhbmVfdHlwZTsKPiAgCj4gIAltZW1zZXQo d21fc3RhdGUsIDAsIHNpemVvZigqd21fc3RhdGUpKTsKPiAgCj4gQEAgLTEwOTIsMTAgKzExMDQs MTUgQEAgc3RhdGljIHZvaWQgdmx2X2NvbXB1dGVfd20oc3RydWN0IGludGVsX2NydGMgKmNydGMp Cj4gIAkJaWYgKCFzdGF0ZS0+dmlzaWJsZSkKPiAgCQkJY29udGludWU7Cj4gIAo+ICsJCXBsYW5l X3R5cGUgPSBwbGFuZS0+YmFzZS50eXBlOwo+ICsJCWlmIChwbGFuZV90eXBlID09IERSTV9QTEFO RV9UWVBFX0NVUlNPUiAmJgo+ICsJCSAgICAhcGlwZV9oYXNfY3Vyc29yX3BsYW5lKHRvX2k5MTUo ZGV2KSwgcGxhbmUtPnBpcGUpKQo+ICsJCQlwbGFuZV90eXBlID0gRFJNX1BMQU5FX1RZUEVfT1ZF UkxBWTsKPiArCj4gIAkJLyogbm9ybWFsIHdhdGVybWFya3MgKi8KPiAgCQlmb3IgKGxldmVsID0g MDsgbGV2ZWwgPCB3bV9zdGF0ZS0+bnVtX2xldmVsczsgbGV2ZWwrKykgewo+ICAJCQlpbnQgd20g PSB2bHZfY29tcHV0ZV93bV9sZXZlbChwbGFuZSwgY3J0Yywgc3RhdGUsIGxldmVsKTsKPiAtCQkJ aW50IG1heF93bSA9IHBsYW5lLT5iYXNlLnR5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SID8g NjMgOiA1MTE7Cj4gKwkJCWludCBtYXhfd20gPSBwbGFuZV90eXBlID09IERSTV9QTEFORV9UWVBF X0NVUlNPUiA/IDYzIDogNTExOwo+ICAKPiAgCQkJLyogaGFjayAqLwo+ICAJCQlpZiAoV0FSTl9P TihsZXZlbCA9PSAwICYmIHdtID4gbWF4X3dtKSkKPiBAQCAtMTEwNCw3ICsxMTIxLDcgQEAgc3Rh dGljIHZvaWQgdmx2X2NvbXB1dGVfd20oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAkJCWlm ICh3bSA+IHBsYW5lLT53bS5maWZvX3NpemUpCj4gIAkJCQlicmVhazsKPiAgCj4gLQkJCXN3aXRj aCAocGxhbmUtPmJhc2UudHlwZSkgewo+ICsJCQlzd2l0Y2ggKHBsYW5lX3R5cGUpIHsKPiAgCQkJ CWludCBzcHJpdGU7Cj4gIAkJCWNhc2UgRFJNX1BMQU5FX1RZUEVfQ1VSU09SOgo+ICAJCQkJd21f c3RhdGUtPndtW2xldmVsXS5jdXJzb3IgPSB3bTsKPiBAQCAtMTEyNSw3ICsxMTQyLDcgQEAgc3Rh dGljIHZvaWQgdmx2X2NvbXB1dGVfd20oc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAkJCWNv bnRpbnVlOwo+ICAKPiAgCQkvKiBtYXhmaWZvIHdhdGVybWFya3MgKi8KPiAtCQlzd2l0Y2ggKHBs YW5lLT5iYXNlLnR5cGUpIHsKPiArCQlzd2l0Y2ggKHBsYW5lX3R5cGUpIHsKPiAgCQkJaW50IHNw cml0ZSwgbGV2ZWw7Cj4gIAkJY2FzZSBEUk1fUExBTkVfVFlQRV9DVVJTT1I6Cj4gIAkJCWZvciAo bGV2ZWwgPSAwOyBsZXZlbCA8IHdtX3N0YXRlLT5udW1fbGV2ZWxzOyBsZXZlbCsrKQo+IEBAIC0x MTY2LDkgKzExODMsMTYgQEAgc3RhdGljIHZvaWQgdmx2X3BpcGVfc2V0X2ZpZm9fc2l6ZShzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKPiAgCXN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmU7Cj4gIAlpbnQg c3ByaXRlMF9zdGFydCA9IDAsIHNwcml0ZTFfc3RhcnQgPSAwLCBmaWZvX3NpemUgPSAwOwo+ICsJ ZW51bSBkcm1fcGxhbmVfdHlwZSBwbGFuZV90eXBlOwo+ICAKPiAgCWZvcl9lYWNoX2ludGVsX3Bs YW5lX29uX2NydGMoZGV2LCBjcnRjLCBwbGFuZSkgewo+IC0JCWlmIChwbGFuZS0+YmFzZS50eXBl ID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikgewo+ICsJCXBsYW5lX3R5cGUgPSBwbGFuZS0+YmFz ZS50eXBlOwo+ICsKPiArCQlpZiAocGxhbmVfdHlwZSA9PSBEUk1fUExBTkVfVFlQRV9DVVJTT1Ig JiYKPiArCQkgICAgIXBpcGVfaGFzX2N1cnNvcl9wbGFuZSh0b19pOTE1KGRldiksIHBsYW5lLT5w aXBlKSkKPiArCQkJcGxhbmVfdHlwZSA9IERSTV9QTEFORV9UWVBFX09WRVJMQVk7Cj4gKwo+ICsJ CWlmIChwbGFuZV90eXBlID09IERSTV9QTEFORV9UWVBFX0NVUlNPUikgewo+ICAJCQlXQVJOX09O KHBsYW5lLT53bS5maWZvX3NpemUgIT0gNjMpOwo+ICAJCQljb250aW51ZTsKPiAgCQl9Cj4gQEAg LTM5OTYsMTEgKzQwMjAsMTggQEAgdm9pZCB2bHZfd21fZ2V0X2h3X3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lOwo+ICAJZW51bSBwaXBl IHBpcGU7Cj4gIAl1MzIgdmFsOwo+ICsJZW51bSBkcm1fcGxhbmVfdHlwZSBwbGFuZV90eXBlOwo+ ICAKPiAgCXZsdl9yZWFkX3dtX3ZhbHVlcyhkZXZfcHJpdiwgd20pOwo+ICAKPiAgCWZvcl9lYWNo X2ludGVsX3BsYW5lKGRldiwgcGxhbmUpIHsKPiAtCQlzd2l0Y2ggKHBsYW5lLT5iYXNlLnR5cGUp IHsKPiArCQlwbGFuZV90eXBlID0gcGxhbmUtPmJhc2UudHlwZTsKPiArCj4gKwkJaWYgKHBsYW5l X3R5cGUgPT0gRFJNX1BMQU5FX1RZUEVfQ1VSU09SICYmCj4gKwkJICAgICFwaXBlX2hhc19jdXJz b3JfcGxhbmUodG9faTkxNShkZXYpLCBwbGFuZS0+cGlwZSkpCj4gKwkJCXBsYW5lX3R5cGUgPSBE Uk1fUExBTkVfVFlQRV9PVkVSTEFZOwo+ICsKPiArCQlzd2l0Y2ggKHBsYW5lX3R5cGUpIHsKPiAg CQkJaW50IHNwcml0ZTsKPiAgCQljYXNlIERSTV9QTEFORV9UWVBFX0NVUlNPUjoKPiAgCQkJcGxh bmUtPndtLmZpZm9fc2l6ZSA9IDYzOwo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jCj4g aW5kZXggODgyMTUzMy4uMGI1MTA0YyAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zcHJpdGUuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4gQEAgLTEwMjIsOCArMTAyMiw4IEBAIHN0YXRpYyB1aW50MzJfdCBza2xfcGxhbmVfZm9y bWF0c1tdID0gewo+ICAJRFJNX0ZPUk1BVF9WWVVZLAo+ICB9Owo+ICAKPiAtaW50Cj4gLWludGVs X3BsYW5lX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUsIGludCBw bGFuZSkKPiArc3RydWN0IGRybV9wbGFuZSAqaW50ZWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwKPiArCQkJCSAgIGludCBwbGFuZSwgZW51bSBkcm1f cGxhbmVfdHlwZSBwbGFuZV90eXBlKQo+ICB7Cj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVs X3BsYW5lOwo+ICAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpzdGF0ZTsKPiBAQCAtMTAzMywx NiArMTAzMywxNiBAQCBpbnRlbF9wbGFuZV9pbml0KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGVu dW0gcGlwZSBwaXBlLCBpbnQgcGxhbmUpCj4gIAlpbnQgcmV0Owo+ICAKPiAgCWlmIChJTlRFTF9J TkZPKGRldiktPmdlbiA8IDUpCj4gLQkJcmV0dXJuIC1FTk9ERVY7Cj4gKwkJcmV0dXJuIEVSUl9Q VFIoLUVOT0RFVik7Cj4gIAo+ICAJaW50ZWxfcGxhbmUgPSBremFsbG9jKHNpemVvZigqaW50ZWxf cGxhbmUpLCBHRlBfS0VSTkVMKTsKPiAgCWlmICghaW50ZWxfcGxhbmUpCj4gLQkJcmV0dXJuIC1F Tk9NRU07Cj4gKwkJcmV0dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gIAo+ICAJc3RhdGUgPSBpbnRl bF9jcmVhdGVfcGxhbmVfc3RhdGUoJmludGVsX3BsYW5lLT5iYXNlKTsKPiAgCWlmICghc3RhdGUp IHsKPiAgCQlrZnJlZShpbnRlbF9wbGFuZSk7Cj4gLQkJcmV0dXJuIC1FTk9NRU07Cj4gKwkJcmV0 dXJuIEVSUl9QVFIoLUVOT01FTSk7Cj4gIAl9Cj4gIAlpbnRlbF9wbGFuZS0+YmFzZS5zdGF0ZSA9 ICZzdGF0ZS0+YmFzZTsKPiAgCj4gQEAgLTEwOTcsOCArMTA5Nyw4IEBAIGludGVsX3BsYW5lX2lu aXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgZW51bSBwaXBlIHBpcGUsIGludCBwbGFuZSkKPiAg CQludW1fcGxhbmVfZm9ybWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zvcm1hdHMpOwo+ICAJ CWJyZWFrOwo+ICAJZGVmYXVsdDoKPiAtCQlrZnJlZShpbnRlbF9wbGFuZSk7Cj4gLQkJcmV0dXJu IC1FTk9ERVY7Cj4gKwkJcmV0ID0gLUVOT0RFVjsKPiArCQlnb3RvIG91dDsKPiAgCX0KPiAgCj4g IAlpbnRlbF9wbGFuZS0+cGlwZSA9IHBpcGU7Cj4gQEAgLTExMDksMTYgKzExMDksMTcgQEAgaW50 ZWxfcGxhbmVfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwgaW50 IHBsYW5lKQo+ICAJcmV0ID0gZHJtX3VuaXZlcnNhbF9wbGFuZV9pbml0KGRldiwgJmludGVsX3Bs YW5lLT5iYXNlLCBwb3NzaWJsZV9jcnRjcywKPiAgCQkJCSAgICAgICAmaW50ZWxfcGxhbmVfZnVu Y3MsCj4gIAkJCQkgICAgICAgcGxhbmVfZm9ybWF0cywgbnVtX3BsYW5lX2Zvcm1hdHMsCj4gLQkJ CQkgICAgICAgRFJNX1BMQU5FX1RZUEVfT1ZFUkxBWSwgTlVMTCk7Cj4gLQlpZiAocmV0KSB7Cj4g LQkJa2ZyZWUoaW50ZWxfcGxhbmUpOwo+ICsJCQkJICAgICAgIHBsYW5lX3R5cGUsIE5VTEwpOwo+ ICsJaWYgKHJldCkKPiAgCQlnb3RvIG91dDsKPiAtCX0KPiAgCj4gIAlpbnRlbF9jcmVhdGVfcm90 YXRpb25fcHJvcGVydHkoZGV2LCBpbnRlbF9wbGFuZSk7Cj4gIAo+ICAJZHJtX3BsYW5lX2hlbHBl cl9hZGQoJmludGVsX3BsYW5lLT5iYXNlLCAmaW50ZWxfcGxhbmVfaGVscGVyX2Z1bmNzKTsKPiAr CXJldHVybiAmaW50ZWxfcGxhbmUtPmJhc2U7Cj4gIAo+ICBvdXQ6Cj4gLQlyZXR1cm4gcmV0Owo+ ICsJa2ZyZWUoaW50ZWxfcGxhbmUpOwo+ICsJa2ZyZWUoc3RhdGUpOwo+ICsJcmV0dXJuIEVSUl9Q VFIocmV0KTsKPiAgfQo+IC0tIAo+IDEuOS4xCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwo+IGh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4CgotLSAKVmlsbGUgU3lyasOkbMOkCkludGVsIE9U QwpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK