From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 07/12] drm/i915: Get rid of dpms handling. Date: Mon, 27 Jul 2015 14:35:36 +0200 Message-ID: <1438000541-3219-8-git-send-email-maarten.lankhorst@linux.intel.com> References: <1438000541-3219-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 93B4F6E917 for ; Mon, 27 Jul 2015 05:35:49 -0700 (PDT) In-Reply-To: <1438000541-3219-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+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfY3J0LmMgICAgIHwgNDkg Ky0tLS0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMg fCA5OSArLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2RwLmMgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kcF9tc3QuYyAgfCAgMiArLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAg IHwgIDMgLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RzaS5jICAgICB8ICAyICstCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8uYyAgICAgfCA0NiArLS0tLS0tLS0tLS0tLS0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jICAgIHwgIDIgKy0KIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9zZHZvLmMgICAgfCA0NyArLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfdHYuYyAgICAgIHwgIDIgKy0KIDExIGZpbGVzIGNoYW5nZWQsIDExIGluc2Vy dGlvbnMoKyksIDI0NSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jcnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2NydC5jCmluZGV4 IDllYmEzZGQ1YjQzNC4uYWY1ZTQzYmVmNGE0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9jcnQuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9jcnQuYwpA QCAtMjM2LDUzICsyMzYsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfY3J0KHN0cnVjdCBp bnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWludGVsX2NydF9zZXRfZHBtcyhlbmNvZGVyLCBjcnQt PmNvbm5lY3Rvci0+YmFzZS5kcG1zKTsKIH0KIAotLyogU3BlY2lhbCBkcG1zIGZ1bmN0aW9uIHRv IHN1cHBvcnQgY2xvbmluZyBiZXR3ZWVuIGR2by9zZHZvL2NydC4gKi8KLXN0YXRpYyBpbnQgaW50 ZWxfY3J0X2RwbXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IG1vZGUpCi17 Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNvbm5lY3Rvci0+ZGV2OwotCXN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyID0gaW50ZWxfYXR0YWNoZWRfZW5jb2Rlcihjb25uZWN0b3IpOwot CXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQlpbnQgb2xkX2RwbXM7Ci0KLQkvKiBQQ0ggcGxhdGZv cm1zIGFuZCBWTFYgb25seSBzdXBwb3J0IG9uL29mZi4gKi8KLQlpZiAoSU5URUxfSU5GTyhkZXYp LT5nZW4gPj0gNSAmJiBtb2RlICE9IERSTV9NT0RFX0RQTVNfT04pCi0JCW1vZGUgPSBEUk1fTU9E RV9EUE1TX09GRjsKLQotCWlmIChtb2RlID09IGNvbm5lY3Rvci0+ZHBtcykKLQkJcmV0dXJuIDA7 Ci0KLQlvbGRfZHBtcyA9IGNvbm5lY3Rvci0+ZHBtczsKLQljb25uZWN0b3ItPmRwbXMgPSBtb2Rl OwotCi0JLyogT25seSBuZWVkIHRvIGNoYW5nZSBodyBzdGF0ZSB3aGVuIGFjdHVhbGx5IGVuYWJs ZWQgKi8KLQljcnRjID0gZW5jb2Rlci0+YmFzZS5jcnRjOwotCWlmICghY3J0YykgewotCQllbmNv ZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSA9IGZhbHNlOwotCQlyZXR1cm4gMDsKLQl9Ci0KLQkvKiBX ZSBuZWVkIHRoZSBwaXBlIHRvIHJ1biBmb3IgYW55dGhpbmcgYnV0IE9GRi4gKi8KLQlpZiAobW9k ZSA9PSBEUk1fTU9ERV9EUE1TX09GRikKLQkJZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSBm YWxzZTsKLQllbHNlCi0JCWVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlID0gdHJ1ZTsKLQotCS8q IFdlIGNhbGwgY29ubmVjdG9yIGRwbXMgbWFudWFsbHkgYmVsb3cgaW4gY2FzZSBwaXBlIGRwbXMg ZG9lc24ndAotCSAqIGNoYW5nZSBkdWUgdG8gY2xvbmluZy4gKi8KLQlpZiAobW9kZSA8IG9sZF9k cG1zKSB7Ci0JCS8qIEZyb20gb2ZmIHRvIG9uLCBlbmFibGUgdGhlIHBpcGUgZmlyc3QuICovCi0J CWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0Yyk7Ci0KLQkJaW50ZWxfY3J0X3NldF9kcG1zKGVu Y29kZXIsIG1vZGUpOwotCX0gZWxzZSB7Ci0JCWludGVsX2NydF9zZXRfZHBtcyhlbmNvZGVyLCBt b2RlKTsKLQotCQlpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKGNydGMpOwotCX0KLQotCXJldHVybiAw OwotfQotCiBzdGF0aWMgZW51bSBkcm1fbW9kZV9zdGF0dXMKIGludGVsX2NydF9tb2RlX3ZhbGlk KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCSAgICAgc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUpCkBAIC03OTgsNyArNzUxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0 X3Jlc2V0KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiAKIHN0YXRpYyBjb25zdCBz dHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9jcnRfY29ubmVjdG9yX2Z1bmNzID0gewog CS5yZXNldCA9IGludGVsX2NydF9yZXNldCwKLQkuZHBtcyA9IGludGVsX2NydF9kcG1zLAorCS5k cG1zID0gZHJtX2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMsCiAJLmRldGVjdCA9IGludGVs X2NydF9kZXRlY3QsCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25u ZWN0b3JfbW9kZXMsCiAJLmRlc3Ryb3kgPSBpbnRlbF9jcnRfZGVzdHJveSwKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCBlM2FmZTYxMWE3OGMuLmVkOWViYTI2NjZlMiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtNjI3MSw2NyArNjI3MSw2IEBAIGZy ZWU6CiAJcmV0dXJuIHJldDsKIH0KIAotLyogTWFzdGVyIGZ1bmN0aW9uIHRvIGVuYWJsZS9kaXNh YmxlIENSVEMgYW5kIGNvcnJlc3BvbmRpbmcgcG93ZXIgd2VsbHMgKi8KLWludCBpbnRlbF9jcnRj X2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpjcnRjLCBib29sIGVuYWJsZSkKLXsKLQlzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwotCXN0cnVjdCBkcm1fbW9kZV9jb25maWcgKmNv bmZpZyA9ICZkZXYtPm1vZGVfY29uZmlnOwotCXN0cnVjdCBkcm1fbW9kZXNldF9hY3F1aXJlX2N0 eCAqY3R4ID0gY29uZmlnLT5hY3F1aXJlX2N0eDsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxf Y3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7Ci0Jc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBp cGVfY29uZmlnOwotCXN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZTsKLQlpbnQgcmV0Owot Ci0JaWYgKGVuYWJsZSA9PSBpbnRlbF9jcnRjLT5hY3RpdmUpCi0JCXJldHVybiAwOwotCi0JaWYg KGVuYWJsZSAmJiAhY3J0Yy0+c3RhdGUtPmVuYWJsZSkKLQkJcmV0dXJuIDA7Ci0KLQkvKiB0aGlz IGZ1bmN0aW9uIHNob3VsZCBiZSBjYWxsZWQgd2l0aCBkcm1fbW9kZXNldF9sb2NrX2FsbCBmb3Ig bm93ICovCi0JaWYgKFdBUk5fT04oIWN0eCkpCi0JCXJldHVybiAtRUlPOwotCWxvY2tkZXBfYXNz ZXJ0X2hlbGQoJmN0eC0+d3dfY3R4KTsKLQotCXN0YXRlID0gZHJtX2F0b21pY19zdGF0ZV9hbGxv YyhkZXYpOwotCWlmIChXQVJOX09OKCFzdGF0ZSkpCi0JCXJldHVybiAtRU5PTUVNOwotCi0Jc3Rh dGUtPmFjcXVpcmVfY3R4ID0gY3R4OwotCXN0YXRlLT5hbGxvd19tb2Rlc2V0ID0gdHJ1ZTsKLQot CXBpcGVfY29uZmlnID0gaW50ZWxfYXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBpbnRlbF9j cnRjKTsKLQlpZiAoSVNfRVJSKHBpcGVfY29uZmlnKSkgewotCQlyZXQgPSBQVFJfRVJSKHBpcGVf Y29uZmlnKTsKLQkJZ290byBlcnI7Ci0JfQotCXBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSA9IGVu YWJsZTsKLQotCXJldCA9IGRybV9hdG9taWNfY29tbWl0KHN0YXRlKTsKLQlpZiAoIXJldCkKLQkJ cmV0dXJuIHJldDsKLQotZXJyOgotCURSTV9FUlJPUigiVXBkYXRpbmcgY3J0YyBhY3RpdmUgZmFp bGVkIHdpdGggJWlcbiIsIHJldCk7Ci0JZHJtX2F0b21pY19zdGF0ZV9mcmVlKHN0YXRlKTsKLQly ZXR1cm4gcmV0OwotfQotCi0vKioKLSAqIFNldHMgdGhlIHBvd2VyIG1hbmFnZW1lbnQgbW9kZSBv ZiB0aGUgcGlwZSBhbmQgcGxhbmUuCi0gKi8KLXZvaWQgaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhz dHJ1Y3QgZHJtX2NydGMgKmNydGMpCi17Ci0Jc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMt PmRldjsKLQlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcjsKLQlib29sIGVuYWJs ZSA9IGZhbHNlOwotCi0JZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0YywgaW50ZWxf ZW5jb2RlcikKLQkJZW5hYmxlIHw9IGludGVsX2VuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlOwot Ci0JaW50ZWxfY3J0Y19jb250cm9sKGNydGMsIGVuYWJsZSk7Ci19Ci0KIHZvaWQgaW50ZWxfZW5j b2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5jb2RlciAqZW5jb2RlcikKIHsKIAlzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlciA9IHRvX2ludGVsX2VuY29kZXIoZW5jb2Rlcik7CkBA IC02MzQwLDIyICs2Mjc5LDYgQEAgdm9pZCBpbnRlbF9lbmNvZGVyX2Rlc3Ryb3koc3RydWN0IGRy bV9lbmNvZGVyICplbmNvZGVyKQogCWtmcmVlKGludGVsX2VuY29kZXIpOwogfQogCi0vKiBTaW1w bGUgZHBtcyBoZWxwZXIgZm9yIGVuY29kZXJzIHdpdGgganVzdCBvbmUgY29ubmVjdG9yLCBubyBj bG9uaW5nIGFuZCBvbmx5Ci0gKiBvbmUga2luZCBvZiBvZmYgc3RhdGUuIEl0IGNsYW1wcyBhbGwg IU9OIG1vZGVzIHRvIGZ1bGx5IE9GRiBhbmQgY2hhbmdlcyB0aGUKLSAqIHN0YXRlIG9mIHRoZSBl bnRpcmUgb3V0cHV0IHBpcGUuICovCi1zdGF0aWMgdm9pZCBpbnRlbF9lbmNvZGVyX2RwbXMoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsIGludCBtb2RlKQotewotCWlmIChtb2RlID09IERS TV9NT0RFX0RQTVNfT04pIHsKLQkJZW5jb2Rlci0+Y29ubmVjdG9yc19hY3RpdmUgPSB0cnVlOwot Ci0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKLQl9IGVsc2Ug ewotCQllbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSA9IGZhbHNlOwotCi0JCWludGVsX2NydGNf dXBkYXRlX2RwbXMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKLQl9Ci19Ci0KIC8qIENyb3NzIGNoZWNr IHRoZSBhY3R1YWwgaHcgc3RhdGUgd2l0aCBvdXIgb3duIG1vZGVzZXQgc3RhdGUgdHJhY2tpbmcg KGFuZCBpdCdzCiAgKiBpbnRlcm5hbCBjb25zaXN0ZW5jeSkuICovCiBzdGF0aWMgdm9pZCBpbnRl bF9jb25uZWN0b3JfY2hlY2tfc3RhdGUoc3RydWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9y KQpAQCAtNjM4NSw2ICs2MzA4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfY29ubmVjdG9yX2NoZWNr X3N0YXRlKHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmNvbm5lY3RvcikKIAkJSTkxNV9TVEFURV9X QVJOKGNvbm5fc3RhdGUtPmNydGMgIT0gZW5jb2Rlci0+Y3J0YywKIAkJCSJhdHRhY2hlZCBlbmNv ZGVyIGNydGMgZGlmZmVycyBmcm9tIGNvbm5lY3RvciBjcnRjXG4iKTsKIAl9IGVsc2UgeworCQlJ OTE1X1NUQVRFX1dBUk4oY3J0YyAmJiBjcnRjLT5zdGF0ZS0+YWN0aXZlLAorCQkJImF0dGFjaGVk IGNydGMgaXMgYWN0aXZlLCBidXQgY29ubmVjdG9yIGlzbid0XG4iKTsKIAkJSTkxNV9TVEFURV9X QVJOKCFjcnRjICYmIGNvbm5lY3Rvci0+YmFzZS5zdGF0ZS0+YmVzdF9lbmNvZGVyLAogCQkJImJl c3QgZW5jb2RlciBzZXQgd2l0aG91dCBjcnRjIVxuIik7CiAJfQpAQCAtNjQxOCwyNiArNjM0Myw2 IEBAIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcl9hbGxvYyh2b2lkKQog CXJldHVybiBjb25uZWN0b3I7CiB9CiAKLS8qIEV2ZW4gc2ltcGxlciBkZWZhdWx0IGltcGxlbWVu dGF0aW9uLCBpZiB0aGVyZSdzIHJlYWxseSBubyBzcGVjaWFsIGNhc2UgdG8KLSAqIGNvbnNpZGVy LiAqLwotaW50IGludGVsX2Nvbm5lY3Rvcl9kcG1zKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25u ZWN0b3IsIGludCBtb2RlKQotewotCS8qIEFsbCB0aGUgc2ltcGxlIGNhc2VzIG9ubHkgc3VwcG9y dCB0d28gZHBtcyBzdGF0ZXMuICovCi0JaWYgKG1vZGUgIT0gRFJNX01PREVfRFBNU19PTikKLQkJ bW9kZSA9IERSTV9NT0RFX0RQTVNfT0ZGOwotCi0JaWYgKG1vZGUgPT0gY29ubmVjdG9yLT5kcG1z KQotCQlyZXR1cm4gMDsKLQotCWNvbm5lY3Rvci0+ZHBtcyA9IG1vZGU7Ci0KLQkvKiBPbmx5IG5l ZWQgdG8gY2hhbmdlIGh3IHN0YXRlIHdoZW4gYWN0dWFsbHkgZW5hYmxlZCAqLwotCWlmIChjb25u ZWN0b3ItPmVuY29kZXIpCi0JCWludGVsX2VuY29kZXJfZHBtcyh0b19pbnRlbF9lbmNvZGVyKGNv bm5lY3Rvci0+ZW5jb2RlciksIG1vZGUpOwotCi0JcmV0dXJuIDA7Ci19Ci0KIC8qIFNpbXBsZSBj b25uZWN0b3ItPmdldF9od19zdGF0ZSBpbXBsZW1lbnRhdGlvbiBmb3IgZW5jb2RlcnMgdGhhdCBz dXBwb3J0IG9ubHkKICAqIG9uZSBjb25uZWN0b3IgYW5kIG5vIGNsb25pbmcgYW5kIGhlbmNlIHRo ZSBlbmNvZGVyIHN0YXRlIGRldGVybWluZXMgdGhlIHN0YXRlCiAgKiBvZiB0aGUgY29ubmVjdG9y LiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggZjFiOWY5MzliNDM1Li5jZWE3ZDE3ODVk MTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNDgyNCw3ICs0ODI0LDcgQEAgc3RhdGlj IHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9yZXNldChzdHJ1Y3QgZHJtX2VuY29kZXIgKmVuY29kZXIp CiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9kcF9j b25uZWN0b3JfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpbnRlbF9jb25uZWN0b3JfZHBtcywKKwkuZHBt cyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9kcG1zLAogCS5kZXRlY3QgPSBpbnRlbF9k cF9kZXRlY3QsCiAJLmZvcmNlID0gaW50ZWxfZHBfZm9yY2UsCiAJLmZpbGxfbW9kZXMgPSBkcm1f aGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCmRpZmYgLS1naXQgYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2RwX21zdC5jCmluZGV4IDM1ZjJlYjU5ODE4YS4uNGJjMzcxZDE5YjkxIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcF9tc3QuYwpAQCAtMzI4LDcgKzMyOCw3IEBAIGludGVsX2RwX21zdF9jb25u ZWN0b3JfZGVzdHJveShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yKQogfQogCiBzdGF0 aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxfZHBfbXN0X2Nvbm5lY3Rv cl9mdW5jcyA9IHsKLQkuZHBtcyA9IGludGVsX2Nvbm5lY3Rvcl9kcG1zLAorCS5kcG1zID0gZHJt X2F0b21pY19oZWxwZXJfY29ubmVjdG9yX2RwbXMsCiAJLmRldGVjdCA9IGludGVsX2RwX21zdF9k ZXRlY3QsCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2JlX3NpbmdsZV9jb25uZWN0b3Jf bW9kZXMsCiAJLnNldF9wcm9wZXJ0eSA9IGludGVsX2RwX21zdF9zZXRfcHJvcGVydHksCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDBkYTQyMzZkYzg1YS4uNjIwNzNkMmY4M2ZhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtOTkyLDEyICs5OTIsOSBAQCB2b2lkIGludGVsX21h cmtfYnVzeShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKIHZvaWQgaW50ZWxfbWFya19pZGxlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYpOwogdm9pZCBpbnRlbF9jcnRjX3Jlc3RvcmVfbW9kZShzdHJ1 Y3QgZHJtX2NydGMgKmNydGMpOwogaW50IGludGVsX2Rpc3BsYXlfc3VzcGVuZChzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KTsKLWludCBpbnRlbF9jcnRjX2NvbnRyb2woc3RydWN0IGRybV9jcnRjICpj cnRjLCBib29sIGVuYWJsZSk7Ci12b2lkIGludGVsX2NydGNfdXBkYXRlX2RwbXMoc3RydWN0IGRy bV9jcnRjICpjcnRjKTsKIHZvaWQgaW50ZWxfZW5jb2Rlcl9kZXN0cm95KHN0cnVjdCBkcm1fZW5j b2RlciAqZW5jb2Rlcik7CiBpbnQgaW50ZWxfY29ubmVjdG9yX2luaXQoc3RydWN0IGludGVsX2Nv bm5lY3RvciAqKTsKIHN0cnVjdCBpbnRlbF9jb25uZWN0b3IgKmludGVsX2Nvbm5lY3Rvcl9hbGxv Yyh2b2lkKTsKLWludCBpbnRlbF9jb25uZWN0b3JfZHBtcyhzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAq LCBpbnQgbW9kZSk7CiBib29sIGludGVsX2Nvbm5lY3Rvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGlu dGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yKTsKIGJvb2wgaWJ4X2RpZ2l0YWxfcG9ydF9jb25uZWN0 ZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCXN0cnVjdCBpbnRlbF9k aWdpdGFsX3BvcnQgKnBvcnQpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kc2kuYwppbmRleCAxOGRkN2Q3 MzYwYTAuLjRhNjAxY2Y5MGYxNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHNpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHNpLmMKQEAgLTk4Miw3 ICs5ODIsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfaGVscGVyX2Z1bmNz IGludGVsX2RzaV9jb25uZWN0b3JfaGVscGVyX2Z1bmNzCiB9OwogCiBzdGF0aWMgY29uc3Qgc3Ry dWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxfZHNpX2Nvbm5lY3Rvcl9mdW5jcyA9IHsKLQku ZHBtcyA9IGludGVsX2Nvbm5lY3Rvcl9kcG1zLAorCS5kcG1zID0gZHJtX2F0b21pY19oZWxwZXJf Y29ubmVjdG9yX2RwbXMsCiAJLmRldGVjdCA9IGludGVsX2RzaV9kZXRlY3QsCiAJLmRlc3Ryb3kg PSBpbnRlbF9kc2lfY29ubmVjdG9yX2Rlc3Ryb3ksCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVy X3Byb2JlX3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kdm8uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2R2by5jCmlu ZGV4IDYwMGY3ZmI4NTVkOC4uZGM1MzJiYjYxZDIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kdm8u YwpAQCAtMTk2LDUwICsxOTYsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfZHZvKHN0cnVj dCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCWludGVsX2R2by0+ZGV2LmRldl9vcHMtPmRwbXMo JmludGVsX2R2by0+ZGV2LCB0cnVlKTsKIH0KIAotLyogU3BlY2lhbCBkcG1zIGZ1bmN0aW9uIHRv IHN1cHBvcnQgY2xvbmluZyBiZXR3ZWVuIGR2by9zZHZvL2NydC4gKi8KLXN0YXRpYyBpbnQgaW50 ZWxfZHZvX2RwbXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwgaW50IG1vZGUpCi17 Ci0Jc3RydWN0IGludGVsX2R2byAqaW50ZWxfZHZvID0gaW50ZWxfYXR0YWNoZWRfZHZvKGNvbm5l Y3Rvcik7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRl ICpjb25maWc7Ci0KLQkvKiBkdm8gc3VwcG9ydHMgb25seSAyIGRwbXMgc3RhdGVzLiAqLwotCWlm IChtb2RlICE9IERSTV9NT0RFX0RQTVNfT04pCi0JCW1vZGUgPSBEUk1fTU9ERV9EUE1TX09GRjsK LQotCWlmIChtb2RlID09IGNvbm5lY3Rvci0+ZHBtcykKLQkJcmV0dXJuIDA7Ci0KLQljb25uZWN0 b3ItPmRwbXMgPSBtb2RlOwotCi0JLyogT25seSBuZWVkIHRvIGNoYW5nZSBodyBzdGF0ZSB3aGVu IGFjdHVhbGx5IGVuYWJsZWQgKi8KLQljcnRjID0gaW50ZWxfZHZvLT5iYXNlLmJhc2UuY3J0YzsK LQlpZiAoIWNydGMpIHsKLQkJaW50ZWxfZHZvLT5iYXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gZmFs c2U7Ci0JCXJldHVybiAwOwotCX0KLQotCS8qIFdlIGNhbGwgY29ubmVjdG9yIGRwbXMgbWFudWFs bHkgYmVsb3cgaW4gY2FzZSBwaXBlIGRwbXMgZG9lc24ndAotCSAqIGNoYW5nZSBkdWUgdG8gY2xv bmluZy4gKi8KLQlpZiAobW9kZSA9PSBEUk1fTU9ERV9EUE1TX09OKSB7Ci0JCWNvbmZpZyA9IHRv X2ludGVsX2NydGMoY3J0YyktPmNvbmZpZzsKLQotCQlpbnRlbF9kdm8tPmJhc2UuY29ubmVjdG9y c19hY3RpdmUgPSB0cnVlOwotCi0JCWludGVsX2NydGNfdXBkYXRlX2RwbXMoY3J0Yyk7Ci0KLQkJ aW50ZWxfZHZvLT5kZXYuZGV2X29wcy0+ZHBtcygmaW50ZWxfZHZvLT5kZXYsIHRydWUpOwotCX0g ZWxzZSB7Ci0JCWludGVsX2R2by0+ZGV2LmRldl9vcHMtPmRwbXMoJmludGVsX2R2by0+ZGV2LCBm YWxzZSk7Ci0KLQkJaW50ZWxfZHZvLT5iYXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Ci0K LQkJaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhjcnRjKTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQog c3RhdGljIGVudW0gZHJtX21vZGVfc3RhdHVzCiBpbnRlbF9kdm9fbW9kZV92YWxpZChzdHJ1Y3Qg ZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9yLAogCQkgICAgIHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQpAQCAtMzg3LDcgKzM0Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2R2b19kZXN0cm95 KHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IpCiB9CiAKIHN0YXRpYyBjb25zdCBzdHJ1 Y3QgZHJtX2Nvbm5lY3Rvcl9mdW5jcyBpbnRlbF9kdm9fY29ubmVjdG9yX2Z1bmNzID0gewotCS5k cG1zID0gaW50ZWxfZHZvX2RwbXMsCisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0 b3JfZHBtcywKIAkuZGV0ZWN0ID0gaW50ZWxfZHZvX2RldGVjdCwKIAkuZGVzdHJveSA9IGludGVs X2R2b19kZXN0cm95LAogCS5maWxsX21vZGVzID0gZHJtX2hlbHBlcl9wcm9iZV9zaW5nbGVfY29u bmVjdG9yX21vZGVzLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRt aS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCmluZGV4IDcwYmFkNWJmMWQ0 OC4uNTFjYmVhODI0N2ZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9o ZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jCkBAIC0xOTA5LDcg KzE5MDksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9oZG1pX2Rlc3Ryb3koc3RydWN0IGRybV9jb25u ZWN0b3IgKmNvbm5lY3RvcikKIH0KIAogc3RhdGljIGNvbnN0IHN0cnVjdCBkcm1fY29ubmVjdG9y X2Z1bmNzIGludGVsX2hkbWlfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1zID0gaW50ZWxfY29u bmVjdG9yX2RwbXMsCisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywK IAkuZGV0ZWN0ID0gaW50ZWxfaGRtaV9kZXRlY3QsCiAJLmZvcmNlID0gaW50ZWxfaGRtaV9mb3Jj ZSwKIAkuZmlsbF9tb2RlcyA9IGRybV9oZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2Rl cywKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwppbmRleCBjYjYzNGY0OGU3ZDkuLjg4MWI1ZDEz NTkyZSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHZkcy5jCisrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2x2ZHMuYwpAQCAtNTQ5LDcgKzU0OSw3IEBAIHN0 YXRpYyBjb25zdCBzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9oZWxwZXJfZnVuY3MgaW50ZWxfbHZkc19j b25uZWN0b3JfaGVscGVyX2Z1bmNzCiB9OwogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25u ZWN0b3JfZnVuY3MgaW50ZWxfbHZkc19jb25uZWN0b3JfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpbnRl bF9jb25uZWN0b3JfZHBtcywKKwkuZHBtcyA9IGRybV9hdG9taWNfaGVscGVyX2Nvbm5lY3Rvcl9k cG1zLAogCS5kZXRlY3QgPSBpbnRlbF9sdmRzX2RldGVjdCwKIAkuZmlsbF9tb2RlcyA9IGRybV9o ZWxwZXJfcHJvYmVfc2luZ2xlX2Nvbm5lY3Rvcl9tb2RlcywKIAkuc2V0X3Byb3BlcnR5ID0gaW50 ZWxfbHZkc19zZXRfcHJvcGVydHksCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9zZHZvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKaW5kZXggODkx MWUwZTQxN2VlLi5jOTgwOThlODg0Y2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3Nkdm8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9zZHZvLmMKQEAg LTE1MDgsNTEgKzE1MDgsNiBAQCBzdGF0aWMgdm9pZCBpbnRlbF9lbmFibGVfc2R2byhzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpbnRlbF9zZHZvX3NldF9hY3RpdmVfb3V0cHV0cyhp bnRlbF9zZHZvLCBpbnRlbF9zZHZvLT5hdHRhY2hlZF9vdXRwdXQpOwogfQogCi0vKiBTcGVjaWFs IGRwbXMgZnVuY3Rpb24gdG8gc3VwcG9ydCBjbG9uaW5nIGJldHdlZW4gZHZvL3Nkdm8vY3J0LiAq Lwotc3RhdGljIGludCBpbnRlbF9zZHZvX2RwbXMoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwgaW50IG1vZGUpCi17Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRjOwotCXN0cnVjdCBpbnRl bF9zZHZvICppbnRlbF9zZHZvID0gaW50ZWxfYXR0YWNoZWRfc2R2byhjb25uZWN0b3IpOwotCi0J LyogZHZvIHN1cHBvcnRzIG9ubHkgMiBkcG1zIHN0YXRlcy4gKi8KLQlpZiAobW9kZSAhPSBEUk1f TU9ERV9EUE1TX09OKQotCQltb2RlID0gRFJNX01PREVfRFBNU19PRkY7Ci0KLQlpZiAobW9kZSA9 PSBjb25uZWN0b3ItPmRwbXMpCi0JCXJldHVybiAwOwotCi0JY29ubmVjdG9yLT5kcG1zID0gbW9k ZTsKLQotCS8qIE9ubHkgbmVlZCB0byBjaGFuZ2UgaHcgc3RhdGUgd2hlbiBhY3R1YWxseSBlbmFi bGVkICovCi0JY3J0YyA9IGludGVsX3Nkdm8tPmJhc2UuYmFzZS5jcnRjOwotCWlmICghY3J0Yykg ewotCQlpbnRlbF9zZHZvLT5iYXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Ci0JCXJldHVy biAwOwotCX0KLQotCS8qIFdlIHNldCBhY3RpdmUgb3V0cHV0cyBtYW51YWxseSBiZWxvdyBpbiBj YXNlIHBpcGUgZHBtcyBkb2Vzbid0IGNoYW5nZQotCSAqIGR1ZSB0byBjbG9uaW5nLiAqLwotCWlm IChtb2RlICE9IERSTV9NT0RFX0RQTVNfT04pIHsKLQkJaW50ZWxfc2R2b19zZXRfYWN0aXZlX291 dHB1dHMoaW50ZWxfc2R2bywgMCk7Ci0JCWlmICgwKQotCQkJaW50ZWxfc2R2b19zZXRfZW5jb2Rl cl9wb3dlcl9zdGF0ZShpbnRlbF9zZHZvLCBtb2RlKTsKLQotCQlpbnRlbF9zZHZvLT5iYXNlLmNv bm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7Ci0KLQkJaW50ZWxfY3J0Y191cGRhdGVfZHBtcyhjcnRj KTsKLQl9IGVsc2UgewotCQlpbnRlbF9zZHZvLT5iYXNlLmNvbm5lY3RvcnNfYWN0aXZlID0gdHJ1 ZTsKLQotCQlpbnRlbF9jcnRjX3VwZGF0ZV9kcG1zKGNydGMpOwotCi0JCWlmICgwKQotCQkJaW50 ZWxfc2R2b19zZXRfZW5jb2Rlcl9wb3dlcl9zdGF0ZShpbnRlbF9zZHZvLCBtb2RlKTsKLQkJaW50 ZWxfc2R2b19zZXRfYWN0aXZlX291dHB1dHMoaW50ZWxfc2R2bywgaW50ZWxfc2R2by0+YXR0YWNo ZWRfb3V0cHV0KTsKLQl9Ci0KLQlyZXR1cm4gMDsKLX0KLQogc3RhdGljIGVudW0gZHJtX21vZGVf c3RhdHVzCiBpbnRlbF9zZHZvX21vZGVfdmFsaWQoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5l Y3RvciwKIAkJICAgICAgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGUpCkBAIC0yMTkwLDcg KzIxNDUsNyBAQCBkb25lOgogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3Jf ZnVuY3MgaW50ZWxfc2R2b19jb25uZWN0b3JfZnVuY3MgPSB7Ci0JLmRwbXMgPSBpbnRlbF9zZHZv X2RwbXMsCisJLmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKIAkuZGV0 ZWN0ID0gaW50ZWxfc2R2b19kZXRlY3QsCiAJLmZpbGxfbW9kZXMgPSBkcm1faGVscGVyX3Byb2Jl X3NpbmdsZV9jb25uZWN0b3JfbW9kZXMsCiAJLnNldF9wcm9wZXJ0eSA9IGludGVsX3Nkdm9fc2V0 X3Byb3BlcnR5LApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKaW5kZXggOGI5ZDMyNWJkYTNjLi4wNTY4 YWU2ZWM5ZGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3R2LmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdHYuYwpAQCAtMTUwOSw3ICsxNTA5LDcgQEAg b3V0OgogfQogCiBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9jb25uZWN0b3JfZnVuY3MgaW50ZWxf dHZfY29ubmVjdG9yX2Z1bmNzID0gewotCS5kcG1zID0gaW50ZWxfY29ubmVjdG9yX2RwbXMsCisJ LmRwbXMgPSBkcm1fYXRvbWljX2hlbHBlcl9jb25uZWN0b3JfZHBtcywKIAkuZGV0ZWN0ID0gaW50 ZWxfdHZfZGV0ZWN0LAogCS5kZXN0cm95ID0gaW50ZWxfdHZfZGVzdHJveSwKIAkuc2V0X3Byb3Bl cnR5ID0gaW50ZWxfdHZfc2V0X3Byb3BlcnR5LAotLSAKMi4xLjAKCl9fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50 ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3Jn L21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==