From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 04/22] drm/i915: Pass proper old/new states to intel_plane_atomic_check_with_state() Date: Mon, 10 Jul 2017 16:30:01 +0300 Message-ID: <20170710133001.GK12629@intel.com> References: <20170706202442.5394-1-ville.syrjala@linux.intel.com> <20170706202442.5394-5-ville.syrjala@linux.intel.com> <94f7244c-f269-54fc-e2ed-ec10ef05663e@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <94f7244c-f269-54fc-e2ed-ec10ef05663e@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 Cc: intel-gfx@lists.freedesktop.org, dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdWwgMTAsIDIwMTcgYXQgMTE6MDQ6MzFBTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gT3AgMDYtMDctMTcgb20gMjI6MjQgc2NocmVlZiB2aWxsZS5zeXJqYWxhQGxp bnV4LmludGVsLmNvbToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20+Cj4gPgo+ID4gRWxpbWluYXRlIHBsYW5lLT5zdGF0ZSBhbmQgY3J0Yy0+ c3RhdGUgdXNhZ2UgZnJvbQo+ID4gaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUo KSBhbmQgaXRzIGNhbGxlcnMuIEluc3RlYWQgcGFzcyB0aGUKPiA+IHByb3BlciBzdGF0ZXMgaW4g b3IgZGlnIHRoZW0gdXAgZnJvbSB0aGUgdG9wIGxldmVsIGF0b21pYyBzdGF0ZS4KPiA+Cj4gPiBO b3RlIHRoYXQgaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUoKSBpdHNlbGYgaXNu J3QgYWxsb3dlZCB0bwo+ID4gdXNlIHRoZSB0b3AgbGV2ZWwgYXRvbWljIHN0YXRlIGFzIHRoZXJl IGlzIG5vbmUgd2hlbiBpdCBnZXRzIGNhbGxlZCBmcm9tCj4gPiB0aGUgbGVnYWN5IGN1cnNvciBz aG9ydCBjaXJjdWl0IHBhdGguCj4gPgo+ID4gU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOk IDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KPiA+IC0tLQo+ID4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jIHwgNDAgKysrKysrKysrKysrKysrKysrKy0t LS0tLS0tLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyAgICAg IHwgMTIgKysrKysrLS0tLQo+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oICAg ICAgICAgIHwgMTYgKysrKysrKysrKystLQo+ID4gIDMgZmlsZXMgY2hhbmdlZCwgNDYgaW5zZXJ0 aW9ucygrKSwgMjIgZGVsZXRpb25zKC0pCj4gPgo+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfYXRvbWljX3BsYW5lLmMKPiA+IGluZGV4IGVlNzZmYWI3YmI2Zi4uN2NkYmU5YWUyYzk2IDEw MDY0NAo+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXRvbWljX3BsYW5lLmMK PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F0b21pY19wbGFuZS5jCj4gPiBA QCAtMTA3LDcgKzEwNyw5IEBAIGludGVsX3BsYW5lX2Rlc3Ryb3lfc3RhdGUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gPiAgCWRybV9hdG9taWNfaGVscGVyX3BsYW5lX2Rlc3Ryb3lfc3RhdGUo cGxhbmUsIHN0YXRlKTsKPiA+ICB9Cj4gPiAgCj4gPiAtaW50IGludGVsX3BsYW5lX2F0b21pY19j aGVja193aXRoX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4g K2ludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShjb25zdCBzdHJ1Y3QgaW50 ZWxfY3J0Y19zdGF0ZSAqb2xkX2NydGNfc3RhdGUsCj4gPiArCQkJCQlzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ICsJCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF9wbGFuZV9z dGF0ZSAqb2xkX3BsYW5lX3N0YXRlLAo+ID4gIAkJCQkJc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICppbnRlbF9zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lID0gaW50 ZWxfc3RhdGUtPmJhc2UucGxhbmU7Cj4gPiBAQCAtMTI0LDcgKzEyNiw3IEBAIGludCBpbnRlbF9w bGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0 Y19zdGF0ZSwKPiA+ICAJICogYW55dGhpbmcgZHJpdmVyLXNwZWNpZmljIHdlIG5lZWQgdG8gdGVz dCBpbiB0aGF0IGNhc2UsIHNvCj4gPiAgCSAqIGp1c3QgcmV0dXJuIHN1Y2Nlc3MuCj4gPiAgCSAq Lwo+ID4gLQlpZiAoIWludGVsX3N0YXRlLT5iYXNlLmNydGMgJiYgIXBsYW5lLT5zdGF0ZS0+Y3J0 YykKPiA+ICsJaWYgKCFpbnRlbF9zdGF0ZS0+YmFzZS5jcnRjICYmICFvbGRfcGxhbmVfc3RhdGUt PmJhc2UuY3J0YykKPiA+ICAJCXJldHVybiAwOwo+ID4gIAo+ID4gIAkvKiBDbGlwIGFsbCBwbGFu ZXMgdG8gQ1JUQyBzaXplLCBvciAweDAgaWYgQ1JUQyBpcyBkaXNhYmxlZCAqLwo+ID4gQEAgLTE5 NCwxNyArMTk2LDIxIEBAIGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0aF9zdGF0ZShz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKPiA+ICAJZWxzZQo+ID4gIAkJY3J0 Y19zdGF0ZS0+YWN0aXZlX3BsYW5lcyAmPSB+QklUKGludGVsX3BsYW5lLT5pZCk7Cj4gPiAgCj4g PiAtCXJldHVybiBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKCZjcnRjX3N0YXRlLT5i YXNlLCBzdGF0ZSk7Cj4gPiArCXJldHVybiBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2Vz KG9sZF9jcnRjX3N0YXRlLAo+ID4gKwkJCQkJICAgICAgICZjcnRjX3N0YXRlLT5iYXNlLAo+ID4g KwkJCQkJICAgICAgIG9sZF9wbGFuZV9zdGF0ZSwKPiA+ICsJCQkJCSAgICAgICBzdGF0ZSk7Cj4g PiAgfQo+ID4gIAo+ID4gIHN0YXRpYyBpbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrKHN0cnVj dCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gIAkJCQkgICAgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAq c3RhdGUpCj4gbmV3X3BsYW5lX3N0YXRlPwoKSSB3YXMgdHJ5aW5nIHRvIGtlZXAgdGhlc2UgcGF0 Y2hlcyBhcyBtaW5pbWFsIGFzIHBvc3NpYmxlLiBTbyBJIHdhcwphdm9pZGluZyByZW5hbWluZyB0 aGluZ3MgdGhhdCBhbHJlYWR5IGhhZCBuYW1lcy4gSSBkbyBhZ3JlZSB3aG9sZQpoZWFydGVkbHkg dGhhdCB3ZSBoYXZlIHRvIHJlbmFtZSB0aGVzZSB0aGluZ3MgYnV0IEkgd2FzIHRoaW5raW5nIHdl CmNvdWxkIHBlcmhhcHMgdHJ5IHRvIGRvIHRoYXQgd2l0aCBjb2NjaW5lbGxlLiBOb3QgcXVpdGUg c3VyZSBpZiB0aGF0J3MKZmVhc2libGUgYnV0IHNlZW1zIGxpa2UgYW4gaW50ZXJlc3RpbmcgdGhp bmcgdG8gdHJ5IG91dC4KCj4gPiAgewo+ID4gLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBzdGF0 ZS0+Y3J0YzsKPiA+ICsJY29uc3Qgc3RydWN0IGRybV9wbGFuZV9zdGF0ZSAqb2xkX3BsYW5lX3N0 YXRlID0KPiA+ICsJCWRybV9hdG9taWNfZ2V0X29sZF9wbGFuZV9zdGF0ZShzdGF0ZS0+c3RhdGUs IHBsYW5lKTsKPiA+ICsJc3RydWN0IGRybV9jcnRjICpjcnRjID0gc3RhdGUtPmNydGMgPzogb2xk X3BsYW5lX3N0YXRlLT5jcnRjOwo+ID4gKwljb25zdCBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9s ZF9jcnRjX3N0YXRlOwo+ID4gIAlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmRybV9jcnRjX3N0YXRl Owo+ID4gIAo+ID4gLQljcnRjID0gY3J0YyA/IGNydGMgOiBwbGFuZS0+c3RhdGUtPmNydGM7Cj4g PiAtCj4gPiAgCS8qCj4gPiAgCSAqIEJvdGggY3J0YyBhbmQgcGxhbmUtPmNydGMgY291bGQgYmUg TlVMTCBpZiB3ZSdyZSB1cGRhdGluZyBhCj4gPiAgCSAqIHByb3BlcnR5IHdoaWxlIHRoZSBwbGFu ZSBpcyBkaXNhYmxlZC4gIFdlIGRvbid0IGFjdHVhbGx5IGhhdmUKPiA+IEBAIC0yMTQsMjkgKzIy MCwzMyBAQCBzdGF0aWMgaW50IGludGVsX3BsYW5lX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX3Bs YW5lICpwbGFuZSwKPiA+ICAJaWYgKCFjcnRjKQo+ID4gIAkJcmV0dXJuIDA7Cj4gPiAgCj4gPiAt CWRybV9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRfZXhpc3RpbmdfY3J0Y19zdGF0ZShzdGF0 ZS0+c3RhdGUsIGNydGMpOwo+ID4gLQlpZiAoV0FSTl9PTighZHJtX2NydGNfc3RhdGUpKQo+ID4g LQkJcmV0dXJuIC1FSU5WQUw7Cj4gPiArCW9sZF9jcnRjX3N0YXRlID0gZHJtX2F0b21pY19nZXRf b2xkX2NydGNfc3RhdGUoc3RhdGUtPnN0YXRlLCBjcnRjKTsKPiA+ICsJZHJtX2NydGNfc3RhdGUg PSBkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShzdGF0ZS0+c3RhdGUsIGNydGMpOwo+IG5l d19jcnRjX3N0YXRlPwoKWWVzLiBJbiB0aGlzIGNhc2UgdGhhdCBkZWZpbml0ZWx5IG1ha2VzIHNl bnNlIHNpbmNlIGl0J3Mgbm90IHVzZWQgZWxzZXdoZXJlLgoKPiA+IC0JcmV0dXJuIGludGVsX3Bs YW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKHRvX2ludGVsX2NydGNfc3RhdGUoZHJtX2NydGNf c3RhdGUpLAo+ID4gKwlyZXR1cm4gaW50ZWxfcGxhbmVfYXRvbWljX2NoZWNrX3dpdGhfc3RhdGUo dG9faW50ZWxfY3J0Y19zdGF0ZShvbGRfY3J0Y19zdGF0ZSksCj4gPiArCQkJCQkJICAgdG9faW50 ZWxfY3J0Y19zdGF0ZShkcm1fY3J0Y19zdGF0ZSksCj4gPiArCQkJCQkJICAgdG9faW50ZWxfcGxh bmVfc3RhdGUob2xkX3BsYW5lX3N0YXRlKSwKPiA+ICAJCQkJCQkgICB0b19pbnRlbF9wbGFuZV9z dGF0ZShzdGF0ZSkpOwo+ID4gIH0KPiA+ICAKPiA+ICBzdGF0aWMgdm9pZCBpbnRlbF9wbGFuZV9h dG9taWNfdXBkYXRlKHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gIAkJCQkgICAgICBzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpvbGRfc3RhdGUpCj4gPiAgewo+ID4gKwlzdHJ1Y3QgaW50ZWxf YXRvbWljX3N0YXRlICpzdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUtPnN0 YXRlKTsKPiA+ICAJc3RydWN0IGludGVsX3BsYW5lICppbnRlbF9wbGFuZSA9IHRvX2ludGVsX3Bs YW5lKHBsYW5lKTsKPiA+IC0Jc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICppbnRlbF9zdGF0ZSA9 Cj4gPiAtCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpOwo+ID4gLQlzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMgPSBwbGFuZS0+c3RhdGUtPmNydGMgPzogb2xkX3N0YXRlLT5jcnRjOwo+ ID4gKwljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKmludGVsX3N0YXRlID0KPiA+ICsJ CWludGVsX2F0b21pY19nZXRfbmV3X3BsYW5lX3N0YXRlKHN0YXRlLCBpbnRlbF9wbGFuZSk7Cj4g PiArCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IGludGVsX3N0YXRlLT5iYXNlLmNydGMgPzogb2xk X3N0YXRlLT5jcnRjOwo+ID4gIAo+ID4gIAlpZiAoaW50ZWxfc3RhdGUtPmJhc2UudmlzaWJsZSkg ewo+ID4gKwkJY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmludGVsX2NydGNfc3RhdGUg PQo+ID4gKwkJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIHRvX2ludGVs X2NydGMoY3J0YykpOwo+ID4gKwo+ID4gIAkJdHJhY2VfaW50ZWxfdXBkYXRlX3BsYW5lKHBsYW5l LAo+ID4gIAkJCQkJIHRvX2ludGVsX2NydGMoY3J0YykpOwo+ID4gIAo+ID4gIAkJaW50ZWxfcGxh bmUtPnVwZGF0ZV9wbGFuZShpbnRlbF9wbGFuZSwKPiA+IC0JCQkJCSAgdG9faW50ZWxfY3J0Y19z dGF0ZShjcnRjLT5zdGF0ZSksCj4gPiAtCQkJCQkgIGludGVsX3N0YXRlKTsKPiA+ICsJCQkJCSAg aW50ZWxfY3J0Y19zdGF0ZSwgaW50ZWxfc3RhdGUpOwo+ID4gIAl9IGVsc2Ugewo+ID4gIAkJdHJh Y2VfaW50ZWxfZGlzYWJsZV9wbGFuZShwbGFuZSwKPiA+ICAJCQkJCSAgdG9faW50ZWxfY3J0Yyhj cnRjKSk7Cj4gSSB0aGluayB3aXRoIHNvIG1hbnkgbmFtZXMsIG1pZ2h0IGJlIGJldHRlciB0byB1 c2UgbmV3X2NydGNfc3RhdGUgYW5kIG5ld19wbGFuZV9zdGF0ZSBoZXJlLgoKSSBndWVzcyB0aGlz IGZ1bmN0aW9uIGlzIHNtYWxsIGVub3VnaCB0aGF0IGRvaW5nIHRoZSByZW5hbWVzIGltbWVkaWF0 ZWx5CmRvZXMgbWFrZSBzZW5zZS4KCj4gCj4gU3RhdGUgaXMgdXNlZCBzbyBtdWNoIGFzIGtleXdv cmQgaW4gYXRvbWljIHRoYXQgd2l0aCBtdWx0aXBsZSBzdGF0ZXMsIGludGVsX3N0YXRlIGJlY29t ZXMgYXMgZGVzY3JpcHRpdmUgYXMgdm9pZCAqcHRyLiA6KQo+IAo+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggY2RmYTk1YmU0YjhlLi42NDQwNDc5ZDZmZTIgMTAw NjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTExMDExLDcg KzExMDExLDcgQEAgc3RhdGljIGJvb2wgaW50ZWxfd21fbmVlZF91cGRhdGUoc3RydWN0IGRybV9w bGFuZSAqcGxhbmUsCj4gPiAgCXJldHVybiBmYWxzZTsKPiA+ICB9Cj4gPiAgCj4gPiAtc3RhdGlj IGJvb2wgbmVlZHNfc2NhbGluZyhzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlKQo+ID4g K3N0YXRpYyBib29sIG5lZWRzX3NjYWxpbmcoY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRl ICpzdGF0ZSkKPiA+ICB7Cj4gPiAgCWludCBzcmNfdyA9IGRybV9yZWN0X3dpZHRoKCZzdGF0ZS0+ YmFzZS5zcmMpID4+IDE2Owo+ID4gIAlpbnQgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnN0YXRl LT5iYXNlLnNyYykgPj4gMTY7Cj4gPiBAQCAtMTEwMjEsNyArMTEwMjEsOSBAQCBzdGF0aWMgYm9v bCBuZWVkc19zY2FsaW5nKHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpCj4gPiAgCXJl dHVybiAoc3JjX3cgIT0gZHN0X3cgfHwgc3JjX2ggIT0gZHN0X2gpOwo+ID4gIH0KPiA+ICAKPiA+ IC1pbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNfY2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3Rh dGUgKmNydGNfc3RhdGUsCj4gPiAraW50IGludGVsX3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlLAo+ID4gKwkJCQkg ICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCQkgICAgY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCj4gPiAgCQkJCSAgICBz dHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKPiA+ICB7Cj4gPiAgCXN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19z dGF0ZSk7Cj4gPiBAQCAtMTEwMzAsMTAgKzExMDMyLDggQEAgaW50IGludGVsX3BsYW5lX2F0b21p Y19jYWxjX2NoYW5nZXMoc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gIAlz dHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUocGxhbmVfc3RhdGUtPnBs YW5lKTsKPiA+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwo+ID4gLQlzdHJ1 Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKm9sZF9wbGFuZV9zdGF0ZSA9Cj4gPiAtCQl0b19pbnRlbF9w bGFuZV9zdGF0ZShwbGFuZS0+YmFzZS5zdGF0ZSk7Cj4gPiAgCWJvb2wgbW9kZV9jaGFuZ2VkID0g bmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKTsKPiA+IC0JYm9vbCB3YXNfY3J0Y19lbmFibGVkID0g Y3J0Yy0+c3RhdGUtPmFjdGl2ZTsKPiA+ICsJYm9vbCB3YXNfY3J0Y19lbmFibGVkID0gb2xkX2Ny dGNfc3RhdGUtPmJhc2UuYWN0aXZlOwo+ID4gIAlib29sIGlzX2NydGNfZW5hYmxlZCA9IGNydGNf c3RhdGUtPmFjdGl2ZTsKPiA+ICAJYm9vbCB0dXJuX29mZiwgdHVybl9vbiwgdmlzaWJsZSwgd2Fz X3Zpc2libGU7Cj4gPiAgCXN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3RhdGUt PmZiOwo+ID4gQEAgLTEzNjYwLDYgKzEzNjYwLDggQEAgaW50ZWxfbGVnYWN5X2N1cnNvcl91cGRh dGUoc3RydWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgCW5ld19wbGFuZV9zdGF0ZS0+Y3J0Y19o ID0gY3J0Y19oOwo+ID4gIAo+ID4gIAlyZXQgPSBpbnRlbF9wbGFuZV9hdG9taWNfY2hlY2tfd2l0 aF9zdGF0ZSh0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKSwKPiBeb2xkIGNydGMgc3Rh dGUgaGVyZT8KPiA+ICsJCQkJCQkgIHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpLCAv KiBGSVhNRSBuZWVkIGEgbmV3IGNydGMgc3RhdGU/ICovCj4gYW5kIGNydGNfc3RhdGUgaGVyZT8g WW91IGFscmVhZHkgcGFzcyBib3RoIHRvIHRoaXMgZnVuY3Rpb24/Cj4gPiArCQkJCQkJICB0b19p bnRlbF9wbGFuZV9zdGF0ZShwbGFuZS0+c3RhdGUpLAo+IGFuZCBvbGRfcGxhbmVfc3RhdGUgaGVy ZT8KPiA+ICAJCQkJCQkgIHRvX2ludGVsX3BsYW5lX3N0YXRlKG5ld19wbGFuZV9zdGF0ZSkpOwo+ ID4gIAlpZiAocmV0KQo+ID4gIAkJZ290byBvdXRfZnJlZTsKPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gPiBpbmRleCBlOWQ2MWEwM2M0NmUuLmVhMzZkMWE2MWU4NiAxMDA2NDQKPiA+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gQEAgLTEyMDcsNiArMTIwNywxNCBAQCBoZG1pX3Rv X2RpZ19wb3J0KHN0cnVjdCBpbnRlbF9oZG1pICppbnRlbF9oZG1pKQo+ID4gIAlyZXR1cm4gY29u dGFpbmVyX29mKGludGVsX2hkbWksIHN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQsIGhkbWkpOwo+ ID4gIH0KPiA+ICAKPiA+ICtzdGF0aWMgaW5saW5lIHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAq Cj4gPiAraW50ZWxfYXRvbWljX2dldF9uZXdfcGxhbmVfc3RhdGUoc3RydWN0IGludGVsX2F0b21p Y19zdGF0ZSAqc3RhdGUsCj4gPiArCQkJCSBzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lKQo+ID4g K3sKPiA+ICsJcmV0dXJuIHRvX2ludGVsX3BsYW5lX3N0YXRlKGRybV9hdG9taWNfZ2V0X25ld19w bGFuZV9zdGF0ZSgmc3RhdGUtPmJhc2UsCj4gPiArCQkJCQkJCQkgICAmcGxhbmUtPmJhc2UpKTsK PiA+ICt9Cj4gPiArCj4gPiAgc3RhdGljIGlubGluZSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAq Cj4gPiAgaW50ZWxfYXRvbWljX2dldF9vbGRfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfYXRvbWlj X3N0YXRlICpzdGF0ZSwKPiA+ICAJCQkJc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gPiBAQCAt MTQzOSw3ICsxNDQ3LDkgQEAgaW50IGludGVsX3BsYW5lX2F0b21pY19zZXRfcHJvcGVydHkoc3Ry dWN0IGRybV9wbGFuZSAqcGxhbmUsCj4gPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRl ICpzdGF0ZSwKPiA+ICAJCQkJICAgIHN0cnVjdCBkcm1fcHJvcGVydHkgKnByb3BlcnR5LAo+ID4g IAkJCQkgICAgdWludDY0X3QgdmFsKTsKPiA+IC1pbnQgaW50ZWxfcGxhbmVfYXRvbWljX2NhbGNf Y2hhbmdlcyhzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUsCj4gPiAraW50IGludGVs X3BsYW5lX2F0b21pY19jYWxjX2NoYW5nZXMoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km9sZF9jcnRjX3N0YXRlLAo+ID4gKwkJCQkgICAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpjcnRj X3N0YXRlLAo+ID4gKwkJCQkgICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpvbGRf cGxhbmVfc3RhdGUsCj4gPiAgCQkJCSAgICBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwbGFuZV9z dGF0ZSk7Cj4gPiAgCj4gPiAgdm9pZCBhc3NlcnRfcGNoX3RyYW5zY29kZXJfZGlzYWJsZWQoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gQEAgLTE5OTAsNyArMjAwMCw5IEBA IHN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKmludGVsX3BsYW5lX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1 Y3QgZHJtX3BsYW5lICpwbGFuZSk7Cj4gPiAgdm9pZCBpbnRlbF9wbGFuZV9kZXN0cm95X3N0YXRl KHN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lLAo+ID4gIAkJCSAgICAgICBzdHJ1Y3QgZHJtX3BsYW5l X3N0YXRlICpzdGF0ZSk7Cj4gPiAgZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1fcGxhbmVfaGVscGVy X2Z1bmNzIGludGVsX3BsYW5lX2hlbHBlcl9mdW5jczsKPiA+IC1pbnQgaW50ZWxfcGxhbmVfYXRv bWljX2NoZWNrX3dpdGhfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUs Cj4gPiAraW50IGludGVsX3BsYW5lX2F0b21pY19jaGVja193aXRoX3N0YXRlKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKPiA+ICsJCQkJCXN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAo+ID4gKwkJCQkJY29uc3Qgc3RydWN0IGludGVsX3Bs YW5lX3N0YXRlICpvbGRfcGxhbmVfc3RhdGUsCj4gPiAgCQkJCQlzdHJ1Y3QgaW50ZWxfcGxhbmVf c3RhdGUgKmludGVsX3N0YXRlKTsKPiA+ICAKPiA+ICAvKiBpbnRlbF9jb2xvci5jICovCj4gCj4g UGxlYXNlIGZvciB0aGlzIHdob2xlIHBhdGNoLCB1c2Ugb2xkL25ld19wbGFuZS9jcnRjX3N0YXRl LCBvciBpdCBiZWNvbWVzIHVucmVhZGFibGUgdmVyeSBmYXN0LiA6KQoKVGhlIGNvZGUgaXMgYWxy ZWFkeSBwcmV0dHkgbXVjaCB1bnJlYWRhYmxlIGluIHBsYWNlcyBkdWUgdG8gdGhpcy4KSGVuY2Ug SSB3YXMgYWltaW5nIGZvciBkb2luZyBhIG1hc3MgcmVuYW1lIGxhdGVyLgoKLS0gClZpbGxlIFN5 cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0 b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50 ZWwtZ2Z4Cg==