From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: Re: [PATCH v2 01/14] drm/i915: Use passed plane state for sprite planes, v3. Date: Tue, 3 Nov 2015 11:26:25 +0100 Message-ID: <56388BD1.5010305@linux.intel.com> References: <1446535913-31970-1-git-send-email-maarten.lankhorst@linux.intel.com> <1446535913-31970-2-git-send-email-maarten.lankhorst@linux.intel.com> <20151103092239.GO4437@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 ESMTP id 095BB6E171 for ; Tue, 3 Nov 2015 02:26:32 -0800 (PST) In-Reply-To: <20151103092239.GO4437@intel.com> 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@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T3AgMDMtMTEtMTUgb20gMTA6MjIgc2NocmVlZiBWaWxsZSBTeXJqw6Rsw6Q6Cj4gT24gVHVlLCBO b3YgMDMsIDIwMTUgYXQgMDg6MzE6NDBBTSArMDEwMCwgTWFhcnRlbiBMYW5raG9yc3Qgd3JvdGU6 Cj4+IERvbid0IHVzZSBwbGFuZS0+c3RhdGUgZGlyZWN0bHksIHVzZSB0aGUgcG9pbnRlciBmcm9t IGNvbW1pdF9wbGFuZS4KPj4KPj4gQ2hhbmdlcyBzaW5jZSB2MToKPj4gLSBGaXggdXNlcyBvZiBw bGFuZS0+c3RhdGUtPnJvdGF0aW9uIGFuZCBjb2xvciBrZXkgdG8gdXNlIHRoZSBwYXNzZWQgc3Rh dGUgdG9vLgo+PiAtIE9ubHkgcGFzcyBjcnRjX3N0YXRlIGFuZCBwbGFuZV9zdGF0ZSB0byB1cGRh dGVfcGxhbmUuCj4+IENoYW5nZXMgc2luY2UgdjI6Cj4+IC0gUmViYXNlZC4KPj4KPj4gU2lnbmVk LW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVs LmNvbT4KPj4gLS0tCj4+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICB8ICAx MCArLS0KPj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jIHwgMTIwICsrKysr KysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLQo+PiAgMiBmaWxlcyBjaGFuZ2VkLCA2NyBp bnNlcnRpb25zKCspLCA2MyBkZWxldGlvbnMoLSkKPj4KPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgKPj4gaW5kZXggZDFhNjA3MWFmYWJlLi4xNmQ0NjI3MzY0YzUgMTAwNjQ0Cj4+IC0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oCj4+IEBAIC02NDcsMTYgKzY0NywxMiBAQCBzdHJ1Y3QgaW50ZWxfcGxh bmUgewo+PiAgCS8qCj4+ICAJICogTk9URTogRG8gbm90IHBsYWNlIG5ldyBwbGFuZSBzdGF0ZSBm aWVsZHMgaGVyZSAoZS5nLiwgd2hlbiBhZGRpbmcKPj4gIAkgKiBuZXcgcGxhbmUgcHJvcGVydGll cykuICBOZXcgcnVudGltZSBzdGF0ZSBzaG91bGQgbm93IGJlIHBsYWNlZCBpbgo+PiAtCSAqIHRo ZSBpbnRlbF9wbGFuZV9zdGF0ZSBzdHJ1Y3R1cmUgYW5kIGFjY2Vzc2VkIHZpYSBkcm1fcGxhbmUt PnN0YXRlLgo+PiArCSAqIHRoZSBpbnRlbF9wbGFuZV9zdGF0ZSBzdHJ1Y3R1cmUgYW5kIGFjY2Vz c2VkIHZpYSBwbGFuZV9zdGF0ZS4KPj4gIAkgKi8KPj4gIAo+PiAgCXZvaWQgKCp1cGRhdGVfcGxh bmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+PiAtCQkJICAgICBzdHJ1Y3QgZHJtX2NydGMg KmNydGMsCj4+IC0JCQkgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiLAo+PiAtCQkJICAg ICBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+PiAtCQkJICAgICB1bnNpZ25lZCBpbnQgY3J0Y193 LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAo+PiAtCQkJICAgICB1aW50MzJfdCB4LCB1aW50MzJfdCB5 LAo+PiAtCQkJICAgICB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpOwo+PiArCQkJICAg ICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gKwkJCSAgICAgc3RydWN0 IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7Cj4gVGhlc2Ugc2hvdWxkIGJlIGNvbnN0 Lgo+Cj4+ICAJdm9pZCAoKmRpc2FibGVfcGxhbmUpKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ PiAgCQkJICAgICAgc3RydWN0IGRybV9jcnRjICpjcnRjKTsKPj4gIAlpbnQgKCpjaGVja19wbGFu ZSkoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0 ZS5jCj4+IGluZGV4IDQyNzZjMTM1YjlmMi4uNmQzMDQ3ZjljODBmIDEwMDY0NAo+PiAtLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+PiArKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zcHJpdGUuYwo+PiBAQCAtMTc4LDI4ICsxNzgsMzIgQEAgdm9pZCBpbnRl bF9waXBlX3VwZGF0ZV9lbmQoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4+ICB9Cj4+ICAKPj4g IHN0YXRpYyB2b2lkCj4+IC1za2xfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9w bGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAtCQkgc3RydWN0IGRybV9mcmFtZWJ1ZmZl ciAqZmIsCj4+IC0JCSBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+PiAtCQkgdW5zaWduZWQgaW50 IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKPj4gLQkJIHVpbnQzMl90IHgsIHVpbnQzMl90 IHksCj4+IC0JCSB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCj4+ICtza2xfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwKPj4gKwkJIHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiArCQkgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpw bGFuZV9zdGF0ZSkKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZHJtX3BsYW5l LT5kZXY7Cj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxf cGxhbmUoZHJtX3BsYW5lKTsKPj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5l X3N0YXRlLT5iYXNlLmZiOwo+PiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBp bnRlbF9mYl9vYmooZmIpOwo+PiAgCWNvbnN0IGludCBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7 Cj4+ICAJY29uc3QgaW50IHBsYW5lID0gaW50ZWxfcGxhbmUtPnBsYW5lICsgMTsKPj4gIAl1MzIg cGxhbmVfY3RsLCBzdHJpZGVfZGl2LCBzdHJpZGU7Cj4+IC0JY29uc3Qgc3RydWN0IGRybV9pbnRl bF9zcHJpdGVfY29sb3JrZXkgKmtleSA9Cj4+IC0JCSZ0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1f cGxhbmUtPnN0YXRlKS0+Y2tleTsKPj4gKwljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9j b2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+PiAgCXVuc2lnbmVkIGxvbmcgc3Vy Zl9hZGRyOwo+PiAgCXUzMiB0aWxlX2hlaWdodCwgcGxhbmVfb2Zmc2V0LCBwbGFuZV9zaXplOwo+ PiAgCXVuc2lnbmVkIGludCByb3RhdGlvbjsKPj4gIAlpbnQgeF9vZmZzZXQsIHlfb2Zmc2V0Owo+ PiAtCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlID0gdG9faW50ZWxfY3J0Yyhj cnRjKS0+Y29uZmlnOwo+PiAtCWludCBzY2FsZXJfaWQ7Cj4+ICsKPiBXaGF0J3Mgd2l0aCB0aGUg ZXh0cmEgbmV3bGluZT8KPgo+PiArCWludCBjcnRjX3ggPSBwbGFuZV9zdGF0ZS0+ZHN0LngxLCBj cnRjX3kgPSBwbGFuZV9zdGF0ZS0+ZHN0LnkxOwo+PiArCXVpbnQzMl90IGNydGNfdyA9IGRybV9y ZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+ZHN0KTsKPj4gKwl1aW50MzJfdCBjcnRjX2ggPSBkcm1f cmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5kc3QpOwo+PiArCXVpbnQzMl90IHggPSBwbGFuZV9z dGF0ZS0+c3JjLngxID4+IDE2LCB5ID0gcGxhbmVfc3RhdGUtPnNyYy55MSA+PiAxNjsKPj4gKwl1 aW50MzJfdCBzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsK Pj4gKwl1aW50MzJfdCBzcmNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPnNyYykg Pj4gMTY7Cj4+ICsJY29uc3Qgc3RydWN0IGludGVsX3NjYWxlciAqc2NhbGVyID0KPj4gKwkJJmNy dGNfc3RhdGUtPnNjYWxlcl9zdGF0ZS5zY2FsZXJzW3BsYW5lX3N0YXRlLT5zY2FsZXJfaWRdOwo+ IFRoaXMgbG9va3MgbWVzc3kuIEkgd291bGQgYXQgbGVhc3QgZ2V0IHJpZCBvZiB0aGUgImFzc2ln biB0d28gdGhpbmdzIG9uCj4gb25lIGxpbmUgdGhpbmciLgo+Cj4+ICAKPj4gIAlwbGFuZV9jdGwg PSBQTEFORV9DVExfRU5BQkxFIHwKPj4gIAkJUExBTkVfQ1RMX1BJUEVfR0FNTUFfRU5BQkxFIHwK Pj4gQEAgLTIwOCwxNCArMjEyLDEyIEBAIHNrbF91cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFu ZSAqZHJtX3BsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJcGxhbmVfY3RsIHw9IHNr bF9wbGFuZV9jdGxfZm9ybWF0KGZiLT5waXhlbF9mb3JtYXQpOwo+PiAgCXBsYW5lX2N0bCB8PSBz a2xfcGxhbmVfY3RsX3RpbGluZyhmYi0+bW9kaWZpZXJbMF0pOwo+PiAgCj4+IC0Jcm90YXRpb24g PSBkcm1fcGxhbmUtPnN0YXRlLT5yb3RhdGlvbjsKPj4gKwlyb3RhdGlvbiA9IHBsYW5lX3N0YXRl LT5iYXNlLnJvdGF0aW9uOwo+PiAgCXBsYW5lX2N0bCB8PSBza2xfcGxhbmVfY3RsX3JvdGF0aW9u KHJvdGF0aW9uKTsKPj4gIAo+PiAgCXN0cmlkZV9kaXYgPSBpbnRlbF9mYl9zdHJpZGVfYWxpZ25t ZW50KGRldiwgZmItPm1vZGlmaWVyWzBdLAo+PiAgCQkJCQkgICAgICAgZmItPnBpeGVsX2Zvcm1h dCk7Cj4+ICAKPj4gLQlzY2FsZXJfaWQgPSB0b19pbnRlbF9wbGFuZV9zdGF0ZShkcm1fcGxhbmUt PnN0YXRlKS0+c2NhbGVyX2lkOwo+PiAtCj4+ICAJLyogU2l6ZXMgYXJlIDAgYmFzZWQgKi8KPj4g IAlzcmNfdy0tOwo+PiAgCXNyY19oLS07Cj4+IEBAIC0yNTYsMTMgKzI1OCwxMyBAQCBza2xfdXBk YXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRybV9wbGFuZSwgc3RydWN0IGRybV9jcnRjICpj cnRjLAo+PiAgCUk5MTVfV1JJVEUoUExBTkVfU0laRShwaXBlLCBwbGFuZSksIHBsYW5lX3NpemUp Owo+PiAgCj4+ICAJLyogcHJvZ3JhbSBwbGFuZSBzY2FsZXIgKi8KPj4gLQlpZiAoc2NhbGVyX2lk ID49IDApIHsKPj4gKwlpZiAocGxhbmVfc3RhdGUtPnNjYWxlcl9pZCA+PSAwKSB7Cj4+ICAJCXVp bnQzMl90IHBzX2N0cmwgPSAwOwo+PiArCQlpbnQgc2NhbGVyX2lkID0gcGxhbmVfc3RhdGUtPnNj YWxlcl9pZDsKPj4gIAo+PiAgCQlEUk1fREVCVUdfS01TKCJwbGFuZSA9ICVkIFBTX1BMQU5FX1NF TChwbGFuZSkgPSAweCV4XG4iLCBwbGFuZSwKPj4gIAkJCVBTX1BMQU5FX1NFTChwbGFuZSkpOwo+ PiAtCQlwc19jdHJsID0gUFNfU0NBTEVSX0VOIHwgUFNfUExBTkVfU0VMKHBsYW5lKSB8Cj4+IC0J CQljcnRjX3N0YXRlLT5zY2FsZXJfc3RhdGUuc2NhbGVyc1tzY2FsZXJfaWRdLm1vZGU7Cj4+ICsJ CXBzX2N0cmwgPSBQU19TQ0FMRVJfRU4gfCBQU19QTEFORV9TRUwocGxhbmUpIHwgc2NhbGVyLT5t b2RlOwo+PiAgCQlJOTE1X1dSSVRFKFNLTF9QU19DVFJMKHBpcGUsIHNjYWxlcl9pZCksIHBzX2N0 cmwpOwo+PiAgCQlJOTE1X1dSSVRFKFNLTF9QU19QV1JfR0FURShwaXBlLCBzY2FsZXJfaWQpLCAw KTsKPj4gIAkJSTkxNV9XUklURShTS0xfUFNfV0lOX1BPUyhwaXBlLCBzY2FsZXJfaWQpLCAoY3J0 Y194IDw8IDE2KSB8IGNydGNfeSk7Cj4+IEBAIC0zMzQsMjQgKzMzNiwyOCBAQCBjaHZfdXBkYXRl X2NzYyhzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lLCB1aW50MzJfdCBmb3JtYXQpCj4+ ICB9Cj4+ICAKPj4gIHN0YXRpYyB2b2lkCj4+IC12bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1f cGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+PiAtCQkgc3RydWN0IGRybV9m cmFtZWJ1ZmZlciAqZmIsCj4+IC0JCSBpbnQgY3J0Y194LCBpbnQgY3J0Y195LAo+PiAtCQkgdW5z aWduZWQgaW50IGNydGNfdywgdW5zaWduZWQgaW50IGNydGNfaCwKPj4gLQkJIHVpbnQzMl90IHgs IHVpbnQzMl90IHksCj4+IC0JCSB1aW50MzJfdCBzcmNfdywgdWludDMyX3Qgc3JjX2gpCj4+ICt2 bHZfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwKPj4gKwkJIHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+PiArCQkgc3RydWN0IGludGVsX3BsYW5lX3N0 YXRlICpwbGFuZV9zdGF0ZSkKPj4gIHsKPj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZHBs YW5lLT5kZXY7Cj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5k ZXZfcHJpdmF0ZTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50 ZWxfcGxhbmUoZHBsYW5lKTsKPj4gKwlzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiA9IHBsYW5l X3N0YXRlLT5iYXNlLmZiOwo+PiAgCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmogPSBp bnRlbF9mYl9vYmooZmIpOwo+PiAgCWludCBwaXBlID0gaW50ZWxfcGxhbmUtPnBpcGU7Cj4+ICAJ aW50IHBsYW5lID0gaW50ZWxfcGxhbmUtPnBsYW5lOwo+PiAgCXUzMiBzcHJjdGw7Cj4+ICAJdW5z aWduZWQgbG9uZyBzcHJzdXJmX29mZnNldCwgbGluZWFyX29mZnNldDsKPj4gIAlpbnQgcGl4ZWxf c2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+PiAtCWNv bnN0IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkgPQo+PiAtCQkmdG9faW50 ZWxfcGxhbmVfc3RhdGUoZHBsYW5lLT5zdGF0ZSktPmNrZXk7Cj4+ICsJY29uc3Qgc3RydWN0IGRy bV9pbnRlbF9zcHJpdGVfY29sb3JrZXkgKmtleSA9ICZwbGFuZV9zdGF0ZS0+Y2tleTsKPj4gKwo+ PiArCWludCBjcnRjX3ggPSBwbGFuZV9zdGF0ZS0+ZHN0LngxLCBjcnRjX3kgPSBwbGFuZV9zdGF0 ZS0+ZHN0LnkxOwo+PiArCXVpbnQzMl90IGNydGNfdyA9IGRybV9yZWN0X3dpZHRoKCZwbGFuZV9z dGF0ZS0+ZHN0KTsKPj4gKwl1aW50MzJfdCBjcnRjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5l X3N0YXRlLT5kc3QpOwo+PiArCXVpbnQzMl90IHggPSBwbGFuZV9zdGF0ZS0+c3JjLngxID4+IDE2 LCB5ID0gcGxhbmVfc3RhdGUtPnNyYy55MSA+PiAxNjsKPj4gKwl1aW50MzJfdCBzcmNfdyA9IGRy bV9yZWN0X3dpZHRoKCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPj4gKwl1aW50MzJfdCBzcmNf aCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPnNyYykgPj4gMTY7Cj4+ICAKPj4gIAlz cHJjdGwgPSBTUF9FTkFCTEU7Cj4+ICAKPj4gQEAgLTQyMSw3ICs0MjcsNyBAQCB2bHZfdXBkYXRl X3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKmRwbGFuZSwgc3RydWN0IGRybV9jcnRjICpjcnRjLAo+ PiAgCQkJCQkJCWZiLT5waXRjaGVzWzBdKTsKPj4gIAlsaW5lYXJfb2Zmc2V0IC09IHNwcnN1cmZf b2Zmc2V0Owo+PiAgCj4+IC0JaWYgKGRwbGFuZS0+c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1f Uk9UQVRFXzE4MCkpIHsKPj4gKwlpZiAocGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb24gPT0gQklU KERSTV9ST1RBVEVfMTgwKSkgewo+PiAgCQlzcHJjdGwgfD0gU1BfUk9UQVRFXzE4MDsKPj4gIAo+ PiAgCQl4ICs9IHNyY193Owo+PiBAQCAtNDc0LDIzICs0ODAsMjcgQEAgdmx2X2Rpc2FibGVfcGxh bmUoc3RydWN0IGRybV9wbGFuZSAqZHBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ICB9 Cj4+ICAKPj4gIHN0YXRpYyB2b2lkCj4+IC1pdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+IC0JCSBzdHJ1Y3QgZHJtX2ZyYW1l YnVmZmVyICpmYiwKPj4gLQkJIGludCBjcnRjX3gsIGludCBjcnRjX3ksCj4+IC0JCSB1bnNpZ25l ZCBpbnQgY3J0Y193LCB1bnNpZ25lZCBpbnQgY3J0Y19oLAo+PiAtCQkgdWludDMyX3QgeCwgdWlu dDMyX3QgeSwKPj4gLQkJIHVpbnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKPj4gK2l2Yl91 cGRhdGVfcGxhbmUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4+ICsJCSBzdHJ1Y3QgaW50ZWxf Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPj4gKwkJIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq cGxhbmVfc3RhdGUpCj4+ICB7Cj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5k ZXY7Cj4+ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJp dmF0ZTsKPj4gIAlzdHJ1Y3QgaW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxh bmUocGxhbmUpOwo+PiArCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUt PmJhc2UuZmI7Cj4+ICAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2Zi X29iaihmYik7Cj4+ICAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPj4gIAl1 MzIgc3ByY3RsLCBzcHJzY2FsZSA9IDA7Cj4+ICAJdW5zaWduZWQgbG9uZyBzcHJzdXJmX29mZnNl dCwgbGluZWFyX29mZnNldDsKPj4gIAlpbnQgcGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVf Y3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+PiAtCWNvbnN0IHN0cnVjdCBkcm1faW50ZWxfc3By aXRlX2NvbG9ya2V5ICprZXkgPQo+PiAtCQkmdG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0 YXRlKS0+Y2tleTsKPj4gKwljb25zdCBzdHJ1Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAq a2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+PiArCj4+ICsJaW50IGNydGNfeCA9IHBsYW5lX3N0 YXRlLT5kc3QueDEsIGNydGNfeSA9IHBsYW5lX3N0YXRlLT5kc3QueTE7Cj4+ICsJdWludDMyX3Qg Y3J0Y193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5kc3QpOwo+PiArCXVpbnQzMl90 IGNydGNfaCA9IGRybV9yZWN0X2hlaWdodCgmcGxhbmVfc3RhdGUtPmRzdCk7Cj4+ICsJdWludDMy X3QgeCA9IHBsYW5lX3N0YXRlLT5zcmMueDEgPj4gMTYsIHkgPSBwbGFuZV9zdGF0ZS0+c3JjLnkx ID4+IDE2Owo+PiArCXVpbnQzMl90IHNyY193ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRl LT5zcmMpID4+IDE2Owo+PiArCXVpbnQzMl90IHNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFu ZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPj4gIAo+PiAgCXNwcmN0bCA9IFNQUklURV9FTkFCTEU7Cj4+ ICAKPj4gQEAgLTU1MCw3ICs1NjAsNyBAQCBpdmJfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCj4+ICAJCQkJCSAgICAgICBwaXhlbF9z aXplLCBmYi0+cGl0Y2hlc1swXSk7Cj4+ICAJbGluZWFyX29mZnNldCAtPSBzcHJzdXJmX29mZnNl dDsKPj4gIAo+PiAtCWlmIChwbGFuZS0+c3RhdGUtPnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRF XzE4MCkpIHsKPj4gKwlpZiAocGxhbmVfc3RhdGUtPmJhc2Uucm90YXRpb24gPT0gQklUKERSTV9S T1RBVEVfMTgwKSkgewo+PiAgCQlzcHJjdGwgfD0gU1BSSVRFX1JPVEFURV8xODA7Cj4+ICAKPj4g IAkJLyogSFNXIGFuZCBCRFcgZG9lcyB0aGlzIGF1dG9tYWdpY2FsbHkgaW4gaGFyZHdhcmUgKi8K Pj4gQEAgLTYxMiwyMyArNjIyLDI3IEBAIGl2Yl9kaXNhYmxlX3BsYW5lKHN0cnVjdCBkcm1fcGxh bmUgKnBsYW5lLCBzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4+ICB9Cj4+ICAKPj4gIHN0YXRpYyB2 b2lkCj4+IC1pbGtfdXBkYXRlX3BsYW5lKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLCBzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4+IC0JCSBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpmYiwKPj4gLQkJ IGludCBjcnRjX3gsIGludCBjcnRjX3ksCj4+IC0JCSB1bnNpZ25lZCBpbnQgY3J0Y193LCB1bnNp Z25lZCBpbnQgY3J0Y19oLAo+PiAtCQkgdWludDMyX3QgeCwgdWludDMyX3QgeSwKPj4gLQkJIHVp bnQzMl90IHNyY193LCB1aW50MzJfdCBzcmNfaCkKPj4gK2lsa191cGRhdGVfcGxhbmUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4+ICsJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSwKPj4gKwkJIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCj4+ICB7 Cj4+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IHBsYW5lLT5kZXY7Cj4+ICAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPj4gIAlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKmludGVsX3BsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmUpOwo+PiArCXN0 cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUtPmJhc2UuZmI7Cj4+ICAJc3Ry dWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKm9iaiA9IGludGVsX2ZiX29iaihmYik7Cj4+ICAJaW50 IHBpcGUgPSBpbnRlbF9wbGFuZS0+cGlwZTsKPj4gIAl1bnNpZ25lZCBsb25nIGR2c3N1cmZfb2Zm c2V0LCBsaW5lYXJfb2Zmc2V0Owo+PiAgCXUzMiBkdnNjbnRyLCBkdnNzY2FsZTsKPj4gIAlpbnQg cGl4ZWxfc2l6ZSA9IGRybV9mb3JtYXRfcGxhbmVfY3BwKGZiLT5waXhlbF9mb3JtYXQsIDApOwo+ PiAtCWNvbnN0IHN0cnVjdCBkcm1faW50ZWxfc3ByaXRlX2NvbG9ya2V5ICprZXkgPQo+PiAtCQkm dG9faW50ZWxfcGxhbmVfc3RhdGUocGxhbmUtPnN0YXRlKS0+Y2tleTsKPj4gKwljb25zdCBzdHJ1 Y3QgZHJtX2ludGVsX3Nwcml0ZV9jb2xvcmtleSAqa2V5ID0gJnBsYW5lX3N0YXRlLT5ja2V5Owo+ PiArCj4+ICsJaW50IGNydGNfeCA9IHBsYW5lX3N0YXRlLT5kc3QueDEsIGNydGNfeSA9IHBsYW5l X3N0YXRlLT5kc3QueTE7Cj4+ICsJdWludDMyX3QgY3J0Y193ID0gZHJtX3JlY3Rfd2lkdGgoJnBs YW5lX3N0YXRlLT5kc3QpOwo+PiArCXVpbnQzMl90IGNydGNfaCA9IGRybV9yZWN0X2hlaWdodCgm cGxhbmVfc3RhdGUtPmRzdCk7Cj4+ICsJdWludDMyX3QgeCA9IHBsYW5lX3N0YXRlLT5zcmMueDEg Pj4gMTYsIHkgPSBwbGFuZV9zdGF0ZS0+c3JjLnkxID4+IDE2Owo+PiArCXVpbnQzMl90IHNyY193 ID0gZHJtX3JlY3Rfd2lkdGgoJnBsYW5lX3N0YXRlLT5zcmMpID4+IDE2Owo+PiArCXVpbnQzMl90 IHNyY19oID0gZHJtX3JlY3RfaGVpZ2h0KCZwbGFuZV9zdGF0ZS0+c3JjKSA+PiAxNjsKPj4gIAo+ PiAgCWR2c2NudHIgPSBEVlNfRU5BQkxFOwo+PiAgCj4+IEBAIC02ODQsNyArNjk4LDcgQEAgaWxr X3VwZGF0ZV9wbGFuZShzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwgc3RydWN0IGRybV9jcnRjICpj cnRjLAo+PiAgCQkJCQkgICAgICAgcGl4ZWxfc2l6ZSwgZmItPnBpdGNoZXNbMF0pOwo+PiAgCWxp bmVhcl9vZmZzZXQgLT0gZHZzc3VyZl9vZmZzZXQ7Cj4+ICAKPj4gLQlpZiAocGxhbmUtPnN0YXRl LT5yb3RhdGlvbiA9PSBCSVQoRFJNX1JPVEFURV8xODApKSB7Cj4+ICsJaWYgKHBsYW5lX3N0YXRl LT5iYXNlLnJvdGF0aW9uID09IEJJVChEUk1fUk9UQVRFXzE4MCkpIHsKPj4gIAkJZHZzY250ciB8 PSBEVlNfUk9UQVRFXzE4MDsKPj4gIAo+PiAgCQl4ICs9IHNyY193Owo+PiBAQCAtOTE3LDIzICs5 MzEsMTcgQEAgc3RhdGljIHZvaWQKPj4gIGludGVsX2NvbW1pdF9zcHJpdGVfcGxhbmUoc3RydWN0 IGRybV9wbGFuZSAqcGxhbmUsCj4+ICAJCQkgIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3Rh dGUpCj4gSSB3b25kZXIgd2h5IHRoYXQgaXNuJ3QgY29uc3QuLi4KPgpJJ20gZ3Vlc3NpbmcgYmVj YXVzZSB1bnRpbCByZWNlbnRseSBjcnRjX3N0YXRlIHdhc24ndCByZWFsbHkgdGhhdCBjb25zdC4g OikKCkkgYWdyZWUgd2Ugc2hvdWxkIGNvbnN0aWZ5IGl0LCBidXQgc2hvdWxkbid0IHRoYXQgYmUg aW4gYSBmb2xsb3d1cCBwYXRjaCBmb3IgcmVhZGFiaWxpdHk/Cgp+TWFhcnRlbgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=