From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH 09/15] drm/i915: Kill intel_prepare_ddi() Date: Thu, 10 Dec 2015 16:00:08 +0200 Message-ID: <20151210140008.GT4437@intel.com> References: <1449597590-6971-1-git-send-email-ville.syrjala@linux.intel.com> <1449597590-6971-10-git-send-email-ville.syrjala@linux.intel.com> <20151210133701.GG20822@phenom.ffwll.local> 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 E01F46E9FE for ; Thu, 10 Dec 2015 06:00:14 -0800 (PST) Content-Disposition: inline In-Reply-To: <20151210133701.GG20822@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Daniel Vetter Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCBEZWMgMTAsIDIwMTUgYXQgMDI6Mzc6MDFQTSArMDEwMCwgRGFuaWVsIFZldHRlciB3 cm90ZToKPiBPbiBUdWUsIERlYyAwOCwgMjAxNSBhdCAwNzo1OTo0NFBNICswMjAwLCB2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbSB3cm90ZToKPiA+IEZyb206IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAKPiA+IE1vdmUgdGhlIGRkaSBidWZm ZXIgdHJhbnNsYXRpb24gcHJvZ3JhbW1pbmcgdG8gb2NjdXIgZnJvbSB0aGUgZW5jb2Rlcgo+ID4g LnByZV9lbmFibGUoKSBob29rLCBmb3IganVzdCB0aGUgZGRpIHBvcnQgd2UgYXJlIGVuYWJsaW5n LiBQcmV2aW91c2x5Cj4gPiB3ZSB1c2VkIHRvIHJlcHJvZ3JhbSB0aGUgdHJhbnNsYXRpb25zIGZv ciBhbGwgZGRpIHBvcnRzIGR1cmluZwo+ID4gaW5pdCBhbmQgZHVyaW5nIHBvd2VyIHdlbGwgZW5h YmxpbmcuCj4gPiAKPiA+IFNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3ly amFsYUBsaW51eC5pbnRlbC5jb20+Cj4gPiAtLS0KPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2Rydi5jICAgICAgICAgfCAgMSAtCj4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMgICAgICAgIHwgOTkgKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jICAgIHwgIDMgLQo+ID4gIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jICAgICB8ICAyICsKPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiArLQo+ID4gIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyB8IDEyIC0tLS0KPiA+ICA2IGZpbGVzIGNoYW5nZWQs IDMxIGluc2VydGlvbnMoKyksIDg4IGRlbGV0aW9ucygtKQo+ID4gCj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmMKPiA+IGluZGV4IGU2OTM1ZjFjYjY4OS4uNGQ4ZmVmZjQxMWJiIDEwMDY0NAo+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ID4gQEAgLTEwNjIsNyArMTA2Miw2IEBAIHN0YXRpYyBp bnQgYnh0X3Jlc3VtZV9wcmVwYXJlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikK PiA+ICAJICovCj4gPiAgCWJyb3h0b25faW5pdF9jZGNsayhkZXYpOwo+ID4gIAlicm94dG9uX2Rk aV9waHlfaW5pdChkZXYpOwo+ID4gLQlpbnRlbF9wcmVwYXJlX2RkaShkZXYpOwo+ID4gIAo+ID4g IAlyZXR1cm4gMDsKPiA+ICB9Cj4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gaW5kZXgg MTUyYzgxM2NjNDNlLi4wNzQxMjFlZmIyNjUgMTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kZGkuYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKPiA+IEBAIC0zNDIsMTIgKzM0Miw2IEBAIGVudW0gcG9ydCBpbnRlbF9kZGlfZ2V0X2Vu Y29kZXJfcG9ydChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiA+ICAJcmV0 dXJuIHBvcnQ7Cj4gPiAgfQo+ID4gIAo+ID4gLXN0YXRpYyBib29sCj4gPiAtaW50ZWxfZGlnX3Bv cnRfc3VwcG9ydHNfaGRtaShjb25zdCBzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCkKPiA+IC17Cj4gPiAtCXJldHVybiBpOTE1X21taW9fcmVnX3ZhbGlkKGludGVsX2Rp Z19wb3J0LT5oZG1pLmhkbWlfcmVnKTsKPiA+IC19Cj4gPiAtCj4gPiAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkZGlfYnVmX3RyYW5zICoKPiA+ICBza2xfZ2V0X2J1Zl90cmFuc19kcChzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIGludCAqbl9lbnRyaWVzKQo+ID4gIHsKPiA+IEBAIC00 MDksMjggKzQwMywzNCBAQCBza2xfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiwgaW50ICpuX2VudHJpZXMpCj4gPiAgICogaW4gZWl0aGVyIEZESSBv ciBEUCBtb2RlcyBvbmx5LCBhcyBIRE1JIGNvbm5lY3Rpb25zIHdpbGwgd29yayB3aXRoIGJvdGgK PiA+ICAgKiBvZiB0aG9zZQo+ID4gICAqLwo+ID4gLXN0YXRpYyB2b2lkIGludGVsX3ByZXBhcmVf ZGRpX2J1ZmZlcnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gLQkJCQkg ICAgICBlbnVtIHBvcnQgcG9ydCwgYm9vbCBzdXBwb3J0c19oZG1pKQo+ID4gK3ZvaWQgaW50ZWxf cHJlcGFyZV9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiAKPiBz L2J1ZmZlcnMvYnVmZmVyLyBzaW5jZSBpdCdzIG5vdCBqdXN0IGZvciBvbmUgZW5jb2Rlcj8gT3Ig ZG8gd2UgaGF2ZSBhCj4gcGlsZSBvZiBidWZmZXJzIHBlciBlbmNvZGVyPyBTZWVtcyBhIGJpdCBj b25mdXNpbmcgdG8gbWUsIGJ1dCByZWFsbHkganVzdAo+IGEgYmlrZXNoZWQgYW5kIHdhcyB0aGVy ZSBiZWZvcmUuCgpCc3BlYyBzZWVtcyB0byByZWZlciB0byBpdCBhcyBhIHNpbmd1bGFyICJEREkg YnVmZmVyIiBzbyB5ZWFoIGRyb3BwaW5nCnRoZSAncycgd291bGQgc2VlbSB0byBtYXRjaC4gSSBz dXBwb3NlIGluIHJlYWxpdHkgdGhlcmUncyBhIGJ1ZmZlciBvbgplYWNoIHNpZ25hbCwgYnV0IEkg Z3Vlc3MgaXQncyBjb21tb24gcHJhY3RpY2UgdG8gcmVmZXIgdG8gdGhlIHdob2xlCnRoaW5nIGFz IGEgc2luZ2xlIGJ1ZmZlci4KCj4gCj4gPiAgewo+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmJhc2UuZGV2KTsKPiA+ICAJdTMyIGlib29z dF9iaXQgPSAwOwo+ID4gIAlpbnQgaSwgbl9oZG1pX2VudHJpZXMsIG5fZHBfZW50cmllcywgbl9l ZHBfZW50cmllcywgaGRtaV9kZWZhdWx0X2VudHJ5LAo+ID4gIAkgICAgc2l6ZTsKPiA+IC0JaW50 IGhkbWlfbGV2ZWwgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF0uaGRtaV9sZXZl bF9zaGlmdDsKPiA+ICsJaW50IGhkbWlfbGV2ZWw7Cj4gPiArCWVudW0gcG9ydCBwb3J0Owo+ID4g IAljb25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19mZGk7Cj4gPiAg CWNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zX2RwOwo+ID4gIAlj b25zdCBzdHJ1Y3QgZGRpX2J1Zl90cmFucyAqZGRpX3RyYW5zbGF0aW9uc19lZHA7Cj4gPiAgCWNv bnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zX2hkbWk7Cj4gPiAgCWNv bnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zOwo+ID4gIAo+ID4gKwlw b3J0ID0gaW50ZWxfZGRpX2dldF9lbmNvZGVyX3BvcnQoZW5jb2Rlcik7Cj4gPiArCWhkbWlfbGV2 ZWwgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9zaGlmdDsK PiA+ICsKPiA+ICAJaWYgKElTX0JST1hUT04oZGV2X3ByaXYpKSB7Cj4gPiAtCQlpZiAoIXN1cHBv cnRzX2hkbWkpCj4gPiArCQlpZiAoZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfSERNSSkK PiA+ICAJCQlyZXR1cm47Cj4gPiAgCj4gPiAgCQkvKiBWc3dpbmcgcHJvZ3JhbW1pbmcgZm9yIEhE TUkgKi8KPiA+ICAJCWJ4dF9kZGlfdnN3aW5nX3NlcXVlbmNlKGRldl9wcml2LCBoZG1pX2xldmVs LCBwb3J0LAo+ID4gIAkJCQkJSU5URUxfT1VUUFVUX0hETUkpOwo+ID4gIAkJcmV0dXJuOwo+ID4g LQl9IGVsc2UgaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2 KSkgewo+ID4gKwl9Cj4gPiArCj4gPiArCWlmIChJU19TS1lMQUtFKGRldl9wcml2KSB8fCBJU19L QUJZTEFLRShkZXZfcHJpdikpIHsKPiA+ICAJCWRkaV90cmFuc2xhdGlvbnNfZmRpID0gTlVMTDsK PiA+ICAJCWRkaV90cmFuc2xhdGlvbnNfZHAgPQo+ID4gIAkJCQlza2xfZ2V0X2J1Zl90cmFuc19k cChkZXZfcHJpdiwgJm5fZHBfZW50cmllcyk7Cj4gPiBAQCAtNDgzLDMwICs0ODMsMTggQEAgc3Rh dGljIHZvaWQgaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsCj4gPiAgCQloZG1pX2RlZmF1bHRfZW50cnkgPSA3Owo+ID4gIAl9Cj4gPiAg Cj4gPiAtCXN3aXRjaCAocG9ydCkgewo+ID4gLQljYXNlIFBPUlRfQToKPiA+ICsJc3dpdGNoIChl bmNvZGVyLT50eXBlKSB7Cj4gPiArCWNhc2UgSU5URUxfT1VUUFVUX0VEUDoKPiA+ICAJCWRkaV90 cmFuc2xhdGlvbnMgPSBkZGlfdHJhbnNsYXRpb25zX2VkcDsKPiA+ICAJCXNpemUgPSBuX2VkcF9l bnRyaWVzOwo+ID4gIAkJYnJlYWs7Cj4gPiAtCWNhc2UgUE9SVF9COgo+ID4gLQljYXNlIFBPUlRf QzoKPiA+ICsJY2FzZSBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQ6Cj4gPiArCWNhc2UgSU5URUxf T1VUUFVUX0hETUk6Cj4gPiAgCQlkZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19k cDsKPiA+ICAJCXNpemUgPSBuX2RwX2VudHJpZXM7Cj4gPiAgCQlicmVhazsKPiA+IC0JY2FzZSBQ T1JUX0Q6Cj4gPiAtCQlpZiAoaW50ZWxfZHBfaXNfZWRwKGRldl9wcml2LT5kZXYsIFBPUlRfRCkp IHsKPiA+IC0JCQlkZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19lZHA7Cj4gPiAt CQkJc2l6ZSA9IG5fZWRwX2VudHJpZXM7Cj4gPiAtCQl9IGVsc2Ugewo+ID4gLQkJCWRkaV90cmFu c2xhdGlvbnMgPSBkZGlfdHJhbnNsYXRpb25zX2RwOwo+ID4gLQkJCXNpemUgPSBuX2RwX2VudHJp ZXM7Cj4gPiAtCQl9Cj4gPiAtCQlicmVhazsKPiA+IC0JY2FzZSBQT1JUX0U6Cj4gPiAtCQlpZiAo ZGRpX3RyYW5zbGF0aW9uc19mZGkpCj4gPiAtCQkJZGRpX3RyYW5zbGF0aW9ucyA9IGRkaV90cmFu c2xhdGlvbnNfZmRpOwo+ID4gLQkJZWxzZQo+ID4gLQkJCWRkaV90cmFuc2xhdGlvbnMgPSBkZGlf dHJhbnNsYXRpb25zX2RwOwo+ID4gKwljYXNlIElOVEVMX09VVFBVVF9BTkFMT0c6Cj4gPiArCQlk ZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19mZGk7Cj4gPiAgCQlzaXplID0gbl9k cF9lbnRyaWVzOwo+ID4gIAkJYnJlYWs7Cj4gPiAgCWRlZmF1bHQ6Cj4gPiBAQCAtNTIwLDcgKzUw OCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZXBhcmVfZGRpX2J1ZmZlcnMoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAkJCSAgIGRkaV90cmFuc2xhdGlvbnNbaV0udHJh bnMyKTsKPiA+ICAJfQo+ID4gIAo+ID4gLQlpZiAoIXN1cHBvcnRzX2hkbWkpCj4gPiArCWlmIChl bmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9IRE1JKQo+ID4gIAkJcmV0dXJuOwo+ID4gIAo+ ID4gIAkvKiBDaG9vc2UgYSBnb29kIGRlZmF1bHQgaWYgVkJUIGlzIGJhZGx5IHBvcHVsYXRlZCAq Lwo+ID4gQEAgLTUzNSwzNyArNTIzLDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlcGFyZV9kZGlf YnVmZmVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gPiAgCQkgICBkZGlf dHJhbnNsYXRpb25zX2hkbWlbaGRtaV9sZXZlbF0udHJhbnMyKTsKPiA+ICB9Cj4gPiAgCj4gPiAt LyogUHJvZ3JhbSBEREkgYnVmZmVycyB0cmFuc2xhdGlvbnMgZm9yIERQLiBCeSBkZWZhdWx0LCBw cm9ncmFtIHBvcnRzIEEtRCBpbiBEUAo+ID4gLSAqIG1vZGUgYW5kIHBvcnQgRSBmb3IgRkRJLgo+ ID4gLSAqLwo+ID4gLXZvaWQgaW50ZWxfcHJlcGFyZV9kZGkoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKPiA+IC17Cj4gPiAtCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOwo+ID4g LQlib29sIHZpc2l0ZWRbSTkxNV9NQVhfUE9SVFNdID0geyAwLCB9Owo+ID4gLQo+ID4gLQlpZiAo IUhBU19EREkoZGV2KSkKPiA+IC0JCXJldHVybjsKPiA+IC0KPiA+IC0JZm9yX2VhY2hfaW50ZWxf ZW5jb2RlcihkZXYsIGludGVsX2VuY29kZXIpIHsKPiA+IC0JCXN0cnVjdCBpbnRlbF9kaWdpdGFs X3BvcnQgKmludGVsX2RpZ19wb3J0Owo+ID4gLQkJZW51bSBwb3J0IHBvcnQ7Cj4gPiAtCQlib29s IHN1cHBvcnRzX2hkbWk7Cj4gPiAtCj4gPiAtCQlpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJ TlRFTF9PVVRQVVRfRFNJKQo+ID4gLQkJCWNvbnRpbnVlOwo+ID4gLQo+ID4gLQkJZGRpX2dldF9l bmNvZGVyX3BvcnQoaW50ZWxfZW5jb2RlciwgJmludGVsX2RpZ19wb3J0LCAmcG9ydCk7Cj4gPiAt CQlpZiAodmlzaXRlZFtwb3J0XSkKPiA+IC0JCQljb250aW51ZTsKPiA+IC0KPiA+IC0JCXN1cHBv cnRzX2hkbWkgPSBpbnRlbF9kaWdfcG9ydCAmJgo+ID4gLQkJCQlpbnRlbF9kaWdfcG9ydF9zdXBw b3J0c19oZG1pKGludGVsX2RpZ19wb3J0KTsKPiA+IC0KPiA+IC0JCWludGVsX3ByZXBhcmVfZGRp X2J1ZmZlcnModG9faTkxNShkZXYpLCBwb3J0LCBzdXBwb3J0c19oZG1pKTsKPiA+IC0JCXZpc2l0 ZWRbcG9ydF0gPSB0cnVlOwo+ID4gLQl9Cj4gPiAtfQo+ID4gLQo+ID4gIHN0YXRpYyB2b2lkIGlu dGVsX3dhaXRfZGRpX2J1Zl9pZGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwK PiA+ICAJCQkJICAgIGVudW0gcG9ydCBwb3J0KQo+ID4gIHsKPiA+IEBAIC01OTQsOCArNTUxLDE0 IEBAIHZvaWQgaHN3X2ZkaV9saW5rX3RyYWluKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiA+ICAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKPiA+ICAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiA+ICAJc3RydWN0IGludGVs X2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwo+ID4gKwlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcjsKPiA+ICAJdTMyIHRlbXAsIGksIHJ4X2N0bF92YWw7Cj4gPiAg Cj4gPiArCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29kZXIpIHsKPiA+ ICsJCVdBUk5fT04oZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfQU5BTE9HKTsKPiA+ICsJ CWludGVsX3ByZXBhcmVfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gPiArCX0KPiAKPiBJIHN0aWxs IG1haW50YWluIHRoYXQgb24gaHN3IHRoZSBlbnRpcmUgZmRpIHN0dWZmIHJlYWxseSBzaG91bGQg YWxsIGJlCj4gcGFydCBvZiB0aGUgZW5jb2Rlciwgc2luY2UgaXQncyBhbGwgYmVoaW5kIHRoZSBw aXBlL3BvcnQgY3Jvc3NiYXIuIFdvdWxkCj4gYXZvaWQgdGhpcyBsaXR0bGUgYW5ub3lhbmNlIGhl cmUuCgpZZWFoLCBpdCdzIGEgYml0IHVuc2lnaHRseS4gQWN0dWFsbHkgSSBmb3Jnb3QgdG8gcHV0 IHRoaXMgaGVyZQpvcmlnaW5hbGx5LCBhbmQgdGhlbiBJIHdhcyB3b25kZXJpbmcgd2h5IEZESSB3 YXMgYWN0aW5nIHVwLiBJIHRoZW4gcHV0Cml0IGludG8gdGhlIGNydCAucHJlX2VuYWJsZSgpIGhv b2sgYnV0IGl0IGxvb2tlZCB0b28gbG9uZWx5IHRoZXJlLApzbyBpbiB0aGUgZW5kIEkgZmlndXJl ZCBpdCdzIGJldHRlciB0byBoYXZlIGl0IG5leHQgdG8gdGhlIEZESSBzZXR1cAp3aGVyZSBpdCdz IGFjdHVhbGx5IG5lZWRlZCwgbGVhZGluZyB0byB0aGUgZW5jb2RlciBsb29wLgoKPiAKPiA+ICsK PiA+ICAJLyogU2V0IHRoZSBGRElfUlhfTUlTQyBwd3JkbiBsYW5lcyBhbmQgdGhlIDIgd29ya2Fy b3VuZHMgbGlzdGVkIGF0IHRoZQo+ID4gIAkgKiBtb2RlIHNldCAic2VxdWVuY2UgZm9yIENSVCBw b3J0IiBkb2N1bWVudDoKPiA+ICAJICogLSBUUDEgdG8gVFAyIHRpbWUgd2l0aCB0aGUgZGVmYXVs dCB2YWx1ZQo+ID4gQEAgLTIzMjEsMTIgKzIyODQsMTIgQEAgdm9pZCBpbnRlbF9kZGlfY2xrX3Nl bGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiA+ICBzdGF0aWMgdm9pZCBpbnRl bF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKPiA+ ICB7Cj4gPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5i YXNlOwo+ID4gLQlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZW5jb2Rlci0+ZGV2Owo+ID4gLQlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ID4g KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRl dik7Cj4gPiAgCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhlbmNvZGVy LT5jcnRjKTsKPiA+ICAJZW51bSBwb3J0IHBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9y dChpbnRlbF9lbmNvZGVyKTsKPiA+ICAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+ ID4gLQlpbnQgaGRtaV9sZXZlbDsKPiA+ICsKPiA+ICsJaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVy cyhpbnRlbF9lbmNvZGVyKTsKPiA+ICAKPiA+ICAJaWYgKHR5cGUgPT0gSU5URUxfT1VUUFVUX0VE UCkgewo+ID4gIAkJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChl bmNvZGVyKTsKPiA+IEBAIC0yMzQ0LDE3ICsyMzA3LDExIEBAIHN0YXRpYyB2b2lkIGludGVsX2Rk aV9wcmVfZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ID4gIAo+ ID4gIAkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2RwLCBEUk1fTU9ERV9EUE1TX09OKTsKPiA+ ICAJCWludGVsX2RwX3N0YXJ0X2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ID4gLQkJaWYgKHBvcnQg IT0gUE9SVF9BIHx8IElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkpCj4gPiArCQlpZiAocG9ydCAh PSBQT1JUX0EgfHwgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+PSA5KQo+ID4gIAkJCWludGVs X2RwX3N0b3BfbGlua190cmFpbihpbnRlbF9kcCk7Cj4gPiAgCX0gZWxzZSBpZiAodHlwZSA9PSBJ TlRFTF9PVVRQVVRfSERNSSkgewo+ID4gIAkJc3RydWN0IGludGVsX2hkbWkgKmludGVsX2hkbWkg PSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiA+ICAKPiA+IC0JCWlmIChJU19CUk9YVE9O KGRldikpIHsKPiA+IC0JCQloZG1pX2xldmVsID0gZGV2X3ByaXYtPnZidC4KPiA+IC0JCQkJZGRp X3BvcnRfaW5mb1twb3J0XS5oZG1pX2xldmVsX3NoaWZ0Owo+ID4gLQkJCWJ4dF9kZGlfdnN3aW5n X3NlcXVlbmNlKGRldl9wcml2LCBoZG1pX2xldmVsLCBwb3J0LAo+ID4gLQkJCQkJCUlOVEVMX09V VFBVVF9IRE1JKTsKPiA+IC0JCX0KPiA+ICAJCWludGVsX2hkbWktPnNldF9pbmZvZnJhbWVzKGVu Y29kZXIsCj4gPiAgCQkJCQkgICBjcnRjLT5jb25maWctPmhhc19oZG1pX3NpbmssCj4gPiAgCQkJ CQkgICAmY3J0Yy0+Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUpOwo+ID4gZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gaW5kZXggZjFhNTQwNDcyOGRmLi5iYzdhYWEzYzQzMWUg MTAwNjQ0Cj4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiA+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ID4gQEAgLTk2NDks OCArOTY0OSw2IEBAIHZvaWQgaHN3X2Rpc2FibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdikKPiA+ICAJCXZhbCB8PSBQQ0hfTFBfUEFSVElUSU9OX0xFVkVMX0RJU0FCTEU7 Cj4gPiAgCQlJOTE1X1dSSVRFKFNPVVRIX0RTUENMS19HQVRFX0QsIHZhbCk7Cj4gPiAgCX0KPiA+ IC0KPiA+IC0JaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKPiA+ICB9Cj4gPiAgCj4gPiAgc3RhdGlj IHZvaWQgYnJveHRvbl9tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0 ZSAqb2xkX3N0YXRlKQo+ID4gQEAgLTE1MTcyLDcgKzE1MTcwLDYgQEAgc3RhdGljIHZvaWQgaTkx NV9kaXNhYmxlX3ZnYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ID4gIHZvaWQgaW50ZWxfbW9k ZXNldF9pbml0X2h3KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gPiAgewo+ID4gIAlpbnRlbF91 cGRhdGVfY2RjbGsoZGV2KTsKPiA+IC0JaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKPiAKPiBUaGlz IHBhdGNoIGlzIHdvcnRoIGl0IGp1c3QgZm9yIHRoaXMgaHVuayBoZXJlIGFuZCB0aGUgb25lIGJl bG93IGluIHRoZQo+IHNrbCBkbWMgY29kZS4KPiAKPiBSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRl ciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KPiAKPiA+ICAJaW50ZWxfaW5pdF9jbG9ja19nYXRp bmcoZGV2KTsKPiA+ICAJaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShkZXYpOwo+ID4gIH0KPiA+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gPiBpbmRleCBhYmZjMTcxODg4YjguLjcz YWM2OGUyMWI3ZSAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw X21zdC5jCj4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ID4g QEAgLTE3Myw2ICsxNzMsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2VuYWJsZV9kcChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKPiA+ICAJaW50ZWxfbXN0LT5wb3J0ID0gZm91 bmQtPnBvcnQ7Cj4gPiAgCj4gPiAgCWlmIChpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAw KSB7Cj4gPiArCQlpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKCZpbnRlbF9kaWdfcG9ydC0+YmFz ZSk7Cj4gPiArCj4gPiAgCQlpbnRlbF9kZGlfY2xrX3NlbGVjdCgmaW50ZWxfZGlnX3BvcnQtPmJh c2UsIGludGVsX2NydGMtPmNvbmZpZyk7Cj4gPiAgCj4gPiAgCQlpbnRlbF9kcF9zZXRfbGlua19w YXJhbXMoaW50ZWxfZHAsIGludGVsX2NydGMtPmNvbmZpZyk7Cj4gPiBkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcnYuaAo+ID4gaW5kZXggNDNkNDUxYzdjMzY2Li5hOGE4NGI4YzJiYWMgMTAwNjQ0Cj4gPiAt LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+ID4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiA+IEBAIC05OTYsNyArOTk2LDcgQEAgdm9pZCBpbnRl bF9jcnRfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKPiA+ICAvKiBpbnRlbF9kZGkuYyAq Lwo+ID4gIHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVsX2VuY29kZXIgKmVu Y29kZXIsCj4gPiAgCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcpOwo+ID4gLXZvaWQgaW50ZWxfcHJlcGFyZV9kZGkoc3RydWN0IGRybV9kZXZpY2UgKmRldik7 Cj4gPiArdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9lbmNvZGVy ICplbmNvZGVyKTsKPiA+ICB2b2lkIGhzd19mZGlfbGlua190cmFpbihzdHJ1Y3QgZHJtX2NydGMg KmNydGMpOwo+ID4gIHZvaWQgaW50ZWxfZGRpX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg ZW51bSBwb3J0IHBvcnQpOwo+ID4gIGVudW0gcG9ydCBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9y dChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Cj4gPiBkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4gPiBpbmRleCAyYzIxNTFmMWM0N2UuLjYwYTU5MmQy MDQwMiAxMDA2NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVf cG0uYwo+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcnVudGltZV9wbS5jCj4g PiBAQCAtNjI1LDcgKzYyNSw2IEBAIHZvaWQgc2tsX2Rpc2FibGVfZGM2KHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikKPiA+ICBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAkJCXN0cnVjdCBpOTE1X3Bv d2VyX3dlbGwgKnBvd2VyX3dlbGwsIGJvb2wgZW5hYmxlKQo+ID4gIHsKPiA+IC0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGRldl9wcml2LT5kZXY7Cj4gPiAgCXVpbnQzMl90IHRtcCwgZnVzZV9z dGF0dXM7Cj4gPiAgCXVpbnQzMl90IHJlcV9tYXNrLCBzdGF0ZV9tYXNrOwo+ID4gIAlib29sIGlz X2VuYWJsZWQsIGVuYWJsZV9yZXF1ZXN0ZWQsIGNoZWNrX2Z1c2Vfc3RhdHVzID0gZmFsc2U7Cj4g PiBAQCAtNjY5LDE3ICs2NjgsNiBAQCBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gIAkJCQkhSTkxNV9SRUFEKEhTV19Q V1JfV0VMTF9CSU9TKSwKPiA+ICAJCQkJIkludmFsaWQgZm9yIHBvd2VyIHdlbGwgc3RhdHVzIHRv IGJlIGVuYWJsZWQsIHVubGVzcyBkb25lIGJ5IHRoZSBCSU9TLCBcCj4gPiAgCQkJCXdoZW4gcmVx dWVzdCBpcyB0byBkaXNhYmxlIVxuIik7Cj4gPiAtCQkJaWYgKHBvd2VyX3dlbGwtPmRhdGEgPT0g U0tMX0RJU1BfUFdfMikgewo+ID4gLQkJCQkvKgo+ID4gLQkJCQkgKiBEREkgYnVmZmVyIHByb2dy YW1taW5nIHVubmVjZXNzYXJ5IGR1cmluZwo+ID4gLQkJCQkgKiBkcml2ZXItbG9hZC9yZXN1bWUg YXMgaXQncyBhbHJlYWR5IGRvbmUKPiA+IC0JCQkJICogZHVyaW5nIG1vZGVzZXQgaW5pdGlhbGl6 YXRpb24gdGhlbi4gSXQncwo+ID4gLQkJCQkgKiBhbHNvIGludmFsaWQgaGVyZSBhcyBlbmNvZGVy IGxpc3QgaXMgc3RpbGwKPiA+IC0JCQkJICogdW5pbml0aWFsaXplZC4KPiA+IC0JCQkJICovCj4g PiAtCQkJCWlmICghZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMuaW5pdGlhbGl6aW5nKQo+ID4gLQkJ CQkJaW50ZWxfcHJlcGFyZV9kZGkoZGV2KTsKPiA+IC0JCQl9Cj4gPiAgCQkJSTkxNV9XUklURShI U1dfUFdSX1dFTExfRFJJVkVSLCB0bXAgfCByZXFfbWFzayk7Cj4gPiAgCQl9Cj4gPiAgCj4gPiAt LSAKPiA+IDIuNC4xMAo+ID4gCj4gPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwo+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdAo+ID4gSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwo+ID4gaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ludGVsLWdmeAo+IAo+IC0tIAo+IERhbmllbCBWZXR0ZXIKPiBTb2Z0d2Fy ZSBFbmdpbmVlciwgSW50ZWwgQ29ycG9yYXRpb24KPiBodHRwOi8vYmxvZy5mZndsbC5jaAoKLS0g ClZpbGxlIFN5cmrDpGzDpApJbnRlbCBPVEMKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK