From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 08/13] drm/i915: Get rid of dpms handling. Date: Wed, 5 Aug 2015 12:37:06 +0200 Message-ID: <1438771031-23227-9-git-send-email-maarten.lankhorst@linux.intel.com> References: <1438771031-23227-1-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 mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 680236E6F3 for ; Wed, 5 Aug 2015 03:37:19 -0700 (PDT) In-Reply-To: <1438771031-23227-1-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: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org VGhpcyBpcyBub3cgZG9uZSBjb21wbGV0ZWx5IGF0b21pY2FsbHkuCktlZXAgY29ubmVjdG9yc19h Y3RpdmUgZm9yIG5vdywgYnV0IG1ha2UgaXQgbWlycm9yIGNydGNfc3RhdGUtPmFjdGl2ZS4KClNp Z25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5p bnRlbC5jb20+ClJldmlld2VkLWJ5OiBBbmRlciBDb25zZWx2YW4gZGUgT2xpdmVpcmEgPGNvbnNl bHZhbjJAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jICAg ICB8IDQ5ICstLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlz cGxheS5jIHwgOTkgKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbXN0LmMgIHwgIDIgKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Ry di5oICAgICB8ICAzIC0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYyAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMgICAgIHwgNDYgKy0tLS0tLS0t LS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYyAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMgICAgfCAgMiArLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfc2R2by5jICAgIHwgNDcgKy0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3R2LmMgICAgICB8ICAyICstCiAxMSBmaWxlcyBjaGFuZ2VkLCAx MSBpbnNlcnRpb25zKCspLCAyNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQu YwppbmRleCA5ZWJhM2RkNWI0MzQuLmFmNWU0M2JlZjRhNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf Y3J0LmMKQEAgLTIzNiw1MyArMjM2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2NydChz dHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9jcnRfc2V0X2RwbXMoZW5jb2Rl ciwgY3J0LT5jb25uZWN0b3ItPmJhc2UuZHBtcyk7CiB9CiAKLS8qIFNwZWNpYWwgZHBtcyBmdW5j dGlvbiB0byBzdXBwb3J0IGNsb25pbmcgYmV0d2VlbiBkdm8vc2R2by9jcnQuICovCi1zdGF0aWMg aW50IGludGVsX2NydF9kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBt b2RlKQotewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjb25uZWN0b3ItPmRldjsKLQlzdHJ1 Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlciA9IGludGVsX2F0dGFjaGVkX2VuY29kZXIoY29ubmVj dG9yKTsKLQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0JaW50IG9sZF9kcG1zOwotCi0JLyogUENI IHBsYXRmb3JtcyBhbmQgVkxWIG9ubHkgc3VwcG9ydCBvbi9vZmYuICovCi0JaWYgKElOVEVMX0lO Rk8oZGV2KS0+Z2VuID49IDUgJiYgbW9kZSAhPSBEUk1fTU9ERV9EUE1TX09OKQotCQltb2RlID0g RFJNX01PREVfRFBNU19PRkY7Ci0KLQlpZiAobW9kZSA9PSBjb25uZWN0b3ItPmRwbXMpCi0JCXJl dHVybiAwOwotCi0Jb2xkX2RwbXMgPSBjb25uZWN0b3ItPmRwbXM7Ci0JY29ubmVjdG9yLT5kcG1z ID0gbW9kZTsKLQotCS8qIE9ubHkgbmVlZCB0byBjaGFuZ2UgaHcgc3RhdGUgd2hlbiBhY3R1YWxs eSBlbmFibGVkICovCi0JY3J0YyA9IGVuY29kZXItPmJhc2UuY3J0YzsKLQlpZiAoIWNydGMpIHsK LQkJZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSBmYWxzZTsKLQkJcmV0dXJuIDA7Ci0JfQot Ci0JLyogV2UgbmVlZCB0aGUgcGlwZSB0byBydW4gZm9yIGFueXRoaW5nIGJ1dCBPRkYuICovCi0J aWYgKG1vZGUgPT0gRFJNX01PREVfRFBNU19PRkYpCi0JCWVuY29kZXItPmNvbm5lY3RvcnNfYWN0 aXZlID0gZmFsc2U7Ci0JZWxzZQotCQllbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSA9IHRydWU7 Ci0KLQkvKiBXZSBjYWxsIGNvbm5lY3RvciBkcG1zIG1hbnVhbGx5IGJlbG93IGluIGNhc2UgcGlw ZSBkcG1zIGRvZXNuJ3QKLQkgKiBjaGFuZ2UgZHVlIHRvIGNsb25pbmcuICovCi0JaWYgKG1vZGUg PCBvbGRfZHBtcykgewotCQkvKiBGcm9tIG9mZiB0byBvbiwgZW5hYmxlIHRoZSBwaXBlIGZpcnN0 LiAqLwotCQlpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKGNydGMpOwotCi0JCWludGVsX2NydF9zZXRf ZHBtcyhlbmNvZGVyLCBtb2RlKTsKLQl9IGVsc2UgewotCQlpbnRlbF9jcnRfc2V0X2RwbXMoZW5j b2RlciwgbW9kZSk7Ci0KLQkJaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhjcnRjKTsKLQl9Ci0KLQly ZXR1cm4gMDsKLX0KLQogc3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCiBpbnRlbF9jcnRfbW9k ZV92YWxpZChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkgICAgIHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlICptb2RlKQpAQCAtNzk4LDcgKzc1MSw3IEBAIHN0YXRpYyB2b2lkIGlu dGVsX2NydF9yZXNldChzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogCiBzdGF0aWMg Y29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxfY3J0X2Nvbm5lY3Rvcl9mdW5j cyA9IHsKIAkucmVzZXQgPSBpbnRlbF9jcnRfcmVzZXQsCi0JLmRwbXMgPSBpbnRlbF9jcnRfZHBt cywKKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAogCS5kZXRlY3Qg PSBpbnRlbF9jcnRfZGV0ZWN0LAogCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5n bGVfY29ubmVjdG9yX21vZGVzLAogCS5kZXN0cm95ID0gaW50ZWxfY3J0X2Rlc3Ryb3ksCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggNGJhYmVjZDFjOTlmLi40ODM3ZDE0YTVm OGUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTYyNzEsNjcgKzYyNzEs NiBAQCBmcmVlOgogCXJldHVybiByZXQ7CiB9CiAKLS8qIE1hc3RlciBmdW5jdGlvbiB0byBlbmFi bGUvZGlzYWJsZSBDUlRDIGFuZCBjb3JyZXNwb25kaW5nIHBvd2VyIHdlbGxzICovCi1pbnQgaW50 ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgYm9vbCBlbmFibGUpCi17Ci0J c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKLQlzdHJ1Y3QgZHJtX21vZGVfY29u ZmlnICpjb25maWcgPSAmZGV2LT5tb2RlX2NvbmZpZzsKLQlzdHJ1Y3QgZHJtX21vZGVzZXRfYWNx dWlyZV9jdHggKmN0eCA9IGNvbmZpZy0+YWNxdWlyZV9jdHg7Ci0Jc3RydWN0IGludGVsX2NydGMg KmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwotCXN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpwaXBlX2NvbmZpZzsKLQlzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGU7Ci0JaW50 IHJldDsKLQotCWlmIChlbmFibGUgPT0gaW50ZWxfY3J0Yy0+YWN0aXZlKQotCQlyZXR1cm4gMDsK LQotCWlmIChlbmFibGUgJiYgIWNydGMtPnN0YXRlLT5lbmFibGUpCi0JCXJldHVybiAwOwotCi0J LyogdGhpcyBmdW5jdGlvbiBzaG91bGQgYmUgY2FsbGVkIHdpdGggZHJtX21vZGVzZXRfbG9ja19h bGwgZm9yIG5vdyAqLwotCWlmIChXQVJOX09OKCFjdHgpKQotCQlyZXR1cm4gLUVJTzsKLQlsb2Nr ZGVwX2Fzc2VydF9oZWxkKCZjdHgtPnd3X2N0eCk7Ci0KLQlzdGF0ZSA9IGRybV9hdG9taWNfc3Rh dGVfYWxsb2MoZGV2KTsKLQlpZiAoV0FSTl9PTighc3RhdGUpKQotCQlyZXR1cm4gLUVOT01FTTsK LQotCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGN0eDsKLQlzdGF0ZS0+YWxsb3dfbW9kZXNldCA9IHRy dWU7Ci0KLQlwaXBlX2NvbmZpZyA9IGludGVsX2F0b21pY19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwg aW50ZWxfY3J0Yyk7Ci0JaWYgKElTX0VSUihwaXBlX2NvbmZpZykpIHsKLQkJcmV0ID0gUFRSX0VS UihwaXBlX2NvbmZpZyk7Ci0JCWdvdG8gZXJyOwotCX0KLQlwaXBlX2NvbmZpZy0+YmFzZS5hY3Rp dmUgPSBlbmFibGU7Ci0KLQlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7Ci0JaWYgKCFy ZXQpCi0JCXJldHVybiByZXQ7Ci0KLWVycjoKLQlEUk1fRVJST1IoIlVwZGF0aW5nIGNydGMgYWN0 aXZlIGZhaWxlZCB3aXRoICVpXG4iLCByZXQpOwotCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0 ZSk7Ci0JcmV0dXJuIHJldDsKLX0KLQotLyoqCi0gKiBTZXRzIHRoZSBwb3dlciBtYW5hZ2VtZW50 IG1vZGUgb2YgdGhlIHBpcGUgYW5kIHBsYW5lLgotICovCi12b2lkIGludGVsX2NydGNfdXBkYXRl X2RwbXMoc3RydWN0IGRybV9jcnRjICpjcnRjKQotewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYg PSBjcnRjLT5kZXY7Ci0Jc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7Ci0JYm9v bCBlbmFibGUgPSBmYWxzZTsKLQotCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMs IGludGVsX2VuY29kZXIpCi0JCWVuYWJsZSB8PSBpbnRlbF9lbmNvZGVyLT5jb25uZWN0b3JzX2Fj dGl2ZTsKLQotCWludGVsX2NydGNfY29udHJvbChjcnRjLCBlbmFibGUpOwotfQotCiB2b2lkIGlu dGVsX2VuY29kZXJfZGVzdHJveShzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIpCiB7CiAJc3Ry dWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGVuY29k ZXIpOwpAQCAtNjM0MCwyMiArNjI3OSw2IEBAIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0 cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIAlrZnJlZShpbnRlbF9lbmNvZGVyKTsKIH0KIAot LyogU2ltcGxlIGRwbXMgaGVscGVyIGZvciBlbmNvZGVycyB3aXRoIGp1c3Qgb25lIGNvbm5lY3Rv ciwgbm8gY2xvbmluZyBhbmQgb25seQotICogb25lIGtpbmQgb2Ygb2ZmIHN0YXRlLiBJdCBjbGFt cHMgYWxsICFPTiBtb2RlcyB0byBmdWxseSBPRkYgYW5kIGNoYW5nZXMgdGhlCi0gKiBzdGF0ZSBv ZiB0aGUgZW50aXJlIG91dHB1dCBwaXBlLiAqLwotc3RhdGljIHZvaWQgaW50ZWxfZW5jb2Rlcl9k cG1zKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyLCBpbnQgbW9kZSkKLXsKLQlpZiAobW9k ZSA9PSBEUk1fTU9ERV9EUE1TX09OKSB7Ci0JCWVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlID0g dHJ1ZTsKLQotCQlpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKGVuY29kZXItPmJhc2UuY3J0Yyk7Ci0J fSBlbHNlIHsKLQkJZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSBmYWxzZTsKLQotCQlpbnRl bF9jcnRjX3VwZGF0ZV9kcG1zKGVuY29kZXItPmJhc2UuY3J0Yyk7Ci0JfQotfQotCiAvKiBDcm9z cyBjaGVjayB0aGUgYWN0dWFsIGh3IHN0YXRlIHdpdGggb3VyIG93biBtb2Rlc2V0IHN0YXRlIHRy YWNraW5nIChhbmQgaXQncwogICogaW50ZXJuYWwgY29uc2lzdGVuY3kpLiAqLwogc3RhdGljIHZv aWQgaW50ZWxfY29ubmVjdG9yX2NoZWNrX3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNv bm5lY3RvcikKQEAgLTYzODUsNiArNjMwOCw4IEBAIHN0YXRpYyB2b2lkIGludGVsX2Nvbm5lY3Rv cl9jaGVja19zdGF0ZShzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICpjb25uZWN0b3IpCiAJCUk5MTVf U1RBVEVfV0FSTihjb25uX3N0YXRlLT5jcnRjICE9IGVuY29kZXItPmNydGMsCiAJCQkiYXR0YWNo ZWQgZW5jb2RlciBjcnRjIGRpZmZlcnMgZnJvbSBjb25uZWN0b3IgY3J0Y1xuIik7CiAJfSBlbHNl IHsKKwkJSTkxNV9TVEFURV9XQVJOKGNydGMgJiYgY3J0Yy0+c3RhdGUtPmFjdGl2ZSwKKwkJCSJh dHRhY2hlZCBjcnRjIGlzIGFjdGl2ZSwgYnV0IGNvbm5lY3RvciBpc24ndFxuIik7CiAJCUk5MTVf U1RBVEVfV0FSTighY3J0YyAmJiBjb25uZWN0b3ItPmJhc2Uuc3RhdGUtPmJlc3RfZW5jb2RlciwK IAkJCSJiZXN0IGVuY29kZXIgc2V0IHdpdGhvdXQgY3J0YyFcbiIpOwogCX0KQEAgLTY0MTgsMjYg KzYzNDMsNiBAQCBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3JfYWxsb2Mo dm9pZCkKIAlyZXR1cm4gY29ubmVjdG9yOwogfQogCi0vKiBFdmVuIHNpbXBsZXIgZGVmYXVsdCBp bXBsZW1lbnRhdGlvbiwgaWYgdGhlcmUncyByZWFsbHkgbm8gc3BlY2lhbCBjYXNlIHRvCi0gKiBj b25zaWRlci4gKi8KLWludCBpbnRlbF9jb25uZWN0b3JfZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3Rv ciAqY29ubmVjdG9yLCBpbnQgbW9kZSkKLXsKLQkvKiBBbGwgdGhlIHNpbXBsZSBjYXNlcyBvbmx5 IHN1cHBvcnQgdHdvIGRwbXMgc3RhdGVzLiAqLwotCWlmIChtb2RlICE9IERSTV9NT0RFX0RQTVNf T04pCi0JCW1vZGUgPSBEUk1fTU9ERV9EUE1TX09GRjsKLQotCWlmIChtb2RlID09IGNvbm5lY3Rv ci0+ZHBtcykKLQkJcmV0dXJuIDA7Ci0KLQljb25uZWN0b3ItPmRwbXMgPSBtb2RlOwotCi0JLyog T25seSBuZWVkIHRvIGNoYW5nZSBodyBzdGF0ZSB3aGVuIGFjdHVhbGx5IGVuYWJsZWQgKi8KLQlp ZiAoY29ubmVjdG9yLT5lbmNvZGVyKQotCQlpbnRlbF9lbmNvZGVyX2RwbXModG9faW50ZWxfZW5j b2Rlcihjb25uZWN0b3ItPmVuY29kZXIpLCBtb2RlKTsKLQotCXJldHVybiAwOwotfQotCiAvKiBT aW1wbGUgY29ubmVjdG9yLT5nZXRfaHdfc3RhdGUgaW1wbGVtZW50YXRpb24gZm9yIGVuY29kZXJz IHRoYXQgc3VwcG9ydCBvbmx5CiAgKiBvbmUgY29ubmVjdG9yIGFuZCBubyBjbG9uaW5nIGFuZCBo ZW5jZSB0aGUgZW5jb2RlciBzdGF0ZSBkZXRlcm1pbmVzIHRoZSBzdGF0ZQogICogb2YgdGhlIGNv bm5lY3Rvci4gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCmluZGV4IDQ0ZjhhMzJlNGQxZS4uM2My NDNkZWU3MmMyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKQEAgLTQ4MjUsNyArNDgyNSw3IEBA IHN0YXRpYyB2b2lkIGludGVsX2RwX2VuY29kZXJfcmVzZXQoc3RydWN0IGRybV9lbmNvZGVyICpl bmNvZGVyKQogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50 ZWxfZHBfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1zID0gaW50ZWxfY29ubmVjdG9yX2RwbXMs CisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKIAkuZGV0ZWN0ID0g aW50ZWxfZHBfZGV0ZWN0LAogCS5mb3JjZSA9IGludGVsX2RwX2ZvcmNlLAogCS5maWxsX21vZGVz ID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLApkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kcF9tc3QuYwppbmRleCAzNmJkOTM5NGY3ODkuLmZhNzAzMzA5NGM5NSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHBfbXN0LmMKQEAgLTMyOCw3ICszMjgsNyBAQCBpbnRlbF9kcF9t c3RfY29ubmVjdG9yX2Rlc3Ryb3koc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvcikKIH0K IAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2RwX21zdF9j b25uZWN0b3JfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpbnRlbF9jb25uZWN0b3JfZHBtcywKKwkuZHBt cyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAogCS5kZXRlY3QgPSBpbnRlbF9k cF9tc3RfZGV0ZWN0LAogCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29u bmVjdG9yX21vZGVzLAogCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9kcF9tc3Rfc2V0X3Byb3BlcnR5 LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAwZGE0MjM2ZGM4NWEuLjYyMDczZDJmODNm YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTk5MiwxMiArOTkyLDkgQEAgdm9pZCBp bnRlbF9tYXJrX2J1c3koc3RydWN0IGRybV9kZXZpY2UgKmRldik7CiB2b2lkIGludGVsX21hcmtf aWRsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfY3J0Y19yZXN0b3JlX21v ZGUoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKIGludCBpbnRlbF9kaXNwbGF5X3N1c3BlbmQoc3Ry dWN0IGRybV9kZXZpY2UgKmRldik7Ci1pbnQgaW50ZWxfY3J0Y19jb250cm9sKHN0cnVjdCBkcm1f Y3J0YyAqY3J0YywgYm9vbCBlbmFibGUpOwotdm9pZCBpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKHN0 cnVjdCBkcm1fY3J0YyAqY3J0Yyk7CiB2b2lkIGludGVsX2VuY29kZXJfZGVzdHJveShzdHJ1Y3Qg ZHJtX2VuY29kZXIgKmVuY29kZXIpOwogaW50IGludGVsX2Nvbm5lY3Rvcl9pbml0KHN0cnVjdCBp bnRlbF9jb25uZWN0b3IgKik7CiBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0 b3JfYWxsb2Modm9pZCk7Ci1pbnQgaW50ZWxfY29ubmVjdG9yX2RwbXMoc3RydWN0IGRybV9jb25u ZWN0b3IgKiwgaW50IG1vZGUpOwogYm9vbCBpbnRlbF9jb25uZWN0b3JfZ2V0X2h3X3N0YXRlKHN0 cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3Rvcik7CiBib29sIGlieF9kaWdpdGFsX3BvcnRf Y29ubmVjdGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICpwb3J0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKaW5kZXgg MThkZDdkNzM2MGEwLi40YTYwMWNmOTBmMTYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2RzaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jCkBA IC05ODIsNyArOTgyLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2hlbHBl cl9mdW5jcyBpbnRlbF9kc2lfY29ubmVjdG9yX2hlbHBlcl9mdW5jcwogfTsKIAogc3RhdGljIGNv bnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2RzaV9jb25uZWN0b3JfZnVuY3Mg PSB7Ci0JLmRwbXMgPSBpbnRlbF9jb25uZWN0b3JfZHBtcywKKwkuZHBtcyA9IGRybV9hdG9taWNf aGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAogCS5kZXRlY3QgPSBpbnRlbF9kc2lfZGV0ZWN0LAogCS5k ZXN0cm95ID0gaW50ZWxfZHNpX2Nvbm5lY3Rvcl9kZXN0cm95LAogCS5maWxsX21vZGVzID0gZHJt X2hlbHBlcl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLApkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k dm8uYwppbmRleCA2MDBmN2ZiODU1ZDguLmRjNTMyYmI2MWQyMiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHZvLmMKQEAgLTE5Niw1MCArMTk2LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX2R2 byhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9kdm8tPmRldi5kZXZfb3Bz LT5kcG1zKCZpbnRlbF9kdm8tPmRldiwgdHJ1ZSk7CiB9CiAKLS8qIFNwZWNpYWwgZHBtcyBmdW5j dGlvbiB0byBzdXBwb3J0IGNsb25pbmcgYmV0d2VlbiBkdm8vc2R2by9jcnQuICovCi1zdGF0aWMg aW50IGludGVsX2R2b19kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsIGludCBt b2RlKQotewotCXN0cnVjdCBpbnRlbF9kdm8gKmludGVsX2R2byA9IGludGVsX2F0dGFjaGVkX2R2 byhjb25uZWN0b3IpOwotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQlzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY29uZmlnOwotCi0JLyogZHZvIHN1cHBvcnRzIG9ubHkgMiBkcG1zIHN0YXRlcy4g Ki8KLQlpZiAobW9kZSAhPSBEUk1fTU9ERV9EUE1TX09OKQotCQltb2RlID0gRFJNX01PREVfRFBN U19PRkY7Ci0KLQlpZiAobW9kZSA9PSBjb25uZWN0b3ItPmRwbXMpCi0JCXJldHVybiAwOwotCi0J Y29ubmVjdG9yLT5kcG1zID0gbW9kZTsKLQotCS8qIE9ubHkgbmVlZCB0byBjaGFuZ2UgaHcgc3Rh dGUgd2hlbiBhY3R1YWxseSBlbmFibGVkICovCi0JY3J0YyA9IGludGVsX2R2by0+YmFzZS5iYXNl LmNydGM7Ci0JaWYgKCFjcnRjKSB7Ci0JCWludGVsX2R2by0+YmFzZS5jb25uZWN0b3JzX2FjdGl2 ZSA9IGZhbHNlOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBXZSBjYWxsIGNvbm5lY3RvciBkcG1z IG1hbnVhbGx5IGJlbG93IGluIGNhc2UgcGlwZSBkcG1zIGRvZXNuJ3QKLQkgKiBjaGFuZ2UgZHVl IHRvIGNsb25pbmcuICovCi0JaWYgKG1vZGUgPT0gRFJNX01PREVfRFBNU19PTikgewotCQljb25m aWcgPSB0b19pbnRlbF9jcnRjKGNydGMpLT5jb25maWc7Ci0KLQkJaW50ZWxfZHZvLT5iYXNlLmNv bm5lY3RvcnNfYWN0aXZlID0gdHJ1ZTsKLQotCQlpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKGNydGMp OwotCi0JCWludGVsX2R2by0+ZGV2LmRldl9vcHMtPmRwbXMoJmludGVsX2R2by0+ZGV2LCB0cnVl KTsKLQl9IGVsc2UgewotCQlpbnRlbF9kdm8tPmRldi5kZXZfb3BzLT5kcG1zKCZpbnRlbF9kdm8t PmRldiwgZmFsc2UpOwotCi0JCWludGVsX2R2by0+YmFzZS5jb25uZWN0b3JzX2FjdGl2ZSA9IGZh bHNlOwotCi0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0Yyk7Ci0JfQotCi0JcmV0dXJuIDA7 Ci19Ci0KIHN0YXRpYyBlbnVtIGRybV9tb2RlX3N0YXR1cwogaW50ZWxfZHZvX21vZGVfdmFsaWQo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJICAgICBzdHJ1Y3QgZHJtX2Rpc3Bs YXlfbW9kZSAqbW9kZSkKQEAgLTM4Nyw3ICszNDMsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kdm9f ZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogfQogCiBzdGF0aWMgY29u c3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxfZHZvX2Nvbm5lY3Rvcl9mdW5jcyA9 IHsKLQkuZHBtcyA9IGludGVsX2R2b19kcG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJf Y29ubmVjdG9yX2RwbXMsCiAJLmRldGVjdCA9IGludGVsX2R2b19kZXRlY3QsCiAJLmRlc3Ryb3kg PSBpbnRlbF9kdm9fZGVzdHJveSwKIAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2lu Z2xlX2Nvbm5lY3Rvcl9tb2RlcywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2hkbWkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwppbmRleCA3MGJh ZDViZjFkNDguLjUxY2JlYTgyNDdmZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfaGRtaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2hkbWkuYwpAQCAt MTkwOSw3ICsxOTA5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfaGRtaV9kZXN0cm95KHN0cnVjdCBk cm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nv bm5lY3Rvcl9mdW5jcyBpbnRlbF9oZG1pX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKLQkuZHBtcyA9IGlu dGVsX2Nvbm5lY3Rvcl9kcG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9y X2RwbXMsCiAJLmRldGVjdCA9IGludGVsX2hkbWlfZGV0ZWN0LAogCS5mb3JjZSA9IGludGVsX2hk bWlfZm9yY2UsCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0 b3JfbW9kZXMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKaW5kZXggY2I2MzRmNDhlN2Q5Li44 ODFiNWQxMzU5MmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMu YworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9sdmRzLmMKQEAgLTU0OSw3ICs1NDks NyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzIGludGVs X2x2ZHNfY29ubmVjdG9yX2hlbHBlcl9mdW5jcwogfTsKIAogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fY29ubmVjdG9yX2Z1bmNzIGludGVsX2x2ZHNfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1z ID0gaW50ZWxfY29ubmVjdG9yX2RwbXMsCisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25u ZWN0b3JfZHBtcywKIAkuZGV0ZWN0ID0gaW50ZWxfbHZkc19kZXRlY3QsCiAJLmZpbGxfbW9kZXMg PSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCiAJLnNldF9wcm9wZXJ0 eSA9IGludGVsX2x2ZHNfc2V0X3Byb3BlcnR5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfc2R2by5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2by5jCmlu ZGV4IDg5MTFlMGU0MTdlZS4uYzk4MDk4ZTg4NGNjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9zZHZvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc2R2 by5jCkBAIC0xNTA4LDUxICsxNTA4LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3Nkdm8o c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJaW50ZWxfc2R2b19zZXRfYWN0aXZlX291 dHB1dHMoaW50ZWxfc2R2bywgaW50ZWxfc2R2by0+YXR0YWNoZWRfb3V0cHV0KTsKIH0KIAotLyog U3BlY2lhbCBkcG1zIGZ1bmN0aW9uIHRvIHN1cHBvcnQgY2xvbmluZyBiZXR3ZWVuIGR2by9zZHZv L2NydC4gKi8KLXN0YXRpYyBpbnQgaW50ZWxfc2R2b19kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsIGludCBtb2RlKQotewotCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQlzdHJ1 Y3QgaW50ZWxfc2R2byAqaW50ZWxfc2R2byA9IGludGVsX2F0dGFjaGVkX3Nkdm8oY29ubmVjdG9y KTsKLQotCS8qIGR2byBzdXBwb3J0cyBvbmx5IDIgZHBtcyBzdGF0ZXMuICovCi0JaWYgKG1vZGUg IT0gRFJNX01PREVfRFBNU19PTikKLQkJbW9kZSA9IERSTV9NT0RFX0RQTVNfT0ZGOwotCi0JaWYg KG1vZGUgPT0gY29ubmVjdG9yLT5kcG1zKQotCQlyZXR1cm4gMDsKLQotCWNvbm5lY3Rvci0+ZHBt cyA9IG1vZGU7Ci0KLQkvKiBPbmx5IG5lZWQgdG8gY2hhbmdlIGh3IHN0YXRlIHdoZW4gYWN0dWFs bHkgZW5hYmxlZCAqLwotCWNydGMgPSBpbnRlbF9zZHZvLT5iYXNlLmJhc2UuY3J0YzsKLQlpZiAo IWNydGMpIHsKLQkJaW50ZWxfc2R2by0+YmFzZS5jb25uZWN0b3JzX2FjdGl2ZSA9IGZhbHNlOwot CQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBXZSBzZXQgYWN0aXZlIG91dHB1dHMgbWFudWFsbHkgYmVs b3cgaW4gY2FzZSBwaXBlIGRwbXMgZG9lc24ndCBjaGFuZ2UKLQkgKiBkdWUgdG8gY2xvbmluZy4g Ki8KLQlpZiAobW9kZSAhPSBEUk1fTU9ERV9EUE1TX09OKSB7Ci0JCWludGVsX3Nkdm9fc2V0X2Fj dGl2ZV9vdXRwdXRzKGludGVsX3Nkdm8sIDApOwotCQlpZiAoMCkKLQkJCWludGVsX3Nkdm9fc2V0 X2VuY29kZXJfcG93ZXJfc3RhdGUoaW50ZWxfc2R2bywgbW9kZSk7Ci0KLQkJaW50ZWxfc2R2by0+ YmFzZS5jb25uZWN0b3JzX2FjdGl2ZSA9IGZhbHNlOwotCi0JCWludGVsX2NydGNfdXBkYXRlX2Rw bXMoY3J0Yyk7Ci0JfSBlbHNlIHsKLQkJaW50ZWxfc2R2by0+YmFzZS5jb25uZWN0b3JzX2FjdGl2 ZSA9IHRydWU7Ci0KLQkJaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhjcnRjKTsKLQotCQlpZiAoMCkK LQkJCWludGVsX3Nkdm9fc2V0X2VuY29kZXJfcG93ZXJfc3RhdGUoaW50ZWxfc2R2bywgbW9kZSk7 Ci0JCWludGVsX3Nkdm9fc2V0X2FjdGl2ZV9vdXRwdXRzKGludGVsX3Nkdm8sIGludGVsX3Nkdm8t PmF0dGFjaGVkX291dHB1dCk7Ci0JfQotCi0JcmV0dXJuIDA7Ci19Ci0KIHN0YXRpYyBlbnVtIGRy bV9tb2RlX3N0YXR1cwogaW50ZWxfc2R2b19tb2RlX3ZhbGlkKHN0cnVjdCBkcm1fY29ubmVjdG9y ICpjb25uZWN0b3IsCiAJCSAgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlKQpAQCAt MjE5MCw3ICsyMTQ1LDcgQEAgZG9uZToKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29u bmVjdG9yX2Z1bmNzIGludGVsX3Nkdm9fY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1zID0gaW50 ZWxfc2R2b19kcG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMs CiAJLmRldGVjdCA9IGludGVsX3Nkdm9fZGV0ZWN0LAogCS5maWxsX21vZGVzID0gZHJtX2hlbHBl cl9wcm9iZV9zaW5nbGVfY29ubmVjdG9yX21vZGVzLAogCS5zZXRfcHJvcGVydHkgPSBpbnRlbF9z ZHZvX3NldF9wcm9wZXJ0eSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3R2LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90di5jCmluZGV4IDhiOWQzMjViZGEz Yy4uMDU2OGFlNmVjOWRkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF90 di5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKQEAgLTE1MDksNyArMTUw OSw3IEBAIG91dDoKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9yX2Z1bmNz IGludGVsX3R2X2Nvbm5lY3Rvcl9mdW5jcyA9IHsKLQkuZHBtcyA9IGludGVsX2Nvbm5lY3Rvcl9k cG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMsCiAJLmRldGVj dCA9IGludGVsX3R2X2RldGVjdCwKIAkuZGVzdHJveSA9IGludGVsX3R2X2Rlc3Ryb3ksCiAJLnNl dF9wcm9wZXJ0eSA9IGludGVsX3R2X3NldF9wcm9wZXJ0eSwKLS0gCjIuMS4wCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBs aXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=