From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniel Vetter Subject: Re: [PATCH 09/15] drm/i915: Kill intel_prepare_ddi() Date: Thu, 10 Dec 2015 14:37:01 +0100 Message-ID: <20151210133701.GG20822@phenom.ffwll.local> References: <1449597590-6971-1-git-send-email-ville.syrjala@linux.intel.com> <1449597590-6971-10-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mail-wm0-f41.google.com (mail-wm0-f41.google.com [74.125.82.41]) by gabe.freedesktop.org (Postfix) with ESMTPS id 67D9F7A097 for ; Thu, 10 Dec 2015 05:37:07 -0800 (PST) Received: by mail-wm0-f41.google.com with SMTP id c201so33422250wme.0 for ; Thu, 10 Dec 2015 05:37:07 -0800 (PST) Content-Disposition: inline In-Reply-To: <1449597590-6971-10-git-send-email-ville.syrjala@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: ville.syrjala@linux.intel.com Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBEZWMgMDgsIDIwMTUgYXQgMDc6NTk6NDRQTSArMDIwMCwgdmlsbGUuc3lyamFsYUBs aW51eC5pbnRlbC5jb20gd3JvdGU6Cj4gRnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KPiAKPiBNb3ZlIHRoZSBkZGkgYnVmZmVyIHRyYW5zbGF0aW9u IHByb2dyYW1taW5nIHRvIG9jY3VyIGZyb20gdGhlIGVuY29kZXIKPiAucHJlX2VuYWJsZSgpIGhv b2ssIGZvciBqdXN0IHRoZSBkZGkgcG9ydCB3ZSBhcmUgZW5hYmxpbmcuIFByZXZpb3VzbHkKPiB3 ZSB1c2VkIHRvIHJlcHJvZ3JhbSB0aGUgdHJhbnNsYXRpb25zIGZvciBhbGwgZGRpIHBvcnRzIGR1 cmluZwo+IGluaXQgYW5kIGR1cmluZyBwb3dlciB3ZWxsIGVuYWJsaW5nLgo+IAo+IFNpZ25lZC1v ZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Cj4g LS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICAxIC0KPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgICAgICAgIHwgOTkgKysrKysrKysrKy0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tCj4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3Bs YXkuYyAgICB8ICAzIC0KPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgICAg IHwgIDIgKwo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgICAgICAgfCAgMiAr LQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMgfCAxMiAtLS0tCj4g IDYgZmlsZXMgY2hhbmdlZCwgMzEgaW5zZXJ0aW9ucygrKSwgODggZGVsZXRpb25zKC0pCj4gCj4g ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5jCj4gaW5kZXggZTY5MzVmMWNiNjg5Li40ZDhmZWZmNDExYmIg MTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwo+ICsrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKPiBAQCAtMTA2Miw3ICsxMDYyLDYgQEAgc3Rh dGljIGludCBieHRfcmVzdW1lX3ByZXBhcmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQo+ICAJICovCj4gIAlicm94dG9uX2luaXRfY2RjbGsoZGV2KTsKPiAgCWJyb3h0b25fZGRp X3BoeV9pbml0KGRldik7Cj4gLQlpbnRlbF9wcmVwYXJlX2RkaShkZXYpOwo+ICAKPiAgCXJldHVy biAwOwo+ICB9Cj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKPiBpbmRleCAxNTJjODEzY2M0M2Uu LjA3NDEyMWVmYjI2NSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k ZGkuYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jCj4gQEAgLTM0Miwx MiArMzQyLDYgQEAgZW51bSBwb3J0IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQo+ICAJcmV0dXJuIHBvcnQ7Cj4gIH0KPiAgCj4g LXN0YXRpYyBib29sCj4gLWludGVsX2RpZ19wb3J0X3N1cHBvcnRzX2hkbWkoY29uc3Qgc3RydWN0 IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQpCj4gLXsKPiAtCXJldHVybiBpOTE1 X21taW9fcmVnX3ZhbGlkKGludGVsX2RpZ19wb3J0LT5oZG1pLmhkbWlfcmVnKTsKPiAtfQo+IC0K PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICoKPiAgc2tsX2dldF9idWZfdHJh bnNfZHAoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBpbnQgKm5fZW50cmllcykK PiAgewo+IEBAIC00MDksMjggKzQwMywzNCBAQCBza2xfZ2V0X2J1Zl90cmFuc19oZG1pKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgaW50ICpuX2VudHJpZXMpCj4gICAqIGluIGVp dGhlciBGREkgb3IgRFAgbW9kZXMgb25seSwgYXMgSERNSSBjb25uZWN0aW9ucyB3aWxsIHdvcmsg d2l0aCBib3RoCj4gICAqIG9mIHRob3NlCj4gICAqLwo+IC1zdGF0aWMgdm9pZCBpbnRlbF9wcmVw YXJlX2RkaV9idWZmZXJzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAtCQkJ CSAgICAgIGVudW0gcG9ydCBwb3J0LCBib29sIHN1cHBvcnRzX2hkbWkpCj4gK3ZvaWQgaW50ZWxf cHJlcGFyZV9kZGlfYnVmZmVycyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKCnMvYnVm ZmVycy9idWZmZXIvIHNpbmNlIGl0J3Mgbm90IGp1c3QgZm9yIG9uZSBlbmNvZGVyPyBPciBkbyB3 ZSBoYXZlIGEKcGlsZSBvZiBidWZmZXJzIHBlciBlbmNvZGVyPyBTZWVtcyBhIGJpdCBjb25mdXNp bmcgdG8gbWUsIGJ1dCByZWFsbHkganVzdAphIGJpa2VzaGVkIGFuZCB3YXMgdGhlcmUgYmVmb3Jl LgoKPiAgewo+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShl bmNvZGVyLT5iYXNlLmRldik7Cj4gIAl1MzIgaWJvb3N0X2JpdCA9IDA7Cj4gIAlpbnQgaSwgbl9o ZG1pX2VudHJpZXMsIG5fZHBfZW50cmllcywgbl9lZHBfZW50cmllcywgaGRtaV9kZWZhdWx0X2Vu dHJ5LAo+ICAJICAgIHNpemU7Cj4gLQlpbnQgaGRtaV9sZXZlbCA9IGRldl9wcml2LT52YnQuZGRp X3BvcnRfaW5mb1twb3J0XS5oZG1pX2xldmVsX3NoaWZ0Owo+ICsJaW50IGhkbWlfbGV2ZWw7Cj4g KwllbnVtIHBvcnQgcG9ydDsKPiAgCWNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJh bnNsYXRpb25zX2ZkaTsKPiAgCWNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNs YXRpb25zX2RwOwo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlv bnNfZWRwOwo+ICAJY29uc3Qgc3RydWN0IGRkaV9idWZfdHJhbnMgKmRkaV90cmFuc2xhdGlvbnNf aGRtaTsKPiAgCWNvbnN0IHN0cnVjdCBkZGlfYnVmX3RyYW5zICpkZGlfdHJhbnNsYXRpb25zOwo+ ICAKPiArCXBvcnQgPSBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9ydChlbmNvZGVyKTsKPiArCWhk bWlfbGV2ZWwgPSBkZXZfcHJpdi0+dmJ0LmRkaV9wb3J0X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9z aGlmdDsKPiArCj4gIAlpZiAoSVNfQlJPWFRPTihkZXZfcHJpdikpIHsKPiAtCQlpZiAoIXN1cHBv cnRzX2hkbWkpCj4gKwkJaWYgKGVuY29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0hETUkpCj4g IAkJCXJldHVybjsKPiAgCj4gIAkJLyogVnN3aW5nIHByb2dyYW1taW5nIGZvciBIRE1JICovCj4g IAkJYnh0X2RkaV92c3dpbmdfc2VxdWVuY2UoZGV2X3ByaXYsIGhkbWlfbGV2ZWwsIHBvcnQsCj4g IAkJCQkJSU5URUxfT1VUUFVUX0hETUkpOwo+ICAJCXJldHVybjsKPiAtCX0gZWxzZSBpZiAoSVNf U0tZTEFLRShkZXZfcHJpdikgfHwgSVNfS0FCWUxBS0UoZGV2X3ByaXYpKSB7Cj4gKwl9Cj4gKwo+ ICsJaWYgKElTX1NLWUxBS0UoZGV2X3ByaXYpIHx8IElTX0tBQllMQUtFKGRldl9wcml2KSkgewo+ ICAJCWRkaV90cmFuc2xhdGlvbnNfZmRpID0gTlVMTDsKPiAgCQlkZGlfdHJhbnNsYXRpb25zX2Rw ID0KPiAgCQkJCXNrbF9nZXRfYnVmX3RyYW5zX2RwKGRldl9wcml2LCAmbl9kcF9lbnRyaWVzKTsK PiBAQCAtNDgzLDMwICs0ODMsMTggQEAgc3RhdGljIHZvaWQgaW50ZWxfcHJlcGFyZV9kZGlfYnVm ZmVycyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCj4gIAkJaGRtaV9kZWZhdWx0 X2VudHJ5ID0gNzsKPiAgCX0KPiAgCj4gLQlzd2l0Y2ggKHBvcnQpIHsKPiAtCWNhc2UgUE9SVF9B Ogo+ICsJc3dpdGNoIChlbmNvZGVyLT50eXBlKSB7Cj4gKwljYXNlIElOVEVMX09VVFBVVF9FRFA6 Cj4gIAkJZGRpX3RyYW5zbGF0aW9ucyA9IGRkaV90cmFuc2xhdGlvbnNfZWRwOwo+ICAJCXNpemUg PSBuX2VkcF9lbnRyaWVzOwo+ICAJCWJyZWFrOwo+IC0JY2FzZSBQT1JUX0I6Cj4gLQljYXNlIFBP UlRfQzoKPiArCWNhc2UgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUOgo+ICsJY2FzZSBJTlRFTF9P VVRQVVRfSERNSToKPiAgCQlkZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19kcDsK PiAgCQlzaXplID0gbl9kcF9lbnRyaWVzOwo+ICAJCWJyZWFrOwo+IC0JY2FzZSBQT1JUX0Q6Cj4g LQkJaWYgKGludGVsX2RwX2lzX2VkcChkZXZfcHJpdi0+ZGV2LCBQT1JUX0QpKSB7Cj4gLQkJCWRk aV90cmFuc2xhdGlvbnMgPSBkZGlfdHJhbnNsYXRpb25zX2VkcDsKPiAtCQkJc2l6ZSA9IG5fZWRw X2VudHJpZXM7Cj4gLQkJfSBlbHNlIHsKPiAtCQkJZGRpX3RyYW5zbGF0aW9ucyA9IGRkaV90cmFu c2xhdGlvbnNfZHA7Cj4gLQkJCXNpemUgPSBuX2RwX2VudHJpZXM7Cj4gLQkJfQo+IC0JCWJyZWFr Owo+IC0JY2FzZSBQT1JUX0U6Cj4gLQkJaWYgKGRkaV90cmFuc2xhdGlvbnNfZmRpKQo+IC0JCQlk ZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19mZGk7Cj4gLQkJZWxzZQo+IC0JCQlk ZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19kcDsKPiArCWNhc2UgSU5URUxfT1VU UFVUX0FOQUxPRzoKPiArCQlkZGlfdHJhbnNsYXRpb25zID0gZGRpX3RyYW5zbGF0aW9uc19mZGk7 Cj4gIAkJc2l6ZSA9IG5fZHBfZW50cmllczsKPiAgCQlicmVhazsKPiAgCWRlZmF1bHQ6Cj4gQEAg LTUyMCw3ICs1MDgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJICAgZGRpX3RyYW5zbGF0aW9u c1tpXS50cmFuczIpOwo+ICAJfQo+ICAKPiAtCWlmICghc3VwcG9ydHNfaGRtaSkKPiArCWlmIChl bmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9IRE1JKQo+ICAJCXJldHVybjsKPiAgCj4gIAkv KiBDaG9vc2UgYSBnb29kIGRlZmF1bHQgaWYgVkJUIGlzIGJhZGx5IHBvcHVsYXRlZCAqLwo+IEBA IC01MzUsMzcgKzUyMyw2IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZXBhcmVfZGRpX2J1ZmZlcnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCSAgIGRkaV90cmFuc2xhdGlv bnNfaGRtaVtoZG1pX2xldmVsXS50cmFuczIpOwo+ICB9Cj4gIAo+IC0vKiBQcm9ncmFtIERESSBi dWZmZXJzIHRyYW5zbGF0aW9ucyBmb3IgRFAuIEJ5IGRlZmF1bHQsIHByb2dyYW0gcG9ydHMgQS1E IGluIERQCj4gLSAqIG1vZGUgYW5kIHBvcnQgRSBmb3IgRkRJLgo+IC0gKi8KPiAtdm9pZCBpbnRl bF9wcmVwYXJlX2RkaShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+IC17Cj4gLQlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcjsKPiAtCWJvb2wgdmlzaXRlZFtJOTE1X01BWF9QT1JU U10gPSB7IDAsIH07Cj4gLQo+IC0JaWYgKCFIQVNfRERJKGRldikpCj4gLQkJcmV0dXJuOwo+IC0K PiAtCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBpbnRlbF9lbmNvZGVyKSB7Cj4gLQkJc3Ry dWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4gLQkJZW51bSBwb3J0IHBv cnQ7Cj4gLQkJYm9vbCBzdXBwb3J0c19oZG1pOwo+IC0KPiAtCQlpZiAoaW50ZWxfZW5jb2Rlci0+ dHlwZSA9PSBJTlRFTF9PVVRQVVRfRFNJKQo+IC0JCQljb250aW51ZTsKPiAtCj4gLQkJZGRpX2dl dF9lbmNvZGVyX3BvcnQoaW50ZWxfZW5jb2RlciwgJmludGVsX2RpZ19wb3J0LCAmcG9ydCk7Cj4g LQkJaWYgKHZpc2l0ZWRbcG9ydF0pCj4gLQkJCWNvbnRpbnVlOwo+IC0KPiAtCQlzdXBwb3J0c19o ZG1pID0gaW50ZWxfZGlnX3BvcnQgJiYKPiAtCQkJCWludGVsX2RpZ19wb3J0X3N1cHBvcnRzX2hk bWkoaW50ZWxfZGlnX3BvcnQpOwo+IC0KPiAtCQlpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHRv X2k5MTUoZGV2KSwgcG9ydCwgc3VwcG9ydHNfaGRtaSk7Cj4gLQkJdmlzaXRlZFtwb3J0XSA9IHRy dWU7Cj4gLQl9Cj4gLX0KPiAtCj4gIHN0YXRpYyB2b2lkIGludGVsX3dhaXRfZGRpX2J1Zl9pZGxl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKPiAgCQkJCSAgICBlbnVtIHBvcnQg cG9ydCkKPiAgewo+IEBAIC01OTQsOCArNTUxLDE0IEBAIHZvaWQgaHN3X2ZkaV9saW5rX3RyYWlu KHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKPiAgCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRj LT5kZXY7Cj4gIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9w cml2YXRlOwo+ICAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOwo+ICsJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7Cj4gIAl1MzIgdGVtcCwg aSwgcnhfY3RsX3ZhbDsKPiAgCj4gKwlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCBjcnRj LCBlbmNvZGVyKSB7Cj4gKwkJV0FSTl9PTihlbmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9B TkFMT0cpOwo+ICsJCWludGVsX3ByZXBhcmVfZGRpX2J1ZmZlcnMoZW5jb2Rlcik7Cj4gKwl9CgpJ IHN0aWxsIG1haW50YWluIHRoYXQgb24gaHN3IHRoZSBlbnRpcmUgZmRpIHN0dWZmIHJlYWxseSBz aG91bGQgYWxsIGJlCnBhcnQgb2YgdGhlIGVuY29kZXIsIHNpbmNlIGl0J3MgYWxsIGJlaGluZCB0 aGUgcGlwZS9wb3J0IGNyb3NzYmFyLiBXb3VsZAphdm9pZCB0aGlzIGxpdHRsZSBhbm5veWFuY2Ug aGVyZS4KCj4gKwo+ICAJLyogU2V0IHRoZSBGRElfUlhfTUlTQyBwd3JkbiBsYW5lcyBhbmQgdGhl IDIgd29ya2Fyb3VuZHMgbGlzdGVkIGF0IHRoZQo+ICAJICogbW9kZSBzZXQgInNlcXVlbmNlIGZv ciBDUlQgcG9ydCIgZG9jdW1lbnQ6Cj4gIAkgKiAtIFRQMSB0byBUUDIgdGltZSB3aXRoIHRoZSBk ZWZhdWx0IHZhbHVlCj4gQEAgLTIzMjEsMTIgKzIyODQsMTIgQEAgdm9pZCBpbnRlbF9kZGlfY2xr X3NlbGVjdChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciwKPiAgc3RhdGljIHZvaWQgaW50 ZWxfZGRpX3ByZV9lbmFibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCj4g IHsKPiAgCXN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlciA9ICZpbnRlbF9lbmNvZGVyLT5iYXNl Owo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmRldjsKPiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gKwlzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGVuY29kZXItPmRldik7Cj4gIAlz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+Y3J0Yyk7Cj4g IAllbnVtIHBvcnQgcG9ydCA9IGludGVsX2RkaV9nZXRfZW5jb2Rlcl9wb3J0KGludGVsX2VuY29k ZXIpOwo+ICAJaW50IHR5cGUgPSBpbnRlbF9lbmNvZGVyLT50eXBlOwo+IC0JaW50IGhkbWlfbGV2 ZWw7Cj4gKwo+ICsJaW50ZWxfcHJlcGFyZV9kZGlfYnVmZmVycyhpbnRlbF9lbmNvZGVyKTsKPiAg Cj4gIAlpZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7Cj4gIAkJc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCA9IGVuY190b19pbnRlbF9kcChlbmNvZGVyKTsKPiBAQCAtMjM0NCwxNyArMjMw NywxMSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kZGlfcHJlX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqaW50ZWxfZW5jb2RlcikKPiAgCj4gIAkJaW50ZWxfZHBfc2lua19kcG1zKGludGVsX2Rw LCBEUk1fTU9ERV9EUE1TX09OKTsKPiAgCQlpbnRlbF9kcF9zdGFydF9saW5rX3RyYWluKGludGVs X2RwKTsKPiAtCQlpZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0g OSkKPiArCQlpZiAocG9ydCAhPSBQT1JUX0EgfHwgSU5URUxfSU5GTyhkZXZfcHJpdiktPmdlbiA+ PSA5KQo+ICAJCQlpbnRlbF9kcF9zdG9wX2xpbmtfdHJhaW4oaW50ZWxfZHApOwo+ICAJfSBlbHNl IGlmICh0eXBlID09IElOVEVMX09VVFBVVF9IRE1JKSB7Cj4gIAkJc3RydWN0IGludGVsX2hkbWkg KmludGVsX2hkbWkgPSBlbmNfdG9faW50ZWxfaGRtaShlbmNvZGVyKTsKPiAgCj4gLQkJaWYgKElT X0JST1hUT04oZGV2KSkgewo+IC0JCQloZG1pX2xldmVsID0gZGV2X3ByaXYtPnZidC4KPiAtCQkJ CWRkaV9wb3J0X2luZm9bcG9ydF0uaGRtaV9sZXZlbF9zaGlmdDsKPiAtCQkJYnh0X2RkaV92c3dp bmdfc2VxdWVuY2UoZGV2X3ByaXYsIGhkbWlfbGV2ZWwsIHBvcnQsCj4gLQkJCQkJCUlOVEVMX09V VFBVVF9IRE1JKTsKPiAtCQl9Cj4gIAkJaW50ZWxfaGRtaS0+c2V0X2luZm9mcmFtZXMoZW5jb2Rl ciwKPiAgCQkJCQkgICBjcnRjLT5jb25maWctPmhhc19oZG1pX3NpbmssCj4gIAkJCQkJICAgJmNy dGMtPmNvbmZpZy0+YmFzZS5hZGp1c3RlZF9tb2RlKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jCj4gaW5kZXggZjFhNTQwNDcyOGRmLi5iYzdhYWEzYzQzMWUgMTAwNjQ0Cj4gLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCj4gQEAgLTk2NDksOCArOTY0OSw2IEBAIHZvaWQg aHN3X2Rpc2FibGVfcGM4KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiAgCQl2 YWwgfD0gUENIX0xQX1BBUlRJVElPTl9MRVZFTF9ESVNBQkxFOwo+ICAJCUk5MTVfV1JJVEUoU09V VEhfRFNQQ0xLX0dBVEVfRCwgdmFsKTsKPiAgCX0KPiAtCj4gLQlpbnRlbF9wcmVwYXJlX2RkaShk ZXYpOwo+ICB9Cj4gIAo+ICBzdGF0aWMgdm9pZCBicm94dG9uX21vZGVzZXRfY29tbWl0X2NkY2xr KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCj4gQEAgLTE1MTcyLDcgKzE1MTcw LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9kaXNhYmxlX3ZnYShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQo+ICB2b2lkIGludGVsX21vZGVzZXRfaW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQo+ ICB7Cj4gIAlpbnRlbF91cGRhdGVfY2RjbGsoZGV2KTsKPiAtCWludGVsX3ByZXBhcmVfZGRpKGRl dik7CgpUaGlzIHBhdGNoIGlzIHdvcnRoIGl0IGp1c3QgZm9yIHRoaXMgaHVuayBoZXJlIGFuZCB0 aGUgb25lIGJlbG93IGluIHRoZQpza2wgZG1jIGNvZGUuCgpSZXZpZXdlZC1ieTogRGFuaWVsIFZl dHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KCj4gIAlpbnRlbF9pbml0X2Nsb2NrX2dhdGlu ZyhkZXYpOwo+ICAJaW50ZWxfZW5hYmxlX2d0X3Bvd2Vyc2F2ZShkZXYpOwo+ICB9Cj4gZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKPiBpbmRleCBhYmZjMTcxODg4YjguLjczYWM2OGUyMWI3 ZSAxMDA2NDQKPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwo+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwX21zdC5jCj4gQEAgLTE3Myw2ICsxNzMs OCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcHJlX2VuYWJsZV9kcChzdHJ1Y3QgaW50ZWxfZW5j b2RlciAqZW5jb2RlcikKPiAgCWludGVsX21zdC0+cG9ydCA9IGZvdW5kLT5wb3J0Owo+ICAKPiAg CWlmIChpbnRlbF9kcC0+YWN0aXZlX21zdF9saW5rcyA9PSAwKSB7Cj4gKwkJaW50ZWxfcHJlcGFy ZV9kZGlfYnVmZmVycygmaW50ZWxfZGlnX3BvcnQtPmJhc2UpOwo+ICsKPiAgCQlpbnRlbF9kZGlf Y2xrX3NlbGVjdCgmaW50ZWxfZGlnX3BvcnQtPmJhc2UsIGludGVsX2NydGMtPmNvbmZpZyk7Cj4g IAo+ICAJCWludGVsX2RwX3NldF9saW5rX3BhcmFtcyhpbnRlbF9kcCwgaW50ZWxfY3J0Yy0+Y29u ZmlnKTsKPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAo+IGluZGV4IDQzZDQ1MWM3YzM2Ni4uYThh ODRiOGMyYmFjIDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5o Cj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKPiBAQCAtOTk2LDcgKzk5 Niw3IEBAIHZvaWQgaW50ZWxfY3J0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldik7Cj4gIC8q IGludGVsX2RkaS5jICovCj4gIHZvaWQgaW50ZWxfZGRpX2Nsa19zZWxlY3Qoc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXIsCj4gIAkJCSAgY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUg KnBpcGVfY29uZmlnKTsKPiAtdm9pZCBpbnRlbF9wcmVwYXJlX2RkaShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KTsKPiArdm9pZCBpbnRlbF9wcmVwYXJlX2RkaV9idWZmZXJzKHN0cnVjdCBpbnRlbF9l bmNvZGVyICplbmNvZGVyKTsKPiAgdm9pZCBoc3dfZmRpX2xpbmtfdHJhaW4oc3RydWN0IGRybV9j cnRjICpjcnRjKTsKPiAgdm9pZCBpbnRlbF9kZGlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LCBlbnVtIHBvcnQgcG9ydCk7Cj4gIGVudW0gcG9ydCBpbnRlbF9kZGlfZ2V0X2VuY29kZXJfcG9y dChzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2Rlcik7Cj4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IGluZGV4IDJjMjE1MWYxYzQ3ZS4uNjBhNTkyZDIwNDAy IDEwMDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+ ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3J1bnRpbWVfcG0uYwo+IEBAIC02MjUs NyArNjI1LDYgQEAgdm9pZCBza2xfZGlzYWJsZV9kYzYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQo+ICBzdGF0aWMgdm9pZCBza2xfc2V0X3Bvd2VyX3dlbGwoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ICAJCQlzdHJ1Y3QgaTkxNV9wb3dlcl93ZWxsICpwb3dl cl93ZWxsLCBib29sIGVuYWJsZSkKPiAgewo+IC0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGRl dl9wcml2LT5kZXY7Cj4gIAl1aW50MzJfdCB0bXAsIGZ1c2Vfc3RhdHVzOwo+ICAJdWludDMyX3Qg cmVxX21hc2ssIHN0YXRlX21hc2s7Cj4gIAlib29sIGlzX2VuYWJsZWQsIGVuYWJsZV9yZXF1ZXN0 ZWQsIGNoZWNrX2Z1c2Vfc3RhdHVzID0gZmFsc2U7Cj4gQEAgLTY2OSwxNyArNjY4LDYgQEAgc3Rh dGljIHZvaWQgc2tsX3NldF9wb3dlcl93ZWxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiwKPiAgCQkJCSFJOTE1X1JFQUQoSFNXX1BXUl9XRUxMX0JJT1MpLAo+ICAJCQkJIkludmFs aWQgZm9yIHBvd2VyIHdlbGwgc3RhdHVzIHRvIGJlIGVuYWJsZWQsIHVubGVzcyBkb25lIGJ5IHRo ZSBCSU9TLCBcCj4gIAkJCQl3aGVuIHJlcXVlc3QgaXMgdG8gZGlzYWJsZSFcbiIpOwo+IC0JCQlp ZiAocG93ZXJfd2VsbC0+ZGF0YSA9PSBTS0xfRElTUF9QV18yKSB7Cj4gLQkJCQkvKgo+IC0JCQkJ ICogRERJIGJ1ZmZlciBwcm9ncmFtbWluZyB1bm5lY2Vzc2FyeSBkdXJpbmcKPiAtCQkJCSAqIGRy aXZlci1sb2FkL3Jlc3VtZSBhcyBpdCdzIGFscmVhZHkgZG9uZQo+IC0JCQkJICogZHVyaW5nIG1v ZGVzZXQgaW5pdGlhbGl6YXRpb24gdGhlbi4gSXQncwo+IC0JCQkJICogYWxzbyBpbnZhbGlkIGhl cmUgYXMgZW5jb2RlciBsaXN0IGlzIHN0aWxsCj4gLQkJCQkgKiB1bmluaXRpYWxpemVkLgo+IC0J CQkJICovCj4gLQkJCQlpZiAoIWRldl9wcml2LT5wb3dlcl9kb21haW5zLmluaXRpYWxpemluZykK PiAtCQkJCQlpbnRlbF9wcmVwYXJlX2RkaShkZXYpOwo+IC0JCQl9Cj4gIAkJCUk5MTVfV1JJVEUo SFNXX1BXUl9XRUxMX0RSSVZFUiwgdG1wIHwgcmVxX21hc2spOwo+ICAJCX0KPiAgCj4gLS0gCj4g Mi40LjEwCj4gCj4gX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KPiBJbnRlbC1nZnggbWFpbGluZyBsaXN0Cj4gSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwo+IGh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRl bC1nZngKCi0tIApEYW5pZWwgVmV0dGVyClNvZnR3YXJlIEVuZ2luZWVyLCBJbnRlbCBDb3Jwb3Jh dGlvbgpodHRwOi8vYmxvZy5mZndsbC5jaApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeAo=