From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 33/42] drm/i915: remove crtc->active tracking completely Date: Mon, 11 May 2015 16:25:09 +0200 Message-ID: <1431354318-11995-34-git-send-email-maarten.lankhorst@linux.intel.com> References: <1431354318-11995-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 ESMTP id 5D8426E25C for ; Mon, 11 May 2015 07:25:45 -0700 (PDT) In-Reply-To: <1431354318-11995-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 Cc: Ander Conselvan de Oliveira List-Id: intel-gfx@lists.freedesktop.org U21hbGwgYmVoYXZpb3JhbCBjaGFuZ2U6IERQTExfRFZPXzJYX01PREUgbWF5IHN0YXkgZW5hYmxl ZCBkdXJpbmcgbW9kZXNldApmb3IgSTgzMCBpZiBuZXcgc3RhdGUgcmVxdWlyZXMgaXQsIGluc3Rl YWQgb2YgYmVpbmcgZGlzYWJsZWQgYW5kIGVuYWJsZWQKYWdhaW4uCgpTaWduZWQtb2ZmLWJ5OiBN YWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE0MCArKysrKysrKysrLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2Lmgg ICAgIHwgICA2IC0tCiAyIGZpbGVzIGNoYW5nZWQsIDQwIGluc2VydGlvbnMoKyksIDEwNiBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggN2E3OTY1OWRj YTAwLi4wMDQwNjdiZDBiNmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAg LTE2ODAsNyArMTY4MCw3IEBAIHN0YXRpYyBpbnQgaW50ZWxfbnVtX2R2b19waXBlcyhzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCWludCBjb3VudCA9IDA7CiAKIAlmb3JfZWFjaF9pbnRlbF9jcnRj KGRldiwgY3J0YykKLQkJY291bnQgKz0gY3J0Yy0+YWN0aXZlICYmCisJCWNvdW50ICs9IGNydGMt PmJhc2Uuc3RhdGUtPmFjdGl2ZSAmJgogCQkJaW50ZWxfcGlwZV9oYXNfdHlwZShjcnRjLCBJTlRF TF9PVVRQVVRfRFZPKTsKIAogCXJldHVybiBjb3VudDsKQEAgLTE3MDMsNyArMTcwMyw3IEBAIHN0 YXRpYyB2b2lkIGk5eHhfZW5hYmxlX3BsbChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yywgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgKnBpCiAJCWFzc2VydF9wYW5lbF91bmxvY2tlZChkZXZfcHJpdiwg Y3J0Yy0+cGlwZSk7CiAKIAkvKiBFbmFibGUgRFZPIDJ4IGNsb2NrIG9uIGJvdGggUExMcyBpZiBu ZWNlc3NhcnkgKi8KLQlpZiAoSVNfSTgzMChkZXYpICYmIGludGVsX251bV9kdm9fcGlwZXMoZGV2 KSA+IDApIHsKKwlpZiAoSVNfSTgzMChkZXYpICYmIGludGVsX251bV9kdm9fcGlwZXMoZGV2KSkg ewogCQkvKgogCQkgKiBJdCBhcHBlYXJzIHRvIGJlIGltcG9ydGFudCB0aGF0IHdlIGRvbid0IGVu YWJsZSB0aGlzCiAJCSAqIGZvciB0aGUgY3VycmVudCBwaXBlIGJlZm9yZSBvdGhlcndpc2UgY29u ZmlndXJpbmcgdGhlCkBAIC0xNzYyLDcgKzE3NjIsNyBAQCBzdGF0aWMgdm9pZCBpOXh4X2Rpc2Fi bGVfcGxsKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAogCS8qIERpc2FibGUgRFZPIDJ4IGNsb2Nr IG9uIGJvdGggUExMcyBpZiBuZWNlc3NhcnkgKi8KIAlpZiAoSVNfSTgzMChkZXYpICYmCiAJICAg IGludGVsX3BpcGVfaGFzX3R5cGUoY3J0YywgSU5URUxfT1VUUFVUX0RWTykgJiYKLQkgICAgaW50 ZWxfbnVtX2R2b19waXBlcyhkZXYpID09IDEpIHsKKwkgICAgIWludGVsX251bV9kdm9fcGlwZXMo ZGV2KSkgewogCQlJOTE1X1dSSVRFKERQTEwoUElQRV9CKSwKIAkJCSAgIEk5MTVfUkVBRChEUExM KFBJUEVfQikpICYgfkRQTExfRFZPXzJYX01PREUpOwogCQlJOTE1X1dSSVRFKERQTEwoUElQRV9B KSwKQEAgLTI1ODMsNyArMjU4Myw3IEBAIGludGVsX2ZpbmRfaW5pdGlhbF9wbGFuZV9vYmooc3Ry dWN0IGludGVsX2NydGMgKmludGVsX2NydGMsCiAJCWlmIChjID09ICZpbnRlbF9jcnRjLT5iYXNl KQogCQkJY29udGludWU7CiAKLQkJaWYgKCFpLT5hY3RpdmUpCisJCWlmICghYy0+c3RhdGUtPmFj dGl2ZSkKIAkJCWNvbnRpbnVlOwogCiAJCWZiID0gYy0+cHJpbWFyeS0+ZmI7CkBAIC0zMTY3LDEx ICszMTY3LDkgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX3ByaW1hcnlfcGxhbmVzKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9jcnRjICpjcnRjOwogCiAJZm9yX2VhY2hf Y3J0YyhkZXYsIGNydGMpIHsKLQkJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19p bnRlbF9jcnRjKGNydGMpOwotCiAJCWRybV9tb2Rlc2V0X2xvY2soJmNydGMtPm11dGV4LCBOVUxM KTsKIAotCQlpZiAoaW50ZWxfY3J0Yy0+YWN0aXZlKSB7CisJCWlmIChjcnRjLT5zdGF0ZS0+YWN0 aXZlKSB7CiAJCQljb25zdCBzdHJ1Y3QgaW50ZWxfcGxhbmVfc3RhdGUgKnN0YXRlID0KIAkJCQl0 b19pbnRlbF9wbGFuZV9zdGF0ZShjcnRjLT5wcmltYXJ5LT5zdGF0ZSk7CiAKQEAgLTQ2MTksNyAr NDYxNyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfbG9hZF9sdXQoc3RydWN0IGRybV9jcnRj ICpjcnRjKQogCWJvb2wgcmVlbmFibGVfaXBzID0gZmFsc2U7CiAKIAkvKiBUaGUgY2xvY2tzIGhh dmUgdG8gYmUgb24gdG8gbG9hZCB0aGUgcGFsZXR0ZS4gKi8KLQlpZiAoIWNydGMtPnN0YXRlLT5h Y3RpdmUgfHwgIWludGVsX2NydGMtPmFjdGl2ZSkKKwlpZiAoIWNydGMtPnN0YXRlLT5hY3RpdmUp CiAJCXJldHVybjsKIAogCWlmIChIQVNfR01DSF9ESVNQTEFZKGRldl9wcml2LT5kZXYpKSB7CkBA IC00Nzc4LDEwICs0Nzc2LDggQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3Ry dWN0IGRybV9jcnRjICpjcnRjKQogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAlzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWc7CiAKLQlXQVJOX09OKCFjcnRjLT5zdGF0 ZS0+ZW5hYmxlKTsKKwlXQVJOX09OKCFjcnRjLT5zdGF0ZS0+YWN0aXZlKTsKIAotCWlmIChXQVJO X09OKGludGVsX2NydGMtPmFjdGl2ZSkpCi0JCXJldHVybjsKIAlwaXBlX2NvbmZpZyA9IHRvX2lu dGVsX2NydGNfc3RhdGUoY3J0Yy0+c3RhdGUpOwogCiAJaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNo X2VuY29kZXIpCkBAIC00Nzk5LDggKzQ3OTUsNiBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRj X2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlpcm9ubGFrZV9zZXRfcGlwZWNvbmYo Y3J0Yyk7CiAKLQlpbnRlbF9jcnRjLT5hY3RpdmUgPSB0cnVlOwotCiAJaW50ZWxfc2V0X2NwdV9m aWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAJaW50ZWxfc2V0 X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAKQEAg LTQ4MDgsNyArNDgwMiw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVj dCBkcm1fY3J0YyAqY3J0YykKIAkJaWYgKGVuY29kZXItPnByZV9lbmFibGUpCiAJCQllbmNvZGVy LT5wcmVfZW5hYmxlKGVuY29kZXIpOwogCi0JaWYgKGludGVsX2NydGMtPmNvbmZpZy0+aGFzX3Bj aF9lbmNvZGVyKSB7CisJaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKIAkJLyog Tm90ZTogRkRJIFBMTCBlbmFibGluZyBfbXVzdF8gYmUgZG9uZSBiZWZvcmUgd2UgZW5hYmxlIHRo ZQogCQkgKiBjcHUgcGlwZXMsIGhlbmNlIHRoaXMgaXMgc2VwYXJhdGUgZnJvbSBhbGwgdGhlIG90 aGVyIGZkaS9wY2gKIAkJICogZW5hYmxpbmcuICovCkBAIC00ODU5LDkgKzQ4NTMsNiBAQCBzdGF0 aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKIAogCVdB Uk5fT04oIWNydGMtPnN0YXRlLT5lbmFibGUpOwogCi0JaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+ YWN0aXZlKSkKLQkJcmV0dXJuOwotCiAJcGlwZV9jb25maWcgPSB0b19pbnRlbF9jcnRjX3N0YXRl KGNydGMtPnN0YXRlKTsKIAlpZiAoaW50ZWxfY3J0Y190b19zaGFyZWRfZHBsbChpbnRlbF9jcnRj KSkKIAkJaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKGludGVsX2NydGMpOwpAQCAtNDg4NSw4ICs0 ODc2LDYgQEAgc3RhdGljIHZvaWQgaGFzd2VsbF9jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMg KmNydGMpCiAKIAlpbnRlbF9zZXRfcGlwZV9jc2MoY3J0Yyk7CiAKLQlpbnRlbF9jcnRjLT5hY3Rp dmUgPSB0cnVlOwotCiAJaW50ZWxfc2V0X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZf cHJpdiwgcGlwZSwgdHJ1ZSk7CiAJZm9yX2VhY2hfZW5jb2Rlcl9vbl9jcnRjKGRldiwgY3J0Yywg ZW5jb2RlcikKIAkJaWYgKGVuY29kZXItPnByZV9lbmFibGUpCkBAIC01NzQzLDggKzU3MzIsNiBA QCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKIAogCVdBUk5fT04oIWNydGMtPnN0YXRlLT5hY3RpdmUpOwogCi0JaWYgKFdBUk5fT04oaW50 ZWxfY3J0Yy0+YWN0aXZlKSkKLQkJcmV0dXJuOwogCXBpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0 Y19zdGF0ZShjcnRjLT5zdGF0ZSk7CiAKIAlpc19kc2kgPSBpbnRlbF9waXBlX2hhc190eXBlKGlu dGVsX2NydGMsIElOVEVMX09VVFBVVF9EU0kpOwpAQCAtNTc3MCw4ICs1NzU3LDYgQEAgc3RhdGlj IHZvaWQgdmFsbGV5dmlld19jcnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAKIAlp OXh4X3NldF9waXBlY29uZihpbnRlbF9jcnRjKTsKIAotCWludGVsX2NydGMtPmFjdGl2ZSA9IHRy dWU7Ci0KIAlpbnRlbF9zZXRfY3B1X2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBw aXBlLCB0cnVlKTsKIAogCWZvcl9lYWNoX2VuY29kZXJfb25fY3J0YyhkZXYsIGNydGMsIGVuY29k ZXIpCkBAIC01ODI0LDkgKzU4MDksNiBAQCBzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0 cnVjdCBkcm1fY3J0YyAqY3J0YykKIAlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUo Y3J0Yy0+c3RhdGUpOwogCVdBUk5fT04oIXBpcGVfY29uZmlnLT5iYXNlLmFjdGl2ZSk7CiAKLQlp ZiAoV0FSTl9PTihpbnRlbF9jcnRjLT5hY3RpdmUpKQotCQlyZXR1cm47Ci0KIAlpOXh4X3NldF9w bGxfZGl2aWRlcnMoaW50ZWxfY3J0Yyk7CiAKIAlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5oYXNf ZHBfZW5jb2RlcikKQEAgLTU4MzYsOCArNTgxOCw2IEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19l bmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCiAJaTl4eF9zZXRfcGlwZWNvbmYoaW50ZWxf Y3J0Yyk7CiAKLQlpbnRlbF9jcnRjLT5hY3RpdmUgPSB0cnVlOwotCiAJaWYgKCFJU19HRU4yKGRl dikpCiAJCWludGVsX3NldF9jcHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBp cGUsIHRydWUpOwogCkBAIC01OTMwLDcgKzU5MTAsNyBAQCB2b2lkIGludGVsX2NydGNfY29udHJv bChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIGJvb2wgZW5hYmxlKQogCXN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZTsKIAlpbnQgcmV0OwogCi0JaWYgKGVuYWJsZSA9PSBpbnRlbF9jcnRjLT5h Y3RpdmUpCisJaWYgKGVuYWJsZSA9PSBjcnRjLT5zdGF0ZS0+YWN0aXZlKQogCQlyZXR1cm47CiAK IAlpZiAoZW5hYmxlICYmICFjcnRjLT5zdGF0ZS0+ZW5hYmxlKQpAQCAtNjA0NSw5ICs2MDI1LDkg QEAgc3RhdGljIHZvaWQgaW50ZWxfY29ubmVjdG9yX2NoZWNrX3N0YXRlKHN0cnVjdCBpbnRlbF9j b25uZWN0b3IgKmNvbm5lY3RvcikKIAogCQkJY3J0YyA9IGVuY29kZXItPmJhc2UuY3J0YzsKIAot CQkJSTkxNV9TVEFURV9XQVJOKCFjcnRjLT5zdGF0ZS0+YWN0aXZlLAorCQkJSTkxNV9TVEFURV9X QVJOKCFjcnRjLT5zdGF0ZS0+ZW5hYmxlLAogCQkJCQkiY3J0YyBub3QgZW5hYmxlZFxuIik7Ci0J CQlJOTE1X1NUQVRFX1dBUk4oIXRvX2ludGVsX2NydGMoY3J0YyktPmFjdGl2ZSwgImNydGMgbm90 IGFjdGl2ZVxuIik7CisJCQlJOTE1X1NUQVRFX1dBUk4oIWNydGMtPnN0YXRlLT5hY3RpdmUsICJj cnRjIG5vdCBhY3RpdmVcbiIpOwogCQkJSTkxNV9TVEFURV9XQVJOKHBpcGUgIT0gdG9faW50ZWxf Y3J0YyhjcnRjKS0+cGlwZSwKIAkJCSAgICAgImVuY29kZXIgYWN0aXZlIG9uIHRoZSB3cm9uZyBw aXBlXG4iKTsKIAkJfQpAQCAtODc5OCw3ICs4Nzc4LDcgQEAgc3RhdGljIHZvaWQgYXNzZXJ0X2Nh bl9kaXNhYmxlX2xjcGxsKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YzsKIAogCWZvcl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKQot CQlJOTE1X1NUQVRFX1dBUk4oY3J0Yy0+YWN0aXZlLCAiQ1JUQyBmb3IgcGlwZSAlYyBlbmFibGVk XG4iLAorCQlJOTE1X1NUQVRFX1dBUk4oY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlLCAiQ1JUQyBm b3IgcGlwZSAlYyBlbmFibGVkXG4iLAogCQkgICAgIHBpcGVfbmFtZShjcnRjLT5waXBlKSk7CiAK IAlJOTE1X1NUQVRFX1dBUk4oSTkxNV9SRUFEKEhTV19QV1JfV0VMTF9EUklWRVIpLCAiUG93ZXIg d2VsbCBvblxuIik7CkBAIC0xMTczOCw3ICsxMTcxOCw3IEBAIHN0YXRpYyB2b2lkIGNoZWNrX3dt X3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCXN0cnVjdCBza2xfZGRiX2VudHJ5ICpo d19lbnRyeSwgKnN3X2VudHJ5OwogCQljb25zdCBlbnVtIHBpcGUgcGlwZSA9IGludGVsX2NydGMt PnBpcGU7CiAKLQkJaWYgKCFpbnRlbF9jcnRjLT5hY3RpdmUpCisJCWlmICghaW50ZWxfY3J0Yy0+ YmFzZS5zdGF0ZS0+YWN0aXZlKQogCQkJY29udGludWU7CiAKIAkJLyogcGxhbmVzICovCkBAIC0x MTg3MSw5ICsxMTg1MSw2IEBAIGNoZWNrX2NydGNfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKIAkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdXG4iLAogCQkJICAgICAgY3J0Yy0+YmFzZS5i YXNlLmlkKTsKIAotCQlJOTE1X1NUQVRFX1dBUk4oY3J0Yy0+YWN0aXZlICYmICFjcnRjLT5iYXNl LnN0YXRlLT5lbmFibGUsCi0JCSAgICAgImFjdGl2ZSBjcnRjLCBidXQgbm90IGVuYWJsZWQgaW4g c3cgdHJhY2tpbmdcbiIpOwotCiAJCWZvcl9lYWNoX2ludGVsX2VuY29kZXIoZGV2LCBlbmNvZGVy KSB7CiAJCQlpZiAoZW5jb2Rlci0+YmFzZS5jcnRjICE9ICZjcnRjLT5iYXNlKQogCQkJCWNvbnRp bnVlOwpAQCAtMTE4ODIsOSArMTE4NTksOSBAQCBjaGVja19jcnRjX3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQkJYWN0aXZlID0gdHJ1ZTsKIAkJfQogCi0JCUk5MTVfU1RBVEVfV0FS TihhY3RpdmUgIT0gY3J0Yy0+YWN0aXZlLAorCQlJOTE1X1NUQVRFX1dBUk4oYWN0aXZlICE9IGNy dGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSwKIAkJICAgICAiY3J0YydzIGNvbXB1dGVkIGFjdGl2ZSBz dGF0ZSBkb2Vzbid0IG1hdGNoIHRyYWNrZWQgYWN0aXZlIHN0YXRlICIKLQkJICAgICAiKGV4cGVj dGVkICVpLCBmb3VuZCAlaSlcbiIsIGFjdGl2ZSwgY3J0Yy0+YWN0aXZlKTsKKwkJICAgICAiKGV4 cGVjdGVkICVpLCBmb3VuZCAlaSlcbiIsIGFjdGl2ZSwgY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZl KTsKIAkJSTkxNV9TVEFURV9XQVJOKGVuYWJsZWQgIT0gY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxl LAogCQkgICAgICJjcnRjJ3MgY29tcHV0ZWQgZW5hYmxlZCBzdGF0ZSBkb2Vzbid0IG1hdGNoIHRy YWNrZWQgZW5hYmxlZCBzdGF0ZSAiCiAJCSAgICAgIihleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4i LCBlbmFibGVkLApAQCAtMTE4OTYsNyArMTE4NzMsNyBAQCBjaGVja19jcnRjX3N0YXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYpCiAJCS8qIGh3IHN0YXRlIGlzIGluY29uc2lzdGVudCB3aXRoIHRo ZSBwaXBlIHF1aXJrICovCiAJCWlmICgoY3J0Yy0+cGlwZSA9PSBQSVBFX0EgJiYgZGV2X3ByaXYt PnF1aXJrcyAmIFFVSVJLX1BJUEVBX0ZPUkNFKSB8fAogCQkgICAgKGNydGMtPnBpcGUgPT0gUElQ RV9CICYmIGRldl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQl9GT1JDRSkpCi0JCQlhY3RpdmUg PSBjcnRjLT5hY3RpdmU7CisJCQlhY3RpdmUgPSBjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmU7CiAK IAkJZm9yX2VhY2hfaW50ZWxfZW5jb2RlcihkZXYsIGVuY29kZXIpIHsKIAkJCWVudW0gcGlwZSBw aXBlOwpAQCAtMTE5MDYsOSArMTE4ODMsOSBAQCBjaGVja19jcnRjX3N0YXRlKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJCQkJZW5jb2Rlci0+Z2V0X2NvbmZpZyhlbmNvZGVyLCAmcGlwZV9jb25m aWcpOwogCQl9CiAKLQkJSTkxNV9TVEFURV9XQVJOKGNydGMtPmFjdGl2ZSAhPSBhY3RpdmUsCisJ CUk5MTVfU1RBVEVfV0FSTihjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUgIT0gYWN0aXZlLAogCQkg ICAgICJjcnRjIGFjdGl2ZSBzdGF0ZSBkb2Vzbid0IG1hdGNoIHdpdGggaHcgc3RhdGUgIgotCQkg ICAgICIoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgY3J0Yy0+YWN0aXZlLCBhY3RpdmUpOwor CQkgICAgICIoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwgY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0 aXZlLCBhY3RpdmUpOwogCiAJCWlmIChhY3RpdmUgJiYKIAkJICAgICFpbnRlbF9waXBlX2NvbmZp Z19jb21wYXJlKGRldiwgY3J0Yy0+Y29uZmlnLCAmcGlwZV9jb25maWcpKSB7CkBAIC0xMTkzMSw3 ICsxMTkwOCw3IEBAIGNoZWNrX3NoYXJlZF9kcGxsX3N0YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYpCiAKIAlmb3IgKGkgPSAwOyBpIDwgZGV2X3ByaXYtPm51bV9zaGFyZWRfZHBsbDsgaSsrKSB7 CiAJCXN0cnVjdCBpbnRlbF9zaGFyZWRfZHBsbCAqcGxsID0gJmRldl9wcml2LT5zaGFyZWRfZHBs bHNbaV07Ci0JCWludCBlbmFibGVkX2NydGNzID0gMCwgYWN0aXZlX2NydGNzID0gMDsKKwkJaW50 IGFjdGl2ZV9jcnRjcyA9IDA7CiAJCWJvb2wgYWN0aXZlOwogCiAJCW1lbXNldCgmZHBsbF9od19z dGF0ZSwgMCwgc2l6ZW9mKGRwbGxfaHdfc3RhdGUpKTsKQEAgLTExOTUzLDE2ICsxMTkzMCwxNCBA QCBjaGVja19zaGFyZWRfZHBsbF9zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJCWZv cl9lYWNoX2ludGVsX2NydGMoZGV2LCBjcnRjKSB7CiAJCQlpZiAoY3J0Yy0+YmFzZS5zdGF0ZS0+ YWN0aXZlICYmIGludGVsX2NydGNfdG9fc2hhcmVkX2RwbGwoY3J0YykgPT0gcGxsKQotCQkJCWVu YWJsZWRfY3J0Y3MrKzsKLQkJCWlmIChjcnRjLT5hY3RpdmUgJiYgaW50ZWxfY3J0Y190b19zaGFy ZWRfZHBsbChjcnRjKSA9PSBwbGwpCiAJCQkJYWN0aXZlX2NydGNzKys7CiAJCX0KIAkJSTkxNV9T VEFURV9XQVJOKHBsbC0+YWN0aXZlICE9IGFjdGl2ZV9jcnRjcywKIAkJICAgICAicGxsIGFjdGl2 ZSBjcnRjcyBtaXNtYXRjaCAoZXhwZWN0ZWQgJWksIGZvdW5kICVpKVxuIiwKIAkJICAgICBwbGwt PmFjdGl2ZSwgYWN0aXZlX2NydGNzKTsKLQkJSTkxNV9TVEFURV9XQVJOKGh3ZWlnaHQzMihwbGwt PmNvbmZpZy5jcnRjX21hc2spICE9IGVuYWJsZWRfY3J0Y3MsCisJCUk5MTVfU1RBVEVfV0FSTiho d2VpZ2h0MzIocGxsLT5jb25maWcuY3J0Y19tYXNrKSAhPSBhY3RpdmVfY3J0Y3MsCiAJCSAgICAg InBsbCBlbmFibGVkIGNydGNzIG1pc21hdGNoIChleHBlY3RlZCAlaSwgZm91bmQgJWkpXG4iLAot CQkgICAgIGh3ZWlnaHQzMihwbGwtPmNvbmZpZy5jcnRjX21hc2spLCBlbmFibGVkX2NydGNzKTsK KwkJICAgICBod2VpZ2h0MzIocGxsLT5jb25maWcuY3J0Y19tYXNrKSwgYWN0aXZlX2NydGNzKTsK IAogCQlJOTE1X1NUQVRFX1dBUk4ocGxsLT5vbiAmJiBtZW1jbXAoJnBsbC0+Y29uZmlnLmh3X3N0 YXRlLCAmZHBsbF9od19zdGF0ZSwKIAkJCQkgICAgICAgc2l6ZW9mKGRwbGxfaHdfc3RhdGUpKSwK QEAgLTEyMjY0LDEwICsxMjIzOSwxMCBAQCBzdGF0aWMgdm9pZCBfX2ludGVsX3NldF9tb2RlX3Vw ZGF0ZV9wbGFuZXMoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJdG9faW50ZWxfcGxhbmVfc3Rh dGUocGxhbmUtPnN0YXRlKS0+aHdfZW5hYmxlZCA9IGZhbHNlOwogCQlEUk1fREVCVUdfQVRPTUlD KCJQbGFuZSAlaSBpcyB2aXNpYmxlOiAlaVxuIiwgaSwgdmlzaWJsZSk7CiAKLQkJaWYgKCF2aXNp YmxlKQorCQlpZiAoY3J0YyAmJiBuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKSkKKwkJCWludGVs X3BsYW5lLT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBjcnRjLCAhdmlzaWJsZSk7CisJCWVsc2UgaWYg KCF2aXNpYmxlKQogCQkJZnVuY3MtPmF0b21pY191cGRhdGUocGxhbmUsIG9sZF9wbGFuZV9zdGF0 ZSk7Ci0JCWVsc2UgaWYgKG5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpKQotCQkJaW50ZWxfcGxh bmUtPmRpc2FibGVfcGxhbmUocGxhbmUsIGNydGMsIHRydWUpOwogCX0KIH0KIApAQCAtMTIzNDks OCArMTIzMjQsNiBAQCBzdGF0aWMgaW50IF9faW50ZWxfc2V0X21vZGUoc3RydWN0IGRybV9hdG9t aWNfc3RhdGUgKnN0YXRlKQogCQlpbnRlbF9jcnRjX2RwbXNfb3ZlcmxheV9kaXNhYmxlKHRvX2lu dGVsX2NydGMoY3J0YykpOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2Rpc2FibGUoY3J0Yywg cGlwZV9jb25maWcpOwogCi0JCWludGVsX2NydGMtPmFjdGl2ZSA9IGZhbHNlOwotCiAJCWlmIChp bnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxsKGludGVsX2NydGMpKQogCQkJaW50ZWxfZGlzYWJsZV9z aGFyZWRfZHBsbChpbnRlbF9jcnRjKTsKIAl9CkBAIC0xMzAzNSwxMSArMTMwMDgsOSBAQCBzdGF0 aWMgaW50IGludGVsX2F0b21pY19jaGVja19jcnRjKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlt ZW1zZXQoJmludGVsX2NydGMtPmF0b21pYywgMCwgc2l6ZW9mKGludGVsX2NydGMtPmF0b21pYykp OwogCWludGVsX2NydGMtPmF0b21pYy51cGRhdGVfd20gPSBtb2RlX2NoYW5nZWQ7CiAJaW50ZWxf Y3J0Yy0+YXRvbWljLmRpc2FibGVfZmJjID0gbW9kZV9jaGFuZ2VkOworCWludGVsX2NydGMtPmF0 b21pYy5ldmFkZSA9ICFtb2RlX2NoYW5nZWQgJiYgd2FzX2NydGNfZW5hYmxlZDsKIAogCWlkeCA9 IGNydGMtPmJhc2UuaWQ7Ci0JSTkxNV9TVEFURV9XQVJOKGNydGMtPnN0YXRlLT5hY3RpdmUgIT0g aW50ZWxfY3J0Yy0+YWN0aXZlLAotCQkiQ3J0YyAlaSBtaXNtYXRjaCBiZXR3ZWVuIHN0YXRlLT5h Y3RpdmUoJWkpIGFuZCBjcnRjLT5hY3RpdmUgKCVpKVxuIiwKLQkJaWR4LCBjcnRjLT5zdGF0ZS0+ YWN0aXZlLCBpbnRlbF9jcnRjLT5hY3RpdmUpOwogCiAJRFJNX0RFQlVHX0FUT01JQygiQ3J0YyAl aSB3YXMgZW5hYmxlZCAlaSBub3cgZW5hYmxlZDogJWlcbiIsCiAJCQkgaWR4LCB3YXNfY3J0Y19l bmFibGVkLCBpc19jcnRjX2VuYWJsZWQpOwpAQCAtMTMyMjksNyArMTMyMDAsNyBAQCBzdGF0aWMg dm9pZCBpbnRlbF9iZWdpbl9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaW50 ZWxfcnVudGltZV9wbV9nZXQoZGV2X3ByaXYpOwogCiAJLyogUGVyZm9ybSB2YmxhbmsgZXZhc2lv biBhcm91bmQgY29tbWl0IG9wZXJhdGlvbiAqLwotCWlmIChpbnRlbF9jcnRjLT5hY3RpdmUgJiYg IW5lZWRzX21vZGVzZXQoY3J0Yy0+c3RhdGUpICYmCisJaWYgKGludGVsX2NydGMtPmF0b21pYy5l dmFkZSAmJgogCSAgICAhZGV2X3ByaXYtPnBvd2VyX2RvbWFpbnMuaW5pdF9wb3dlcl9vbikKIAkJ aW50ZWxfY3J0Yy0+YXRvbWljLmV2YWRlID0KIAkJCWludGVsX3BpcGVfdXBkYXRlX3N0YXJ0KGlu dGVsX2NydGMsCkBAIC0xNDUzNyw3ICsxNDUwOCw3IEBAIHZvaWQgaW50ZWxfbW9kZXNldF9pbml0 KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJZHJtX21vZGVzZXRfdW5sb2NrX2FsbChkZXYpOwog CiAJZm9yX2VhY2hfaW50ZWxfY3J0YyhkZXYsIGNydGMpIHsKLQkJaWYgKCFjcnRjLT5hY3RpdmUp CisJCWlmICghY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlKQogCQkJY29udGludWU7CiAKIAkJLyoK QEAgLTE0NjE1LDcgKzE0NTg2LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0Yyhz dHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAogCS8qIHJlc3RvcmUgdmJsYW5rIGludGVycnVwdHMg dG8gY29ycmVjdCBzdGF0ZSAqLwogCWRybV9jcnRjX3ZibGFua19yZXNldCgmY3J0Yy0+YmFzZSk7 Ci0JaWYgKGNydGMtPmFjdGl2ZSkgeworCWlmIChjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpIHsK IAkJdXBkYXRlX3NjYW5saW5lX29mZnNldChjcnRjKTsKIAkJZHJtX2NydGNfdmJsYW5rX29uKCZj cnRjLT5iYXNlKTsKIAl9CkBAIC0xNDY1NSwxNCArMTQ2MjYsMTQgQEAgc3RhdGljIHZvaWQgaW50 ZWxfc2FuaXRpemVfY3J0YyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkJCQljb25uZWN0b3It PmVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlID0gZmFsc2U7CiAJCQl9CiAKLQkJV0FSTl9PTihj cnRjLT5hY3RpdmUpOworCQlXQVJOX09OKGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSk7CiAJCWNy dGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSA9IGZhbHNlOwogCQljcnRjLT5iYXNlLnN0YXRlLT5hY3Rp dmUgPSBmYWxzZTsKIAkJY3J0Yy0+YmFzZS5lbmFibGVkID0gZmFsc2U7CiAJfQogCiAJaWYgKGRl dl9wcml2LT5xdWlya3MgJiBRVUlSS19QSVBFQV9GT1JDRSAmJgotCSAgICBjcnRjLT5waXBlID09 IFBJUEVfQSAmJiAhY3J0Yy0+YWN0aXZlKSB7CisJICAgIGNydGMtPnBpcGUgPT0gUElQRV9BICYm ICFjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpIHsKIAkJLyogQklPUyBmb3Jnb3QgdG8gZW5hYmxl IHBpcGUgQSwgdGhpcyBtb3N0bHkgaGFwcGVucyBhZnRlcgogCQkgKiByZXN1bWUuIEZvcmNlLWVu YWJsZSB0aGUgcGlwZSB0byBmaXggdGhpcywgdGhlIHVwZGF0ZV9kcG1zCiAJCSAqIGNhbGwgYmVs b3cgd2UgcmVzdG9yZSB0aGUgcGlwZSB0byB0aGUgcmlnaHQgc3RhdGUsIGJ1dCBsZWF2ZQpAQCAt MTQ2NzQsMzUgKzE0NjQ1LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfc2FuaXRpemVfY3J0YyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAkgKiBoYXZlIGFjdGl2ZSBjb25uZWN0b3JzL2VuY29kZXJz LiAqLwogCWludGVsX2NydGNfdXBkYXRlX2RwbXMoJmNydGMtPmJhc2UpOwogCi0JaWYgKGNydGMt PmFjdGl2ZSAhPSBjcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUpIHsKLQkJc3RydWN0IGludGVsX2Vu Y29kZXIgKmVuY29kZXI7Ci0KLQkJLyogVGhpcyBjYW4gaGFwcGVuIGVpdGhlciBkdWUgdG8gYnVn cyBpbiB0aGUgZ2V0X2h3X3N0YXRlCi0JCSAqIGZ1bmN0aW9ucyBvciBiZWNhdXNlIHRoZSBwaXBl IGlzIGZvcmNlLWVuYWJsZWQgZHVlIHRvIHRoZQotCQkgKiBwaXBlIEEgcXVpcmsuICovCi0JCURS TV9ERUJVR19LTVMoIltDUlRDOiVkXSBodyBzdGF0ZSBhZGp1c3RlZCwgd2FzICVzLCBub3cgJXNc biIsCi0JCQkgICAgICBjcnRjLT5iYXNlLmJhc2UuaWQsCi0JCQkgICAgICBjcnRjLT5iYXNlLnN0 YXRlLT5lbmFibGUgPyAiZW5hYmxlZCIgOiAiZGlzYWJsZWQiLAotCQkJICAgICAgY3J0Yy0+YWN0 aXZlID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7Ci0KLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5h YmxlID0gY3J0Yy0+YWN0aXZlOwotCQljcnRjLT5iYXNlLnN0YXRlLT5hY3RpdmUgPSBjcnRjLT5h Y3RpdmU7Ci0JCWNydGMtPmJhc2UuZW5hYmxlZCA9IGNydGMtPmFjdGl2ZTsKLQotCQkvKiBCZWNh dXNlIHdlIG9ubHkgZXN0YWJsaXNoIHRoZSBjb25uZWN0b3IgLT4gZW5jb2RlciAtPgotCQkgKiBj cnRjIGxpbmtzIGlmIHNvbWV0aGluZyBpcyBhY3RpdmUsIHRoaXMgbWVhbnMgdGhlCi0JCSAqIGNy dGMgaXMgbm93IGRlYWN0aXZhdGVkLiBCcmVhayB0aGUgbGlua3MuIGNvbm5lY3RvcgotCQkgKiAt PiBlbmNvZGVyIGxpbmtzIGFyZSBvbmx5IGVzdGFibGlzaCB3aGVuIHRoaW5ncyBhcmUKLQkJICog IGFjdHVhbGx5IHVwLCBoZW5jZSBubyBuZWVkIHRvIGJyZWFrIHRoZW0uICovCi0JCVdBUk5fT04o Y3J0Yy0+YWN0aXZlKTsKLQotCQlmb3JfZWFjaF9lbmNvZGVyX29uX2NydGMoZGV2LCAmY3J0Yy0+ YmFzZSwgZW5jb2RlcikgewotCQkJV0FSTl9PTihlbmNvZGVyLT5jb25uZWN0b3JzX2FjdGl2ZSk7 Ci0JCQllbmNvZGVyLT5iYXNlLmNydGMgPSBOVUxMOwotCQl9Ci0JfQotCi0JaWYgKGNydGMtPmFj dGl2ZSB8fCBIQVNfR01DSF9ESVNQTEFZKGRldikpIHsKKwlpZiAoY3J0Yy0+YmFzZS5zdGF0ZS0+ YWN0aXZlIHx8IEhBU19HTUNIX0RJU1BMQVkoZGV2KSkgewogCQkvKgogCQkgKiBXZSBzdGFydCBv dXQgd2l0aCB1bmRlcnJ1biByZXBvcnRpbmcgZGlzYWJsZWQgdG8gYXZvaWQgcmFjZXMuCiAJCSAq IEZvciBjb3JyZWN0IGJvb2trZWVwaW5nIG1hcmsgdGhpcyBvbiBhY3RpdmUgY3J0Y3MuCkBAIC0x NDczMCw3ICsxNDY3Myw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3Nhbml0aXplX2VuY29kZXIoc3Ry dWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJLyogV2UgbmVlZCB0byBjaGVjayBib3RoIGZv ciBhIGNydGMgbGluayAobWVhbmluZyB0aGF0IHRoZQogCSAqIGVuY29kZXIgaXMgYWN0aXZlIGFu ZCB0cnlpbmcgdG8gcmVhZCBmcm9tIGEgcGlwZSkgYW5kIHRoZQogCSAqIHBpcGUgaXRzZWxmIGJl aW5nIGFjdGl2ZS4gKi8KLQlib29sIGhhc19hY3RpdmVfY3J0YyA9IGNydGMgJiYgdG9faW50ZWxf Y3J0YyhjcnRjKS0+YWN0aXZlOworCWJvb2wgaGFzX2FjdGl2ZV9jcnRjID0gY3J0YyAmJiBjcnRj LT5zdGF0ZS0+YWN0aXZlOwogCiAJaWYgKGVuY29kZXItPmNvbm5lY3RvcnNfYWN0aXZlICYmICFo YXNfYWN0aXZlX2NydGMpIHsKIAkJRFJNX0RFQlVHX0tNUygiW0VOQ09ERVI6JWQ6JXNdIGhhcyBh Y3RpdmUgY29ubmVjdG9ycyBidXQgbm8gYWN0aXZlIHBpcGUhXG4iLApAQCAtMTQ4MDAsNyArMTQ3 NDMsNyBAQCBzdGF0aWMgYm9vbCBwcmltYXJ5X2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBjcnRjLT5i YXNlLmRldi0+ZGV2X3ByaXZhdGU7CiAKLQlpZiAoIWNydGMtPmFjdGl2ZSkKKwlpZiAoIWNydGMt PmJhc2Uuc3RhdGUtPmFjdGl2ZSkKIAkJcmV0dXJuIGZhbHNlOwogCiAJcmV0dXJuIEk5MTVfUkVB RChEU1BDTlRSKGNydGMtPnBsYW5lKSkgJiBESVNQTEFZX1BMQU5FX0VOQUJMRTsKQEAgLTE0ODI4 LDEyICsxNDc3MSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9od19zdGF0 ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlpZiAoY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZl KQogCQkJKmNydGNfbWFzayB8PSBkcm1fY3J0Y19pbmRleCgmY3J0Yy0+YmFzZSk7CiAKLQkJY3J0 Yy0+YWN0aXZlID0gZGV2X3ByaXYtPmRpc3BsYXkuZ2V0X3BpcGVfY29uZmlnKGNydGMsCi0JCQkJ CQkJCSBjcnRjLT5jb25maWcpOwotCi0JCWNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSA9IGNydGMt PmFjdGl2ZTsKLQkJY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlID0gY3J0Yy0+YWN0aXZlOwotCQlj cnRjLT5iYXNlLmVuYWJsZWQgPSBjcnRjLT5hY3RpdmU7CisJCWNydGMtPmJhc2UuZW5hYmxlZCA9 IGNydGMtPmJhc2Uuc3RhdGUtPmVuYWJsZSA9CisJCWNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSA9 CisJCQlkZXZfcHJpdi0+ZGlzcGxheS5nZXRfcGlwZV9jb25maWcoY3J0YywgY3J0Yy0+Y29uZmln KTsKIAogCQlwbGFuZV9zdGF0ZSA9IHRvX2ludGVsX3BsYW5lX3N0YXRlKHByaW1hcnktPnN0YXRl KTsKIAkJcGxhbmVfc3RhdGUtPmh3X2VuYWJsZWQgPSBwbGFuZV9zdGF0ZS0+dmlzaWJsZSA9CkBA IC0xNDg0Nyw3ICsxNDc4Nyw3IEBAIHN0YXRpYyB2b2lkIGludGVsX21vZGVzZXRfcmVhZG91dF9o d19zdGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJCURSTV9ERUJVR19LTVMoIltDUlRD OiVkXSBodyBzdGF0ZSByZWFkb3V0OiAlc1xuIiwKIAkJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5p ZCwKLQkJCSAgICAgIGNydGMtPmFjdGl2ZSA/ICJlbmFibGVkIiA6ICJkaXNhYmxlZCIpOworCQkJ ICAgICAgY3J0Yy0+YmFzZS5zdGF0ZS0+YWN0aXZlID8gImVuYWJsZWQiIDogImRpc2FibGVkIik7 CiAJfQogCiAJZm9yIChpID0gMDsgaSA8IGRldl9wcml2LT5udW1fc2hhcmVkX2RwbGw7IGkrKykg ewpAQCAtMTQ4NTgsNyArMTQ3OTgsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tb2Rlc2V0X3JlYWRv dXRfaHdfc3RhdGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJcGxsLT5hY3RpdmUgPSAwOwog CQlwbGwtPmNvbmZpZy5jcnRjX21hc2sgPSAwOwogCQlmb3JfZWFjaF9pbnRlbF9jcnRjKGRldiwg Y3J0YykgewotCQkJaWYgKGNydGMtPmFjdGl2ZSAmJiBpbnRlbF9jcnRjX3RvX3NoYXJlZF9kcGxs KGNydGMpID09IHBsbCkgeworCQkJaWYgKGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSAmJiBpbnRl bF9jcnRjX3RvX3NoYXJlZF9kcGxsKGNydGMpID09IHBsbCkgewogCQkJCXBsbC0+YWN0aXZlKys7 CiAJCQkJcGxsLT5jb25maWcuY3J0Y19tYXNrIHw9IDEgPDwgY3J0Yy0+cGlwZTsKIAkJCX0KQEAg LTE0OTI3LDkgKzE0ODY3LDkgQEAgdm9pZCBpbnRlbF9tb2Rlc2V0X3NldHVwX2h3X3N0YXRlKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJICogY2hlY2tpbmcgZXZlcnl3aGVyZS4KIAkgKi8KIAlm b3JfZWFjaF9pbnRlbF9jcnRjKGRldiwgY3J0YykgewotCQlpZiAoY3J0Yy0+YWN0aXZlICYmIGk5 MTUuZmFzdGJvb3QpIHsKKwkJaWYgKGNydGMtPmJhc2Uuc3RhdGUtPmFjdGl2ZSAmJiBpOTE1LmZh c3Rib290KSB7CiAJCQlpbnRlbF9tb2RlX2Zyb21fcGlwZV9jb25maWcoJmNydGMtPmJhc2UubW9k ZSwKLQkJCQkJCSAgICBjcnRjLT5jb25maWcpOworCQkJCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0 Yy0+YmFzZS5zdGF0ZSkpOwogCQkJRFJNX0RFQlVHX0tNUygiW0NSVEM6JWRdIGZvdW5kIGFjdGl2 ZSBtb2RlOiAiLAogCQkJCSAgICAgIGNydGMtPmJhc2UuYmFzZS5pZCk7CiAJCQlkcm1fbW9kZV9k ZWJ1Z19wcmludG1vZGVsaW5lKCZjcnRjLT5iYXNlLm1vZGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAppbmRleCA2YzJiYTVkYmNkNzkuLjFhMGIwY2Q4NTdjMyAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZHJ2LmgKQEAgLTQ5MiwxMiArNDkyLDYgQEAgc3RydWN0IGludGVsX2NydGMgewogCWVudW0g cGlwZSBwaXBlOwogCWVudW0gcGxhbmUgcGxhbmU7CiAJdTggbHV0X3JbMjU2XSwgbHV0X2dbMjU2 XSwgbHV0X2JbMjU2XTsKLQkvKgotCSAqIFdoZXRoZXIgdGhlIGNydGMgYW5kIHRoZSBjb25uZWN0 ZWQgb3V0cHV0IHBpcGVsaW5lIGlzIGFjdGl2ZS4gSW1wbGllcwotCSAqIHRoYXQgY3J0Yy0+ZW5h YmxlZCBpcyBzZXQsIGkuZS4gdGhlIGN1cnJlbnQgbW9kZSBjb25maWd1cmF0aW9uIGhhcwotCSAq IHNvbWUgb3V0cHV0cyBjb25uZWN0ZWQgdG8gdGhpcyBjcnRjLgotCSAqLwotCWJvb2wgYWN0aXZl OwogCXVuc2lnbmVkIGxvbmcgZW5hYmxlZF9wb3dlcl9kb21haW5zOwogCWJvb2wgbG93ZnJlcV9h dmFpbDsKIAlzdHJ1Y3QgaW50ZWxfb3ZlcmxheSAqb3ZlcmxheTsKLS0gCjIuMS4wCgpfX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGlu ZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=