From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: Re: [PATCH v2 03/27] drm/i915: clean up intel_sanitize_crtc, v2 Date: Tue, 9 Jun 2015 18:58:06 -0700 Message-ID: <20150610015806.GB15024@intel.com> References: <1433422077-14907-1-git-send-email-maarten.lankhorst@linux.intel.com> <1433422077-14907-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id 289C86E370 for ; Tue, 9 Jun 2015 18:58:07 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1433422077-14907-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 T24gVGh1LCBKdW4gMDQsIDIwMTUgYXQgMDI6NDc6MzNQTSArMDIwMCwgTWFhcnRlbiBMYW5raG9y c3Qgd3JvdGU6Cj4gSW5zdGVhZCBvZiBicmVha2luZyBhbGwgY29ubmVjdGlvbnMgbWFudWFsbHks IGtpbGwgdGhlbSB3aXRoCj4gYXRvbWljIG1vZGVzZXQsIGlmIGl0IGhhcHBlbnMuIE5vdyB0aGF0 IHRoZSBldmVyeXRoaW5nJ3MgYXRvbWljCj4gc29tZSBjb2RlIGJlY29tZXMgb2Jzb2xldGUuCj4g Cj4gRm9yY2luZyBhIGF0b21pYyBtb2Rlc2V0IHdpdGggbnVsbCBtb2RlIGFuZCBhbGwgY29ubmVj dG9ycyBnb25lCj4gdXBkYXRlcyB0aGUgc3RhdGUgdG9vLCBpbiBhIGNsZWFuZXIgd2F5Lgo+IAo+ IEJlY2F1c2UgbG9hZCBkZXRlY3Rpb24gaXMgYXRvbWljIHRvbyB0aGVyZSBjYW4gYmUgbm8gbWlz bWF0Y2ggYmV0d2Vlbgo+IGNydGMtPmFjdGl2ZSBhbmQgY3J0Yy0+c3RhdGUtPmFjdGl2ZQo+IAo+ IENoYW5nZXMgc2luY2UgdjE6Cj4gLSBSZXdvcmQgY29tbWl0IG1lc3NhZ2UuCj4gLSBTZXQgbnVs bCBtb2RlIGFuZCBicmVhayBhbGwgY29ubmVjdG9ycyB3aGVuIGZvcmNlIGRpc2FibGluZyBjcnRj Lgo+IAo+IFNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3Jz dEBsaW51eC5pbnRlbC5jb20+Cj4gLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVi dWdmcy5jICB8ICAgOCArLS0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5j IHwgMTA4ICsrKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2Rydi5oICAgICB8ICAgMiArLQo+ICAzIGZpbGVzIGNoYW5nZWQsIDUz IGluc2VydGlvbnMoKyksIDY1IGRlbGV0aW9ucygtKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZGVidWdmcy5jCj4gaW5kZXggNTFmZTBmYmNkMDBjLi5kYjIzOTE2YzE4NzUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKPiArKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwo+IEBAIC0zNjM3LDcgKzM2MzcsNyBAQCBzdGF0aWMg dm9pZCBoc3dfdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2Eoc3RydWN0IGRybV9kZXZpY2UgKmRldikK PiAgCQlib29sIGFjdGl2ZSA9IHBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZTsKPiAgCj4gIAkJaWYg KGFjdGl2ZSkgewo+IC0JCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIGZhbHNlKTsK PiArCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSwgZmFsc2UpOwo+ICAJ CQlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Cj4g IAkJfQo+ICAKPiBAQCAtMzY0Nyw3ICszNjQ3LDcgQEAgc3RhdGljIHZvaWQgaHN3X3RyYW5zX2Vk cF9waXBlX0FfY3JjX3dhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gIAkJCQkJUE9XRVJfRE9N QUlOX1BJUEVfUEFORUxfRklUVEVSKFBJUEVfQSkpOwo+ICAKPiAgCQlpZiAoYWN0aXZlKQo+IC0J CQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIHRydWUpOwo+ICsJCQlpbnRlbF9jcnRj X2NvbnRyb2woJmNydGMtPmJhc2UsIHRydWUsIGZhbHNlKTsKPiAgCX0KPiAgCWRybV9tb2Rlc2V0 X3VubG9ja19hbGwoZGV2KTsKPiAgfQo+IEBAIC0zNjcxLDcgKzM2NzEsNyBAQCBzdGF0aWMgdm9p ZCBoc3dfdW5kb190cmFuc19lZHBfcGlwZV9BX2NyY193YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICAJCWJvb2wgYWN0aXZlID0gcGlwZV9jb25maWctPmJhc2UuYWN0aXZlOwo+ICAKPiAgCQlp ZiAoYWN0aXZlKSB7Cj4gLQkJCWludGVsX2NydGNfY29udHJvbCgmY3J0Yy0+YmFzZSwgZmFsc2Up Owo+ICsJCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIGZhbHNlLCBmYWxzZSk7Cj4g IAkJCXBpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKTsK PiAgCQl9Cj4gIAo+IEBAIC0zNjgxLDcgKzM2ODEsNyBAQCBzdGF0aWMgdm9pZCBoc3dfdW5kb190 cmFuc19lZHBfcGlwZV9BX2NyY193YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ICAJCQkJCVBP V0VSX0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihQSVBFX0EpKTsKPiAgCj4gIAkJaWYgKGFjdGl2 ZSkKPiAtCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0cnVlKTsKPiArCQkJaW50 ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0cnVlLCBmYWxzZSk7Cj4gIAl9Cj4gIAlkcm1f bW9kZXNldF91bmxvY2tfYWxsKGRldik7Cj4gIH0KPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jCj4gaW5kZXggMGYwMzE2NThhMjk3Li4xOTM2YTI4YTU3YzEgMTAwNjQ0Cj4gLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTYxOTIsNyArNjE5Miw3IEBAIGZyZWU6Cj4g IH0KPiAgCj4gIC8qIE1hc3RlciBmdW5jdGlvbiB0byBlbmFibGUvZGlzYWJsZSBDUlRDIGFuZCBj b3JyZXNwb25kaW5nIHBvd2VyIHdlbGxzICovCj4gLWludCBpbnRlbF9jcnRjX2NvbnRyb2woc3Ry dWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKPiAraW50IGludGVsX2NydGNfY29udHJv bChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgYWN0aXZlLCBib29sIGZvcmNlKQoKSSByZWFs aXplIGludGVsX2Rpc3BsYXkuYyBoYXNuJ3QgYmVlbiBmdWxseSBrZXJuZWxkb2MtaXplZCB5ZXQs IGJ1dCB0aGlzCmZ1bmN0aW9uIHNlZW1zIGxpa2UgYW4gaW1wb3J0YW50IG9uZSB0byBoYXZlIGEg ZGVzY3JpcHRpb24gb2Ygd2hhdCBpdCdzCmRvaW5nIGFuZCB3aGF0IHRoZSBwYXJhbWV0ZXJzIG1l YW4gKHRoZSB0ZXJtICdmb3JjZScgaXMgYSBiaXQKdmFndWUvZ2VuZXJpYyBhbmQgaXQgbWF5IG5v dCBiZSBpbW1lZGlhdGVseSBvYnZpb3VzIHRvIGEgcmVhZGVyIHRoYXQKd2hhdCB5b3UncmUgZG9p bmcgaGVyZSBpcyBnb2luZyB0byB3aW5kIHVwIGRldGFjaGluZyB0aGUgbGlua3MuCgoKTWF0dAoK Cj4gIHsKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7Cj4gIAlzdHJ1Y3Qg ZHJtX21vZGVfY29uZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKPiBAQCAtNjIwMiwx MCArNjIwMiwxMyBAQCBpbnQgaW50ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YywgYm9vbCBlbmFibGUpCj4gIAlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Cj4gIAlp bnQgcmV0Owo+ICAKPiAtCWlmIChlbmFibGUgPT0gaW50ZWxfY3J0Yy0+YWN0aXZlKQo+ICsJaWYg KFdBUk5fT04oYWN0aXZlICYmIGZvcmNlKSkKPiArCQlyZXR1cm4gLUVJTlZBTDsKPiArCj4gKwlp ZiAoYWN0aXZlID09IGludGVsX2NydGMtPmFjdGl2ZSkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gLQlp ZiAoZW5hYmxlICYmICFjcnRjLT5zdGF0ZS0+ZW5hYmxlKQo+ICsJaWYgKGFjdGl2ZSAmJiAhY3J0 Yy0+c3RhdGUtPmVuYWJsZSkKPiAgCQlyZXR1cm4gMDsKPiAgCj4gIAkvKiB0aGlzIGZ1bmN0aW9u IHNob3VsZCBiZSBjYWxsZWQgd2l0aCBkcm1fbW9kZXNldF9sb2NrX2FsbCBmb3Igbm93ICovCj4g QEAgLTYyMjUsNyArNjIyOCwzMCBAQCBpbnQgaW50ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywgYm9vbCBlbmFibGUpCj4gIAkJcmV0ID0gUFRSX0VSUihwaXBlX2NvbmZpZyk7 Cj4gIAkJZ290byBlcnI7Cj4gIAl9Cj4gLQlwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUgPSBlbmFi bGU7Cj4gKwlwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUgPSBhY3RpdmU7Cj4gKwlpZiAoZm9yY2Up IHsKPiArCQlzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yOwo+ICsKPiArCQlyZXQgPSBk cm1fYXRvbWljX3NldF9tb2RlX2Zvcl9jcnRjKCZwaXBlX2NvbmZpZy0+YmFzZSwgTlVMTCk7Cj4g KwkJaWYgKHJldCkKPiArCQkJZ290byBlcnI7Cj4gKwo+ICsJCWxpc3RfZm9yX2VhY2hfZW50cnko Y29ubmVjdG9yLCAmY29uZmlnLT5jb25uZWN0b3JfbGlzdCwgaGVhZCkgewo+ICsJCQlzdHJ1Y3Qg ZHJtX2Nvbm5lY3Rvcl9zdGF0ZSAqY29ubl9zdGF0ZTsKPiArCj4gKwkJCWlmIChjb25uZWN0b3It PnN0YXRlLT5jcnRjICE9IGNydGMpCj4gKwkJCQljb250aW51ZTsKPiArCj4gKwkJCWNvbm5fc3Rh dGUgPSBkcm1fYXRvbWljX2dldF9jb25uZWN0b3Jfc3RhdGUoc3RhdGUsIGNvbm5lY3Rvcik7Cj4g KwkJCWlmIChJU19FUlIoY29ubl9zdGF0ZSkpIHsKPiArCQkJCXJldCA9IFBUUl9FUlIoY29ubl9z dGF0ZSk7Cj4gKwkJCQlnb3RvIGVycjsKPiArCQkJfQo+ICsJCQlyZXQgPSBkcm1fYXRvbWljX3Nl dF9jcnRjX2Zvcl9jb25uZWN0b3IoY29ubl9zdGF0ZSwgTlVMTCk7Cj4gKwkJCWlmIChyZXQpCj4g KwkJCQlnb3RvIGVycjsKPiArCQl9Cj4gKwl9Cj4gIAo+ICAJcmV0ID0gaW50ZWxfc2V0X21vZGUo c3RhdGUpOwo+ICAJaWYgKCFyZXQpCj4gQEAgLTYyNDksNyArNjI3NSw3IEBAIHZvaWQgaW50ZWxf Y3J0Y191cGRhdGVfZHBtcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCj4gIAlmb3JfZWFjaF9lbmNv ZGVyX29uX2NydGMoZGV2LCBjcnRjLCBpbnRlbF9lbmNvZGVyKQo+ICAJCWVuYWJsZSB8PSBpbnRl bF9lbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZTsKPiAgCj4gLQlpbnRlbF9jcnRjX2NvbnRyb2wo Y3J0YywgZW5hYmxlKTsKPiArCWludGVsX2NydGNfY29udHJvbChjcnRjLCBlbmFibGUsIGZhbHNl KTsKPiAgfQo+ICAKPiAgdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKQo+IEBAIC0xNDgxMiwxMSArMTQ4MzgsMTQgQEAgaW50ZWxfY2hlY2tfcGxh bmVfbWFwcGluZyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCXJldHVybiB0cnVlOwo+ICB9 Cj4gIAo+IC1zdGF0aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQo+ICtzdGF0aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9j cnRjICpjcnRjLAo+ICsJCQkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnKQo+ ICB7Cj4gIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+YmFzZS5kZXY7Cj4gIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICsJc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7Cj4gIAl1MzIgcmVnOwo+ICsJYm9vbCBl bmFibGU7Cj4gIAo+ICAJLyogQ2xlYXIgYW55IGZyYW1lIHN0YXJ0IGRlbGF5cyB1c2VkIGZvciBk ZWJ1Z2dpbmcgbGVmdCBieSB0aGUgQklPUyAqLwo+ICAJcmVnID0gUElQRUNPTkYoY3J0Yy0+Y29u ZmlnLT5jcHVfdHJhbnNjb2Rlcik7Cj4gQEAgLTE0ODMzLDcgKzE0ODYyLDYgQEAgc3RhdGljIHZv aWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKPiAgCSAqIGRp c2FibGUgdGhlIGNydGMgKGFuZCBoZW5jZSBjaGFuZ2UgdGhlIHN0YXRlKSBpZiBpdCBpcyB3cm9u Zy4gTm90ZQo+ICAJICogdGhhdCBnZW40KyBoYXMgYSBmaXhlZCBwbGFuZSAtPiBwaXBlIG1hcHBp bmcuICAqLwo+ICAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDwgNCAmJiAhaW50ZWxfY2hlY2tf cGxhbmVfbWFwcGluZyhjcnRjKSkgewo+IC0JCXN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5l Y3RvcjsKPiAgCQlib29sIHBsYW5lOwo+ICAKPiAgCQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZF0g d3JvbmcgcGxhbmUgY29ubmVjdGlvbiBkZXRlY3RlZCFcbiIsCj4gQEAgLTE0ODQ2LDMzICsxNDg3 NCwxMiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9zYW5pdGl6ZV9jcnRjKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjKQo+ICAJCXRvX2ludGVsX3BsYW5lX3N0YXRlKGNydGMtPmJhc2UucHJpbWFyeS0+c3Rh dGUpLT52aXNpYmxlID0gdHJ1ZTsKPiAgCQljcnRjLT5iYXNlLnByaW1hcnktPmNydGMgPSAmY3J0 Yy0+YmFzZTsKPiAgCQljcnRjLT5wbGFuZSA9ICFwbGFuZTsKPiAtCQlpbnRlbF9jcnRjX2NvbnRy b2woJmNydGMtPmJhc2UsIGZhbHNlKTsKPiArCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJh c2UsIGZhbHNlLCB0cnVlKTsKPiAgCQljcnRjLT5wbGFuZSA9IHBsYW5lOwo+IC0KPiAtCQkvKiAu Li4gYW5kIGJyZWFrIGFsbCBsaW5rcy4gKi8KPiAtCQlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3Io ZGV2LCBjb25uZWN0b3IpIHsKPiAtCQkJaWYgKGNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFzZS5jcnRj ICE9ICZjcnRjLT5iYXNlKQo+IC0JCQkJY29udGludWU7Cj4gLQo+IC0JCQljb25uZWN0b3ItPmJh c2UuZHBtcyA9IERSTV9NT0RFX0RQTVNfT0ZGOwo+IC0JCQljb25uZWN0b3ItPmJhc2UuZW5jb2Rl ciA9IE5VTEw7Cj4gLQkJfQo+IC0JCS8qIG11bHRpcGxlIGNvbm5lY3RvcnMgbWF5IGhhdmUgdGhl IHNhbWUgZW5jb2RlcjoKPiAtCQkgKiAgaGFuZGxlIHRoZW0gYW5kIGJyZWFrIGNydGMgbGluayBz ZXBhcmF0ZWx5ICovCj4gLQkJZm9yX2VhY2hfaW50ZWxfY29ubmVjdG9yKGRldiwgY29ubmVjdG9y KQo+IC0JCQlpZiAoY29ubmVjdG9yLT5lbmNvZGVyLT5iYXNlLmNydGMgPT0gJmNydGMtPmJhc2Up IHsKPiAtCQkJCWNvbm5lY3Rvci0+ZW5jb2Rlci0+YmFzZS5jcnRjID0gTlVMTDsKPiAtCQkJCWNv bm5lY3Rvci0+ZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSBmYWxzZTsKPiAtCQkJfQo+IC0K PiAtCQlXQVJOX09OKGNydGMtPmFjdGl2ZSk7Cj4gLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxl ID0gZmFsc2U7Cj4gLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlID0gZmFsc2U7Cj4gLQkJY3J0 Yy0+YmFzZS5lbmFibGVkID0gZmFsc2U7Cj4gIAl9Cj4gIAo+ICAJaWYgKGRldl9wcml2LT5xdWly a3MgJiBRVUlSS19QSVBFQV9GT1JDRSAmJgo+IC0JICAgIGNydGMtPnBpcGUgPT0gUElQRV9BICYm ICFjcnRjLT5hY3RpdmUpIHsKPiArCSAgICBjcnRjLT5waXBlID09IFBJUEVfQSAmJiAoIXBpcGVf Y29uZmlnIHx8ICFwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmUpKSB7Cj4gIAkJLyogQklPUyBmb3Jn b3QgdG8gZW5hYmxlIHBpcGUgQSwgdGhpcyBtb3N0bHkgaGFwcGVucyBhZnRlcgo+ICAJCSAqIHJl c3VtZS4gRm9yY2UtZW5hYmxlIHRoZSBwaXBlIHRvIGZpeCB0aGlzLCB0aGUgdXBkYXRlX2RwbXMK PiAgCQkgKiBjYWxsIGJlbG93IHdlIHJlc3RvcmUgdGhlIHBpcGUgdG8gdGhlIHJpZ2h0IHN0YXRl LCBidXQgbGVhdmUKPiBAQCAtMTQ4ODEsMzYgKzE0ODg4LDE2IEBAIHN0YXRpYyB2b2lkIGludGVs X3Nhbml0aXplX2NydGMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCj4gIAl9Cj4gIAo+ICAJLyog QWRqdXN0IHRoZSBzdGF0ZSBvZiB0aGUgb3V0cHV0IHBpcGUgYWNjb3JkaW5nIHRvIHdoZXRoZXIg d2UKPiAtCSAqIGhhdmUgYWN0aXZlIGNvbm5lY3RvcnMvZW5jb2RlcnMuICovCj4gLQlpbnRlbF9j cnRjX3VwZGF0ZV9kcG1zKCZjcnRjLT5iYXNlKTsKPiAtCj4gLQlpZiAoY3J0Yy0+YWN0aXZlICE9 IGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSkgewo+IC0JCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyOwo+ICsJICogaGF2ZSBhY3RpdmUgY29ubmVjdG9ycy9lbmNvZGVycyAqLwo+ICsJZW5h YmxlID0gZmFsc2U7Cj4gKwlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+YmFz ZSwgaW50ZWxfZW5jb2RlcikKPiArCQllbmFibGUgfD0gaW50ZWxfZW5jb2Rlci0+Y29ubmVjdG9y c19hY3RpdmU7Cj4gIAo+IC0JCS8qIFRoaXMgY2FuIGhhcHBlbiBlaXRoZXIgZHVlIHRvIGJ1Z3Mg aW4gdGhlIGdldF9od19zdGF0ZQo+IC0JCSAqIGZ1bmN0aW9ucyBvciBiZWNhdXNlIHRoZSBwaXBl IGlzIGZvcmNlLWVuYWJsZWQgZHVlIHRvIHRoZQo+IC0JCSAqIHBpcGUgQSBxdWlyay4gKi8KPiAt CQlEUk1fREVCVUdfS01TKCJbQ1JUQzolZF0gaHcgc3RhdGUgYWRqdXN0ZWQsIHdhcyAlcywgbm93 ICVzXG4iLAo+IC0JCQkgICAgICBjcnRjLT5iYXNlLmJhc2UuaWQsCj4gLQkJCSAgICAgIGNydGMt PmJhc2Uuc3RhdGUtPmVuYWJsZSA/ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIsCj4gLQkJCSAgICAg IGNydGMtPmFjdGl2ZSA/ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIpOwo+IC0KPiAtCQljcnRjLT5i YXNlLnN0YXRlLT5lbmFibGUgPSBjcnRjLT5hY3RpdmU7Cj4gLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+ YWN0aXZlID0gY3J0Yy0+YWN0aXZlOwo+IC0JCWNydGMtPmJhc2UuZW5hYmxlZCA9IGNydGMtPmFj dGl2ZTsKPiAtCj4gLQkJLyogQmVjYXVzZSB3ZSBvbmx5IGVzdGFibGlzaCB0aGUgY29ubmVjdG9y IC0+IGVuY29kZXIgLT4KPiAtCQkgKiBjcnRjIGxpbmtzIGlmIHNvbWV0aGluZyBpcyBhY3RpdmUs IHRoaXMgbWVhbnMgdGhlCj4gLQkJICogY3J0YyBpcyBub3cgZGVhY3RpdmF0ZWQuIEJyZWFrIHRo ZSBsaW5rcy4gY29ubmVjdG9yCj4gLQkJICogLT4gZW5jb2RlciBsaW5rcyBhcmUgb25seSBlc3Rh Ymxpc2ggd2hlbiB0aGluZ3MgYXJlCj4gLQkJICogIGFjdHVhbGx5IHVwLCBoZW5jZSBubyBuZWVk IHRvIGJyZWFrIHRoZW0uICovCj4gLQkJV0FSTl9PTihjcnRjLT5hY3RpdmUpOwo+IC0KPiAtCQlm b3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+YmFzZSwgZW5jb2Rlcikgewo+IC0J CQlXQVJOX09OKGVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlKTsKPiAtCQkJZW5jb2Rlci0+YmFz ZS5jcnRjID0gTlVMTDsKPiAtCQl9Cj4gLQl9Cj4gKwkvKiBvbmx5IHR1cm4gb2ZmIHNlcGFyYXRl bHkgaWYgY29uZmlndXJhdGlvbidzIG5vdCByZXN0b3JlZCwKPiArCSAqIGlmIGl0J3MgcmVzdG9y ZWQgaXQgd2lsbCBjaGFuZ2UgbW9kZSBvciB0dXJuIG9mZiBhbnl3YXkuCj4gKwkgKi8KPiArCWlm ICghZW5hYmxlICYmIGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSAmJiAhcGlwZV9jb25maWcpCj4g KwkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSwgdHJ1ZSk7Cj4gIAo+ICAJ aWYgKGNydGMtPmFjdGl2ZSB8fCBIQVNfR01DSF9ESVNQTEFZKGRldikpIHsKPiAgCQkvKgo+IEBA IC0xNTI3OCw3ICsxNTI2NSw4IEBAIHZvaWQgaW50ZWxfbW9kZXNldF9zZXR1cF9od19zdGF0ZShz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAo+ICAJCQkJICAgICAgJmNydGMtPnN0YXRlLT5hZGp1c3Rl ZF9tb2RlKTsKPiAgCQl9Cj4gIAo+IC0JCWludGVsX3Nhbml0aXplX2NydGMoaW50ZWxfY3J0Yyk7 Cj4gKwkJaW50ZWxfc2FuaXRpemVfY3J0YyhpbnRlbF9jcnRjLCAhZm9yY2VfcmVzdG9yZSA/IE5V TEwgOgo+ICsJCQkJICAgIHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSkpOwo+ICAKPiAg CQkvKgo+ICAJCSAqIHNhbml0aXplX2NydGMgbWF5IGhhdmUgZm9yY2VkIGFuIHVwZGF0ZSBvZiBj cnRjLT5zdGF0ZSwKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDgwN2UwMDFlNGNl ZS4uZWM3MjFlMzFlYWU4IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oCj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtOTkz LDcgKzk5Myw3IEBAIHZvaWQgaW50ZWxfbWFya19idXN5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp Owo+ICB2b2lkIGludGVsX21hcmtfaWRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiAgdm9p ZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOwo+ICBpbnQg aW50ZWxfZGlzcGxheV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwo+IC1pbnQgaW50 ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFibGUpOwo+ICtp bnQgaW50ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBhY3RpdmUs IGJvb2wgZm9yY2UpOwo+ICB2b2lkIGludGVsX2NydGNfdXBkYXRlX2RwbXMoc3RydWN0IGRybV9j cnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRybV9lbmNv ZGVyICplbmNvZGVyKTsKPiAgaW50IGludGVsX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKik7Cj4gLS0gCj4gMi4xLjAKPiAKPiBfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwo+IEludGVsLWdmeCBtYWlsaW5nIGxpc3QKPiBJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCj4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAoKLS0gCk1hdHQgUm9wZXIKR3JhcGhpY3MgU29mdHdh cmUgRW5naW5lZXIKSW9URyBQbGF0Zm9ybSBFbmFibGluZyAmIERldmVsb3BtZW50CkludGVsIENv cnBvcmF0aW9uCig5MTYpIDM1Ni0yNzk1Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==