From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH 03/24] drm/i915: clean up intel_sanitize_crtc Date: Tue, 2 Jun 2015 18:27:31 -0700 Message-ID: <20150603012731.GC17555@intel.com> References: <1433165247-15928-1-git-send-email-maarten.lankhorst@linux.intel.com> <1433165247-15928-4-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" 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 3BCA96E904 for ; Tue, 2 Jun 2015 18:27:32 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1433165247-15928-4-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 Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gTW9uLCBKdW4gMDEsIDIwMTUgYXQgMDM6Mjc6MDZQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gQXBwbHkgZm9yY2UgaWYgbmVlZGVkLgoKSXQncyBub3QgY2xlYXIgdG8gbWUg d2hhdCB0aGlzIG1lYW5zOyBjYW4geW91IGVsYWJvcmF0ZT8gIEl0IHNlZW1zIHRoYXQKJ2ZvcmNl JyBpbiB0aGUgY29udGV4dCBvZiBpbnRlbF9jcnRjX2NvbnRyb2woKSBtZWFucyB3ZSdyZSB1cGRh dGluZyB0aGUKJ2VuYWJsZScgZmllbGQgYXMgd2VsbCwgbm90IGp1c3QgdGhlICdhY3RpdmUnIGZp ZWxkLgoKPiBEdXJpbmcgYm9vdCBwaXBlX2NvbmZpZy0+YWN0aXZlIHdpbGwgYmUgZmFsc2UuCj4g T24gcmVzdW1lIG5vIHNlcGFyYXRlIG1vZGVzZXQgaXMgbmVlZGVkIHdoZW4gdGhlIHN0YXRlIGdl dHMgcmVzdG9yZWQKPiB3aXRoIHRoZSBzdyBzdGF0ZSBhbnl3YXkuCgpJZiBJIHVuZGVyc3RhbmQg dGhlIGdpdCBoaXN0b3J5IGNvcnJlY3RseSwgdGhlcmUncyBhbHNvIGEgc3BlY2lhbCBjYXNlCndo ZXJlIGludGVsX21vZGVzZXRfc2V0dXBfaHdfc3RhdGUoKSBnZXRzIGNhbGxlZCBvbiBsaWQgc3Rh dHVzIGNoYW5nZQpiZWNhdXNlIHNvbWUgQklPUyBzaWxlbnRseSBjaGFuZ2UgaGFyZHdhcmUgc3Rh dGUgYmVoaW5kIG91ciBiYWNrLiAgQXJlCndlIHN0aWxsIGNvdmVyZWQgaW4gdGhhdCBjYXNlPwoK Ck1hdHQKCj4gCj4gU2lnbmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFu a2hvcnN0QGxpbnV4LmludGVsLmNvbT4KPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kZWJ1Z2ZzLmMgIHwgIDggKystLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMgfCA4NCArKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgIDIgKy0KPiAgMyBmaWxlcyBjaGFuZ2Vk LCAyOSBpbnNlcnRpb25zKCspLCA2NSBkZWxldGlvbnMoLSkKPiAKPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2RlYnVnZnMuYwo+IGluZGV4IDUxZmUwZmJjZDAwYy4uZGIyMzkxNmMxODc1IDEwMDY0NAo+ IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4gKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiBAQCAtMzYzNyw3ICszNjM3LDcgQEAgc3Rh dGljIHZvaWQgaHN3X3RyYW5zX2VkcF9waXBlX0FfY3JjX3dhKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCj4gIAkJYm9vbCBhY3RpdmUgPSBwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmU7Cj4gIAo+ICAJ CWlmIChhY3RpdmUpIHsKPiAtCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxz ZSk7Cj4gKwkJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFzZSwgZmFsc2UsIGZhbHNlKTsK PiAgCQkJcGlwZV9jb25maWcgPSB0b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPmJhc2Uuc3RhdGUp Owo+ICAJCX0KPiAgCj4gQEAgLTM2NDcsNyArMzY0Nyw3IEBAIHN0YXRpYyB2b2lkIGhzd190cmFu c19lZHBfcGlwZV9BX2NyY193YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQkJCVBPV0VS X0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihQSVBFX0EpKTsKPiAgCj4gIAkJaWYgKGFjdGl2ZSkK PiAtCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0cnVlKTsKPiArCQkJaW50ZWxf Y3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0cnVlLCBmYWxzZSk7Cj4gIAl9Cj4gIAlkcm1fbW9k ZXNldF91bmxvY2tfYWxsKGRldik7Cj4gIH0KPiBAQCAtMzY3MSw3ICszNjcxLDcgQEAgc3RhdGlj IHZvaWQgaHN3X3VuZG9fdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2Eoc3RydWN0IGRybV9kZXZpY2Ug KmRldikKPiAgCQlib29sIGFjdGl2ZSA9IHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZTsKPiAgCj4g IAkJaWYgKGFjdGl2ZSkgewo+IC0JCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIGZh bHNlKTsKPiArCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSwgZmFsc2Up Owo+ICAJCQlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0 ZSk7Cj4gIAkJfQo+ICAKPiBAQCAtMzY4MSw3ICszNjgxLDcgQEAgc3RhdGljIHZvaWQgaHN3X3Vu ZG9fdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2Eoc3RydWN0IGRybV9kZXZpY2UgKmRldikKPiAgCQkJ CQlQT1dFUl9ET01BSU5fUElQRV9QQU5FTF9GSVRURVIoUElQRV9BKSk7Cj4gIAo+ICAJCWlmIChh Y3RpdmUpCj4gLQkJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFzZSwgdHJ1ZSk7Cj4gKwkJ CWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFzZSwgdHJ1ZSwgZmFsc2UpOwo+ICAJfQo+ICAJ ZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYwo+IGluZGV4IDBmMDMxNjU4YTI5Ny4uOGU5YWZjNTVjMjg0IDEwMDY0NAo+IC0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC02MTkyLDcgKzYxOTIsNyBAQCBmcmVl Ogo+ICB9Cj4gIAo+ICAvKiBNYXN0ZXIgZnVuY3Rpb24gdG8gZW5hYmxlL2Rpc2FibGUgQ1JUQyBh bmQgY29ycmVzcG9uZGluZyBwb3dlciB3ZWxscyAqLwo+IC1pbnQgaW50ZWxfY3J0Y19jb250cm9s KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFibGUpCj4gK2ludCBpbnRlbF9jcnRjX2Nv bnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGFjdGl2ZSwgYm9vbCBmb3JjZSkKPiAg ewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiAgCXN0cnVjdCBkcm1f bW9kZV9jb25maWcgKmNvbmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwo+IEBAIC02MjAyLDEwICs2 MjAyLDEzIEBAIGludCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBi b29sIGVuYWJsZSkKPiAgCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKPiAgCWludCBy ZXQ7Cj4gIAo+IC0JaWYgKGVuYWJsZSA9PSBpbnRlbF9jcnRjLT5hY3RpdmUpCj4gKwlpZiAoV0FS Tl9PTihhY3RpdmUgJiYgZm9yY2UpKQo+ICsJCXJldHVybiAtRUlOVkFMOwo+ICsKPiArCWlmIChh Y3RpdmUgPT0gaW50ZWxfY3J0Yy0+YWN0aXZlKQo+ICAJCXJldHVybiAwOwo+ICAKPiAtCWlmIChl bmFibGUgJiYgIWNydGMtPnN0YXRlLT5lbmFibGUpCj4gKwlpZiAoYWN0aXZlICYmICFjcnRjLT5z dGF0ZS0+ZW5hYmxlKQo+ICAJCXJldHVybiAwOwo+ICAKPiAgCS8qIHRoaXMgZnVuY3Rpb24gc2hv dWxkIGJlIGNhbGxlZCB3aXRoIGRybV9tb2Rlc2V0X2xvY2tfYWxsIGZvciBub3cgKi8KPiBAQCAt NjIyNSw3ICs2MjI4LDkgQEAgaW50IGludGVsX2NydGNfY29udHJvbChzdHJ1Y3QgZHJtX2NydGMg KmNydGMsIGJvb2wgZW5hYmxlKQo+ICAJCXJldCA9IFBUUl9FUlIocGlwZV9jb25maWcpOwo+ICAJ CWdvdG8gZXJyOwo+ICAJfQo+IC0JcGlwZV9jb25maWctPmJhc2UuYWN0aXZlID0gZW5hYmxlOwo+ ICsJcGlwZV9jb25maWctPmJhc2UuYWN0aXZlID0gYWN0aXZlOwo+ICsJaWYgKGZvcmNlKQo+ICsJ CXBpcGVfY29uZmlnLT5iYXNlLmVuYWJsZSA9IGZhbHNlOwo+ICAKPiAgCXJldCA9IGludGVsX3Nl dF9tb2RlKHN0YXRlKTsKPiAgCWlmICghcmV0KQo+IEBAIC02MjQ5LDcgKzYyNTQsNyBAQCB2b2lk IGludGVsX2NydGNfdXBkYXRlX2RwbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQo+ICAJZm9yX2Vh Y2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgaW50ZWxfZW5jb2RlcikKPiAgCQllbmFibGUg fD0gaW50ZWxfZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmU7Cj4gIAo+IC0JaW50ZWxfY3J0Y19j b250cm9sKGNydGMsIGVuYWJsZSk7Cj4gKwlpbnRlbF9jcnRjX2NvbnRyb2woY3J0YywgZW5hYmxl LCBmYWxzZSk7Cj4gIH0KPiAgCj4gIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBk cm1fZW5jb2RlciAqZW5jb2RlcikKPiBAQCAtMTQ4MTIsMTEgKzE0ODE3LDE0IEBAIGludGVsX2No ZWNrX3BsYW5lX21hcHBpbmcoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAlyZXR1cm4gdHJ1 ZTsKPiAgfQo+ICAKPiAtc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YykKPiArc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3Qg aW50ZWxfY3J0YyAqY3J0YywKPiArCQkJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2Nv bmZpZykKPiAgewo+ICAJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmJhc2UuZGV2Owo+ ICAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsK PiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOwo+ICAJdTMyIHJlZzsKPiAr CWJvb2wgZW5hYmxlOwo+ICAKPiAgCS8qIENsZWFyIGFueSBmcmFtZSBzdGFydCBkZWxheXMgdXNl ZCBmb3IgZGVidWdnaW5nIGxlZnQgYnkgdGhlIEJJT1MgKi8KPiAgCXJlZyA9IFBJUEVDT05GKGNy dGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29kZXIpOwo+IEBAIC0xNDgzMyw3ICsxNDg0MSw2IEBAIHN0 YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4g IAkgKiBkaXNhYmxlIHRoZSBjcnRjIChhbmQgaGVuY2UgY2hhbmdlIHRoZSBzdGF0ZSkgaWYgaXQg aXMgd3JvbmcuIE5vdGUKPiAgCSAqIHRoYXQgZ2VuNCsgaGFzIGEgZml4ZWQgcGxhbmUgLT4gcGlw ZSBtYXBwaW5nLiAgKi8KPiAgCWlmIChJTlRFTF9JTkZPKGRldiktPmdlbiA8IDQgJiYgIWludGVs X2NoZWNrX3BsYW5lX21hcHBpbmcoY3J0YykpIHsKPiAtCQlzdHJ1Y3QgaW50ZWxfY29ubmVjdG9y ICpjb25uZWN0b3I7Cj4gIAkJYm9vbCBwbGFuZTsKPiAgCj4gIAkJRFJNX0RFQlVHX0tNUygiW0NS VEM6JWRdIHdyb25nIHBsYW5lIGNvbm5lY3Rpb24gZGV0ZWN0ZWQhXG4iLAo+IEBAIC0xNDg0Niwz MyArMTQ4NTMsMTIgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50 ZWxfY3J0YyAqY3J0YykKPiAgCQl0b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5iYXNlLnByaW1h cnktPnN0YXRlKS0+dmlzaWJsZSA9IHRydWU7Cj4gIAkJY3J0Yy0+YmFzZS5wcmltYXJ5LT5jcnRj ID0gJmNydGMtPmJhc2U7Cj4gIAkJY3J0Yy0+cGxhbmUgPSAhcGxhbmU7Cj4gLQkJaW50ZWxfY3J0 Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSk7Cj4gKwkJaW50ZWxfY3J0Y19jb250cm9sKCZj cnRjLT5iYXNlLCBmYWxzZSwgdHJ1ZSk7Cj4gIAkJY3J0Yy0+cGxhbmUgPSBwbGFuZTsKPiAtCj4g LQkJLyogLi4uIGFuZCBicmVhayBhbGwgbGlua3MuICovCj4gLQkJZm9yX2VhY2hfaW50ZWxfY29u bmVjdG9yKGRldiwgY29ubmVjdG9yKSB7Cj4gLQkJCWlmIChjb25uZWN0b3ItPmVuY29kZXItPmJh c2UuY3J0YyAhPSAmY3J0Yy0+YmFzZSkKPiAtCQkJCWNvbnRpbnVlOwo+IC0KPiAtCQkJY29ubmVj dG9yLT5iYXNlLmRwbXMgPSBEUk1fTU9ERV9EUE1TX09GRjsKPiAtCQkJY29ubmVjdG9yLT5iYXNl LmVuY29kZXIgPSBOVUxMOwo+IC0JCX0KPiAtCQkvKiBtdWx0aXBsZSBjb25uZWN0b3JzIG1heSBo YXZlIHRoZSBzYW1lIGVuY29kZXI6Cj4gLQkJICogIGhhbmRsZSB0aGVtIGFuZCBicmVhayBjcnRj IGxpbmsgc2VwYXJhdGVseSAqLwo+IC0JCWZvcl9lYWNoX2ludGVsX2Nvbm5lY3RvcihkZXYsIGNv bm5lY3RvcikKPiAtCQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFzZS5jcnRjID09ICZjcnRj LT5iYXNlKSB7Cj4gLQkJCQljb25uZWN0b3ItPmVuY29kZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4g LQkJCQljb25uZWN0b3ItPmVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Cj4gLQkJ CX0KPiAtCj4gLQkJV0FSTl9PTihjcnRjLT5hY3RpdmUpOwo+IC0JCWNydGMtPmJhc2Uuc3RhdGUt PmVuYWJsZSA9IGZhbHNlOwo+IC0JCWNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSA9IGZhbHNlOwo+ IC0JCWNydGMtPmJhc2UuZW5hYmxlZCA9IGZhbHNlOwo+ICAJfQo+ICAKPiAgCWlmIChkZXZfcHJp di0+cXVpcmtzICYgUVVJUktfUElQRUFfRk9SQ0UgJiYKPiAtCSAgICBjcnRjLT5waXBlID09IFBJ UEVfQSAmJiAhY3J0Yy0+YWN0aXZlKSB7Cj4gKwkgICAgY3J0Yy0+cGlwZSA9PSBQSVBFX0EgJiYg KCFwaXBlX2NvbmZpZyB8fCAhcGlwZV9jb25maWctPmJhc2UuYWN0aXZlKSkgewo+ICAJCS8qIEJJ T1MgZm9yZ290IHRvIGVuYWJsZSBwaXBlIEEsIHRoaXMgbW9zdGx5IGhhcHBlbnMgYWZ0ZXIKPiAg CQkgKiByZXN1bWUuIEZvcmNlLWVuYWJsZSB0aGUgcGlwZSB0byBmaXggdGhpcywgdGhlIHVwZGF0 ZV9kcG1zCj4gIAkJICogY2FsbCBiZWxvdyB3ZSByZXN0b3JlIHRoZSBwaXBlIHRvIHRoZSByaWdo dCBzdGF0ZSwgYnV0IGxlYXZlCj4gQEAgLTE0ODgxLDM2ICsxNDg2NywxMyBAQCBzdGF0aWMgdm9p ZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQo+ICAJfQo+ICAK PiAgCS8qIEFkanVzdCB0aGUgc3RhdGUgb2YgdGhlIG91dHB1dCBwaXBlIGFjY29yZGluZyB0byB3 aGV0aGVyIHdlCj4gLQkgKiBoYXZlIGFjdGl2ZSBjb25uZWN0b3JzL2VuY29kZXJzLiAqLwo+IC0J aW50ZWxfY3J0Y191cGRhdGVfZHBtcygmY3J0Yy0+YmFzZSk7Cj4gLQo+IC0JaWYgKGNydGMtPmFj dGl2ZSAhPSBjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpIHsKPiAtCQlzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcjsKPiArCSAqIGhhdmUgYWN0aXZlIGNvbm5lY3RvcnMvZW5jb2RlcnMgKi8K PiArCWVuYWJsZSA9IGZhbHNlOwo+ICsJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgJmNy dGMtPmJhc2UsIGludGVsX2VuY29kZXIpCj4gKwkJZW5hYmxlIHw9IGludGVsX2VuY29kZXItPmNv bm5lY3RvcnNfYWN0aXZlOwo+ICAKPiAtCQkvKiBUaGlzIGNhbiBoYXBwZW4gZWl0aGVyIGR1ZSB0 byBidWdzIGluIHRoZSBnZXRfaHdfc3RhdGUKPiAtCQkgKiBmdW5jdGlvbnMgb3IgYmVjYXVzZSB0 aGUgcGlwZSBpcyBmb3JjZS1lbmFibGVkIGR1ZSB0byB0aGUKPiAtCQkgKiBwaXBlIEEgcXVpcmsu ICovCj4gLQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdIGh3IHN0YXRlIGFkanVzdGVkLCB3YXMg JXMsIG5vdyAlc1xuIiwKPiAtCQkJICAgICAgY3J0Yy0+YmFzZS5iYXNlLmlkLAo+IC0JCQkgICAg ICBjcnRjLT5iYXNlLnN0YXRlLT5lbmFibGUgPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiLAo+IC0J CQkgICAgICBjcnRjLT5hY3RpdmUgPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiKTsKPiAtCj4gLQkJ Y3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxlID0gY3J0Yy0+YWN0aXZlOwo+IC0JCWNydGMtPmJhc2Uu c3RhdGUtPmFjdGl2ZSA9IGNydGMtPmFjdGl2ZTsKPiAtCQljcnRjLT5iYXNlLmVuYWJsZWQgPSBj cnRjLT5hY3RpdmU7Cj4gLQo+IC0JCS8qIEJlY2F1c2Ugd2Ugb25seSBlc3RhYmxpc2ggdGhlIGNv bm5lY3RvciAtPiBlbmNvZGVyIC0+Cj4gLQkJICogY3J0YyBsaW5rcyBpZiBzb21ldGhpbmcgaXMg YWN0aXZlLCB0aGlzIG1lYW5zIHRoZQo+IC0JCSAqIGNydGMgaXMgbm93IGRlYWN0aXZhdGVkLiBC cmVhayB0aGUgbGlua3MuIGNvbm5lY3Rvcgo+IC0JCSAqIC0+IGVuY29kZXIgbGlua3MgYXJlIG9u bHkgZXN0YWJsaXNoIHdoZW4gdGhpbmdzIGFyZQo+IC0JCSAqICBhY3R1YWxseSB1cCwgaGVuY2Ug bm8gbmVlZCB0byBicmVhayB0aGVtLiAqLwo+IC0JCVdBUk5fT04oY3J0Yy0+YWN0aXZlKTsKPiAt Cj4gLQkJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgJmNydGMtPmJhc2UsIGVuY29kZXIp IHsKPiAtCQkJV0FSTl9PTihlbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSk7Cj4gLQkJCWVuY29k ZXItPmJhc2UuY3J0YyA9IE5VTEw7Cj4gLQkJfQo+IC0JfQo+ICsJaWYgKCFlbmFibGUgJiYgY3J0 Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlICYmICFwaXBlX2NvbmZpZykKPiArCQlpbnRlbF9jcnRjX2Nv bnRyb2woJmNydGMtPmJhc2UsIGZhbHNlLCB0cnVlKTsKPiAgCj4gIAlpZiAoY3J0Yy0+YWN0aXZl IHx8IEhBU19HTUNIX0RJU1BMQVkoZGV2KSkgewo+ICAJCS8qCj4gQEAgLTE1Mjc4LDcgKzE1MjQx LDggQEAgdm9pZCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCj4gIAkJCQkgICAgICAmY3J0Yy0+c3RhdGUtPmFkanVzdGVkX21vZGUpOwo+ICAJCX0K PiAgCj4gLQkJaW50ZWxfc2FuaXRpemVfY3J0YyhpbnRlbF9jcnRjKTsKPiArCQlpbnRlbF9zYW5p dGl6ZV9jcnRjKGludGVsX2NydGMsICFmb3JjZV9yZXN0b3JlID8gTlVMTCA6Cj4gKwkJCQkgICAg dG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjX3N0YXRlKSk7Cj4gIAo+ICAJCS8qCj4gIAkJICogc2Fu aXRpemVfY3J0YyBtYXkgaGF2ZSBmb3JjZWQgYW4gdXBkYXRlIG9mIGNydGMtPnN0YXRlLAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oCj4gaW5kZXggODA3ZTAwMWU0Y2VlLi5lYzcyMWUzMWVhZTgg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiArKysgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IEBAIC05OTMsNyArOTkzLDcgQEAgdm9p ZCBpbnRlbF9tYXJrX2J1c3koc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIHZvaWQgaW50ZWxf bWFya19pZGxlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+ICB2b2lkIGludGVsX2NydGNfcmVz dG9yZV9tb2RlKHN0cnVjdCBkcm1fY3J0YyAqY3J0Yyk7Cj4gIGludCBpbnRlbF9kaXNwbGF5X3N1 c3BlbmQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gLWludCBpbnRlbF9jcnRjX2NvbnRyb2wo c3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSk7Cj4gK2ludCBpbnRlbF9jcnRjX2Nv bnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGFjdGl2ZSwgYm9vbCBmb3JjZSk7Cj4g IHZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICB2 b2lkIGludGVsX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpOwo+ ICBpbnQgaW50ZWxfY29ubmVjdG9yX2luaXQoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqKTsKPiAt LSAKPiAyLjEuMAo+IAo+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCj4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKPiBodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8v aW50ZWwtZ2Z4CgotLSAKTWF0dCBSb3BlcgpHcmFwaGljcyBTb2Z0d2FyZSBFbmdpbmVlcgpJb1RH IFBsYXRmb3JtIEVuYWJsaW5nICYgRGV2ZWxvcG1lbnQKSW50ZWwgQ29ycG9yYXRpb24KKDkxNikg MzU2LTI3OTUKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18K SW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0 dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK