From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 1/6] drm/i915: Pass intel_crtc_state to needs_modeset() Date: Fri, 28 Jun 2019 10:55:12 +0200 Message-ID: <20190628085517.31886-2-maarten.lankhorst@linux.intel.com> References: <20190628085517.31886-1-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 7C5776E888 for ; Fri, 28 Jun 2019 08:55:21 +0000 (UTC) In-Reply-To: <20190628085517.31886-1-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 SW4gaTkxNSB3ZSBzaG91bGQgdXNlIGludGVsX2NydGNfc3RhdGUgYXMgbXVjaCBhcyBwb3NzaWJs ZSwgcGFzcwppbnRlbF9jcnRjX3N0YXRlIHRvIG5lZWRzX21vZGVzZXQsIGJlZm9yZSB3ZSBjbGVh biB1cCBhbGwgb3RoZXIgdXNlcwpvZiBkcm1fY3J0Y19zdGF0ZS4KClNpZ25lZC1vZmYtYnk6IE1h YXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+ClJldmll d2VkLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jIHwgNjggKysr KysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCAzNCBpbnNlcnRpb25zKCspLCAzNCBk ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2lu dGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jCmluZGV4IGU1NWJkNzU1MjhjMS4uOTA3MDFkODZmYmViIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwpAQCAtNTE1LDkgKzUxNSw5IEBAIGljbF93 YV9zY2FsZXJjbGtnYXRpbmcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVt IHBpcGUgcGlwZSwKIH0KIAogc3RhdGljIGJvb2wKLW5lZWRzX21vZGVzZXQoY29uc3Qgc3RydWN0 IGRybV9jcnRjX3N0YXRlICpzdGF0ZSkKK25lZWRzX21vZGVzZXQoY29uc3Qgc3RydWN0IGludGVs X2NydGNfc3RhdGUgKnN0YXRlKQogewotCXJldHVybiBkcm1fYXRvbWljX2NydGNfbmVlZHNfbW9k ZXNldChzdGF0ZSk7CisJcmV0dXJuIGRybV9hdG9taWNfY3J0Y19uZWVkc19tb2Rlc2V0KCZzdGF0 ZS0+YmFzZSk7CiB9CiAKIC8qCkBAIC01Nzk2LDcgKzU3OTYsNyBAQCBzdGF0aWMgYm9vbCBoc3df cHJlX3VwZGF0ZV9kaXNhYmxlX2lwcyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xk X2NydGNfcwogCWlmICghb2xkX2NydGNfc3RhdGUtPmlwc19lbmFibGVkKQogCQlyZXR1cm4gZmFs c2U7CiAKLQlpZiAobmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpKQorCWlmIChu ZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKIAkJcmV0dXJuIHRydWU7CiAKIAkvKgpAQCAt NTgyMyw3ICs1ODIzLDcgQEAgc3RhdGljIGJvb2wgaHN3X3Bvc3RfdXBkYXRlX2VuYWJsZV9pcHMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3MKIAlpZiAoIW5ld19jcnRj X3N0YXRlLT5pcHNfZW5hYmxlZCkKIAkJcmV0dXJuIGZhbHNlOwogCi0JaWYgKG5lZWRzX21vZGVz ZXQoJm5ld19jcnRjX3N0YXRlLT5iYXNlKSkKKwlpZiAobmVlZHNfbW9kZXNldChuZXdfY3J0Y19z dGF0ZSkpCiAJCXJldHVybiB0cnVlOwogCiAJLyoKQEAgLTU5MDAsNyArNTkwMCw3IEBAIHN0YXRp YyB2b2lkIGludGVsX3Bvc3RfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpv bGRfY3J0Y19zdGF0ZSkKIAkJaW50ZWxfZmJjX3Bvc3RfdXBkYXRlKGNydGMpOwogCiAJCWlmIChu ZXdfcHJpbWFyeV9zdGF0ZS0+dmlzaWJsZSAmJgotCQkgICAgKG5lZWRzX21vZGVzZXQoJnBpcGVf Y29uZmlnLT5iYXNlKSB8fAorCQkgICAgKG5lZWRzX21vZGVzZXQocGlwZV9jb25maWcpIHx8CiAJ CSAgICAgIW9sZF9wcmltYXJ5X3N0YXRlLT52aXNpYmxlKSkKIAkJCWludGVsX3Bvc3RfZW5hYmxl X3ByaW1hcnkoJmNydGMtPmJhc2UsIHBpcGVfY29uZmlnKTsKIAl9CkBAIC01OTI0LDcgKzU5MjQs NyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKIAlzdHJ1Y3QgZHJtX3BsYW5lICpwcmltYXJ5ID0gY3J0 Yy0+YmFzZS5wcmltYXJ5OwogCXN0cnVjdCBkcm1fcGxhbmVfc3RhdGUgKm9sZF9wcmltYXJ5X3N0 YXRlID0KIAkJZHJtX2F0b21pY19nZXRfb2xkX3BsYW5lX3N0YXRlKG9sZF9zdGF0ZSwgcHJpbWFy eSk7Ci0JYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9kZXNldCgmcGlwZV9jb25maWctPmJhc2UpOwor CWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQocGlwZV9jb25maWcpOwogCXN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKm9sZF9pbnRlbF9zdGF0ZSA9CiAJCXRvX2ludGVsX2F0b21pY19zdGF0 ZShvbGRfc3RhdGUpOwogCkBAIC01OTg0LDcgKzU5ODQsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9w cmVfcGxhbmVfdXBkYXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwK IAkgKiBJZiB3ZSdyZSBkb2luZyBhIG1vZGVzZXQsIHdlJ3JlIGRvbmUuICBObyBuZWVkIHRvIGRv IGFueSBwcmUtdmJsYW5rCiAJICogd2F0ZXJtYXJrIHByb2dyYW1taW5nIGhlcmUuCiAJICovCi0J aWYgKG5lZWRzX21vZGVzZXQoJnBpcGVfY29uZmlnLT5iYXNlKSkKKwlpZiAobmVlZHNfbW9kZXNl dChwaXBlX2NvbmZpZykpCiAJCXJldHVybjsKIAogCS8qCkBAIC0xMTMzOSw3ICsxMTMzOSw3IEBA IGludCBpbnRlbF9wbGFuZV9hdG9taWNfY2FsY19jaGFuZ2VzKGNvbnN0IHN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0CiAJc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSA9IHRv X2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5wbGFuZSk7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7Ci0JYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUp OworCWJvb2wgbW9kZV9jaGFuZ2VkID0gbmVlZHNfbW9kZXNldChwaXBlX2NvbmZpZyk7CiAJYm9v bCB3YXNfY3J0Y19lbmFibGVkID0gb2xkX2NydGNfc3RhdGUtPmJhc2UuYWN0aXZlOwogCWJvb2wg aXNfY3J0Y19lbmFibGVkID0gY3J0Y19zdGF0ZS0+YWN0aXZlOwogCWJvb2wgdHVybl9vZmYsIHR1 cm5fb24sIHZpc2libGUsIHdhc192aXNpYmxlOwpAQCAtMTE2MDgsNyArMTE2MDgsNyBAQCBzdGF0 aWMgaW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcgPQogCQl0b19pbnRlbF9jcnRjX3N0 YXRlKGNydGNfc3RhdGUpOwogCWludCByZXQ7Ci0JYm9vbCBtb2RlX2NoYW5nZWQgPSBuZWVkc19t b2Rlc2V0KGNydGNfc3RhdGUpOworCWJvb2wgbW9kZV9jaGFuZ2VkID0gbmVlZHNfbW9kZXNldChw aXBlX2NvbmZpZyk7CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDUgJiYgIUlTX0c0WChk ZXZfcHJpdikgJiYKIAkgICAgbW9kZV9jaGFuZ2VkICYmICFjcnRjX3N0YXRlLT5hY3RpdmUpCkBA IC0xMzA4OCw3ICsxMzA4OCw3IEBAIGludGVsX21vZGVzZXRfdmVyaWZ5X2NydGMoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCQkJICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKm9sZF9zdGF0ZSwKIAkJ CSAgc3RydWN0IGRybV9jcnRjX3N0YXRlICpuZXdfc3RhdGUpCiB7Ci0JaWYgKCFuZWVkc19tb2Rl c2V0KG5ld19zdGF0ZSkgJiYKKwlpZiAoIW5lZWRzX21vZGVzZXQodG9faW50ZWxfY3J0Y19zdGF0 ZShuZXdfc3RhdGUpKSAmJgogCSAgICAhdG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfc3RhdGUpLT51 cGRhdGVfcGlwZSkKIAkJcmV0dXJuOwogCkBAIC0xMzE4MCw3ICsxMzE4MCw3IEBAIHN0YXRpYyB2 b2lkIGludGVsX21vZGVzZXRfY2xlYXJfcGxscyhzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpz dGF0ZSkKIAkJc3RydWN0IGludGVsX3NoYXJlZF9kcGxsICpvbGRfZHBsbCA9CiAJCQlvbGRfY3J0 Y19zdGF0ZS0+c2hhcmVkX2RwbGw7CiAKLQkJaWYgKCFuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19z dGF0ZS0+YmFzZSkpCisJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCiAJCQlj b250aW51ZTsKIAogCQluZXdfY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGwgPSBOVUxMOwpAQCAtMTMy MTAsNyArMTMyMTAsNyBAQCBzdGF0aWMgaW50IGhhc3dlbGxfbW9kZV9zZXRfcGxhbmVzX3dvcmth cm91bmQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJLyogbG9vayBhdCBhbGwg Y3J0YydzIHRoYXQgYXJlIGdvaW5nIHRvIGJlIGVuYWJsZWQgaW4gZHVyaW5nIG1vZGVzZXQgKi8K IAlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0Y19pbl9zdGF0ZShzdGF0ZSwgY3J0YywgY3J0Y19zdGF0 ZSwgaSkgewogCQlpZiAoIWNydGNfc3RhdGUtPmJhc2UuYWN0aXZlIHx8Ci0JCSAgICAhbmVlZHNf bW9kZXNldCgmY3J0Y19zdGF0ZS0+YmFzZSkpCisJCSAgICAhbmVlZHNfbW9kZXNldChjcnRjX3N0 YXRlKSkKIAkJCWNvbnRpbnVlOwogCiAJCWlmIChmaXJzdF9jcnRjX3N0YXRlKSB7CkBAIC0xMzIz NSw3ICsxMzIzNSw3IEBAIHN0YXRpYyBpbnQgaGFzd2VsbF9tb2RlX3NldF9wbGFuZXNfd29ya2Fy b3VuZChzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIAkJY3J0Y19zdGF0ZS0+aHN3 X3dvcmthcm91bmRfcGlwZSA9IElOVkFMSURfUElQRTsKIAogCQlpZiAoIWNydGNfc3RhdGUtPmJh c2UuYWN0aXZlIHx8Ci0JCSAgICBuZWVkc19tb2Rlc2V0KCZjcnRjX3N0YXRlLT5iYXNlKSkKKwkJ ICAgIG5lZWRzX21vZGVzZXQoY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsKIAogCQkvKiAyIG9y IG1vcmUgZW5hYmxlZCBjcnRjcyBtZWFucyBubyBuZWVkIGZvciB3L2EgKi8KQEAgLTEzMjg1LDcg KzEzMjg1LDcgQEAgc3RhdGljIGludCBpbnRlbF9tb2Rlc2V0X2FsbF9waXBlcyhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCWlmIChJU19FUlIoY3J0Y19zdGF0ZSkpCiAJCQlyZXR1 cm4gUFRSX0VSUihjcnRjX3N0YXRlKTsKIAotCQlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCBu ZWVkc19tb2Rlc2V0KGNydGNfc3RhdGUpKQorCQlpZiAoIWNydGNfc3RhdGUtPmFjdGl2ZSB8fCBu ZWVkc19tb2Rlc2V0KHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Y19zdGF0ZSkpKQogCQkJY29udGlu dWU7CiAKIAkJY3J0Y19zdGF0ZS0+bW9kZV9jaGFuZ2VkID0gdHJ1ZTsKQEAgLTEzMzYyLDEyICsx MzM2MiwxMiBAQCBzdGF0aWMgaW50IGludGVsX21vZGVzZXRfY2hlY2tzKHN0cnVjdCBpbnRlbF9h dG9taWNfc3RhdGUgKnN0YXRlKQogCQl9CiAKIAkJaWYgKGlzX3Bvd2VyX29mXzIoc3RhdGUtPmFj dGl2ZV9jcnRjcykpIHsKLQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKLQkJCXN0cnVjdCBkcm1f Y3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZTsKKwkJCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOworCQkJ c3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGU7CiAKIAkJCXBpcGUgPSBpbG9nMihz dGF0ZS0+YWN0aXZlX2NydGNzKTsKLQkJCWNydGMgPSAmaW50ZWxfZ2V0X2NydGNfZm9yX3BpcGUo ZGV2X3ByaXYsIHBpcGUpLT5iYXNlOwotCQkJY3J0Y19zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X25l d19jcnRjX3N0YXRlKCZzdGF0ZS0+YmFzZSwgY3J0Yyk7CisJCQljcnRjID0gaW50ZWxfZ2V0X2Ny dGNfZm9yX3BpcGUoZGV2X3ByaXYsIHBpcGUpOworCQkJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21p Y19nZXRfbmV3X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwogCQkJaWYgKGNydGNfc3RhdGUgJiYg bmVlZHNfbW9kZXNldChjcnRjX3N0YXRlKSkKIAkJCQlwaXBlID0gSU5WQUxJRF9QSVBFOwogCQl9 IGVsc2UgewpAQCAtMTM0NzgsNyArMTM0NzgsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19j aGVjayhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJZm9yX2VhY2hfb2xkbmV3X2ludGVsX2Ny dGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIG9sZF9jcnRjX3N0YXRlLAogCQkJCQkgICAgbmV3X2Ny dGNfc3RhdGUsIGkpIHsKLQkJaWYgKCFuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0ZS0+YmFz ZSkpCisJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsK IAogCQlpZiAoIW5ld19jcnRjX3N0YXRlLT5iYXNlLmVuYWJsZSkgewpAQCAtMTM0OTIsNyArMTM0 OTIsNyBAQCBzdGF0aWMgaW50IGludGVsX2F0b21pY19jaGVjayhzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2LAogCiAJCWludGVsX2NydGNfY2hlY2tfZmFzdHNldChvbGRfY3J0Y19zdGF0ZSwgbmV3X2Ny dGNfc3RhdGUpOwogCi0JCWlmIChuZWVkc19tb2Rlc2V0KCZuZXdfY3J0Y19zdGF0ZS0+YmFzZSkp CisJCWlmIChuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSkKIAkJCWFueV9tcyA9IHRydWU7 CiAJfQogCkBAIC0xMzUyNywxMiArMTM1MjcsMTIgQEAgc3RhdGljIGludCBpbnRlbF9hdG9taWNf Y2hlY2soc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAogCWZvcl9lYWNoX29sZG5ld19pbnRlbF9j cnRjX2luX3N0YXRlKHN0YXRlLCBjcnRjLCBvbGRfY3J0Y19zdGF0ZSwKIAkJCQkJICAgIG5ld19j cnRjX3N0YXRlLCBpKSB7Ci0JCWlmICghbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJh c2UpICYmCisJCWlmICghbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkgJiYKIAkJICAgICFu ZXdfY3J0Y19zdGF0ZS0+dXBkYXRlX3BpcGUpCiAJCQljb250aW51ZTsKIAogCQlpbnRlbF9kdW1w X3BpcGVfY29uZmlnKG5ld19jcnRjX3N0YXRlLCBzdGF0ZSwKLQkJCQkgICAgICAgbmVlZHNfbW9k ZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpID8KKwkJCQkgICAgICAgbmVlZHNfbW9kZXNldChu ZXdfY3J0Y19zdGF0ZSkgPwogCQkJCSAgICAgICAiW21vZGVzZXRdIiA6ICJbZmFzdHNldF0iKTsK IAl9CiAKQEAgLTEzNTc5LDcgKzEzNTc5LDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfdXBkYXRlX2Ny dGMoc3RydWN0IGRybV9jcnRjICpjcnRjLAogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln ID0gdG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7Ci0JYm9vbCBtb2Rlc2V0ID0g bmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7CisJYm9vbCBtb2Rlc2V0ID0gbmVlZHNfbW9k ZXNldChwaXBlX2NvbmZpZyk7CiAJc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpuZXdfcGxhbmVf c3RhdGUgPQogCQlpbnRlbF9hdG9taWNfZ2V0X25ld19wbGFuZV9zdGF0ZSh0b19pbnRlbF9hdG9t aWNfc3RhdGUoc3RhdGUpLAogCQkJCQkJIHRvX2ludGVsX3BsYW5lKGNydGMtPnByaW1hcnkpKTsK QEAgLTEzNzg4LDE1ICsxMzc4OCwxNSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0 X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQluZXdfaW50ZWxfY3J0Y19z dGF0ZSA9IHRvX2ludGVsX2NydGNfc3RhdGUobmV3X2NydGNfc3RhdGUpOwogCQlpbnRlbF9jcnRj ID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKIAotCQlpZiAobmVlZHNfbW9kZXNldChuZXdfY3J0Y19z dGF0ZSkgfHwKLQkJICAgIHRvX2ludGVsX2NydGNfc3RhdGUobmV3X2NydGNfc3RhdGUpLT51cGRh dGVfcGlwZSkgeworCQlpZiAobmVlZHNfbW9kZXNldChuZXdfaW50ZWxfY3J0Y19zdGF0ZSkgfHwK KwkJICAgIG5ld19pbnRlbF9jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkgewogCiAJCQlwdXRfZG9t YWluc1tpbnRlbF9jcnRjLT5waXBlXSA9CiAJCQkJbW9kZXNldF9nZXRfY3J0Y19wb3dlcl9kb21h aW5zKGNydGMsCiAJCQkJCW5ld19pbnRlbF9jcnRjX3N0YXRlKTsKIAkJfQogCi0JCWlmICghbmVl ZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSkpCisJCWlmICghbmVlZHNfbW9kZXNldChuZXdfaW50 ZWxfY3J0Y19zdGF0ZSkpCiAJCQljb250aW51ZTsKIAogCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRl KG9sZF9pbnRlbF9jcnRjX3N0YXRlLCBuZXdfaW50ZWxfY3J0Y19zdGF0ZSk7CkBAIC0xMzg1NSw3 ICsxMzg1NSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRfdGFpbChzdHJ1Y3Qg ZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAkvKiBDb21wbGV0ZSB0aGUgZXZlbnRzIGZvciBw aXBlcyB0aGF0IGhhdmUgbm93IGJlZW4gZGlzYWJsZWQgKi8KIAlmb3JfZWFjaF9uZXdfY3J0Y19p bl9zdGF0ZShzdGF0ZSwgY3J0YywgbmV3X2NydGNfc3RhdGUsIGkpIHsKLQkJYm9vbCBtb2Rlc2V0 ID0gbmVlZHNfbW9kZXNldChuZXdfY3J0Y19zdGF0ZSk7CisJCWJvb2wgbW9kZXNldCA9IG5lZWRz X21vZGVzZXQodG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSkpOwogCiAJCS8qIENv bXBsZXRlIGV2ZW50cyBmb3Igbm93IGRpc2FibGUgcGlwZXMgaGVyZS4gKi8KIAkJaWYgKG1vZGVz ZXQgJiYgIW5ld19jcnRjX3N0YXRlLT5hY3RpdmUgJiYgbmV3X2NydGNfc3RhdGUtPmV2ZW50KSB7 CkBAIC0xMzg5MSw3ICsxMzg5MSw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0b21pY19jb21taXRf dGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJCW5ld19pbnRlbF9jcnRjX3N0 YXRlID0gdG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAkJaWYgKG5ld19j cnRjX3N0YXRlLT5hY3RpdmUgJiYKLQkJICAgICFuZWVkc19tb2Rlc2V0KG5ld19jcnRjX3N0YXRl KSAmJgorCQkgICAgIW5lZWRzX21vZGVzZXQodG9faW50ZWxfY3J0Y19zdGF0ZShuZXdfY3J0Y19z dGF0ZSkpICYmCiAJCSAgICAobmV3X2ludGVsX2NydGNfc3RhdGUtPmJhc2UuY29sb3JfbWdtdF9j aGFuZ2VkIHx8CiAJCSAgICAgbmV3X2ludGVsX2NydGNfc3RhdGUtPnVwZGF0ZV9waXBlKSkKIAkJ CWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfaW50ZWxfY3J0Y19zdGF0ZSk7CkBAIC0xNDIzOCw5 ICsxNDIzOCw5IEBAIGludGVsX3ByZXBhcmVfcGxhbmVfZmIoc3RydWN0IGRybV9wbGFuZSAqcGxh bmUsCiAJaW50IHJldDsKIAogCWlmIChvbGRfb2JqKSB7Ci0JCXN0cnVjdCBkcm1fY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSA9Ci0JCQlkcm1fYXRvbWljX2dldF9uZXdfY3J0Y19zdGF0ZShuZXdfc3Rh dGUtPnN0YXRlLAotCQkJCQkJICAgICAgcGxhbmUtPnN0YXRlLT5jcnRjKTsKKwkJc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUgPQorCQkJaW50ZWxfYXRvbWljX2dldF9uZXdfY3J0 Y19zdGF0ZShpbnRlbF9zdGF0ZSwKKwkJCQkJCQl0b19pbnRlbF9jcnRjKHBsYW5lLT5zdGF0ZS0+ Y3J0YykpOwogCiAJCS8qIEJpZyBIYW1tZXIsIHdlIGFsc28gbmVlZCB0byBlbnN1cmUgdGhhdCBh bnkgcGVuZGluZwogCQkgKiBNSV9XQUlUX0ZPUl9FVkVOVCBpbnNpZGUgYSB1c2VyIGJhdGNoIGJ1 ZmZlciBvbiB0aGUKQEAgLTE0NDAxLDcgKzE0NDAxLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVn aW5fY3J0Y19jb21taXQoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCWludGVs X2F0b21pY19nZXRfb2xkX2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOwogCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpuZXdfY3J0Y19zdGF0ZSA9CiAJCWludGVsX2F0b21pY19nZXRfbmV3X2NydGNf c3RhdGUoc3RhdGUsIGNydGMpOwotCWJvb2wgbW9kZXNldCA9IG5lZWRzX21vZGVzZXQoJm5ld19j cnRjX3N0YXRlLT5iYXNlKTsKKwlib29sIG1vZGVzZXQgPSBuZWVkc19tb2Rlc2V0KG5ld19jcnRj X3N0YXRlKTsKIAogCS8qIFBlcmZvcm0gdmJsYW5rIGV2YXNpb24gYXJvdW5kIGNvbW1pdCBvcGVy YXRpb24gKi8KIAlpbnRlbF9waXBlX3VwZGF0ZV9zdGFydChuZXdfY3J0Y19zdGF0ZSk7CkBAIC0x NDQ1NCw3ICsxNDQ1NCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChz dHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSwKIAlpbnRlbF9waXBlX3VwZGF0ZV9lbmQo bmV3X2NydGNfc3RhdGUpOwogCiAJaWYgKG5ld19jcnRjX3N0YXRlLT51cGRhdGVfcGlwZSAmJgot CSAgICAhbmVlZHNfbW9kZXNldCgmbmV3X2NydGNfc3RhdGUtPmJhc2UpICYmCisJICAgICFuZWVk c19tb2Rlc2V0KG5ld19jcnRjX3N0YXRlKSAmJgogCSAgICBvbGRfY3J0Y19zdGF0ZS0+YmFzZS5t b2RlLnByaXZhdGVfZmxhZ3MgJiBJOTE1X01PREVfRkxBR19JTkhFUklURUQpCiAJCWludGVsX2Ny dGNfYXJtX2ZpZm9fdW5kZXJydW4oY3J0YywgbmV3X2NydGNfc3RhdGUpOwogfQpAQCAtMTQ1Njgs NyArMTQ1NjgsNyBAQCBpbnRlbF9sZWdhY3lfY3Vyc29yX3VwZGF0ZShzdHJ1Y3QgZHJtX3BsYW5l ICpwbGFuZSwKIAkgKiBXaGVuIGNydGMgaXMgaW5hY3RpdmUgb3IgdGhlcmUgaXMgYSBtb2Rlc2V0 IHBlbmRpbmcsCiAJICogd2FpdCBmb3IgaXQgdG8gY29tcGxldGUgaW4gdGhlIHNsb3dwYXRoCiAJ ICovCi0JaWYgKCFjcnRjX3N0YXRlLT5iYXNlLmFjdGl2ZSB8fCBuZWVkc19tb2Rlc2V0KCZjcnRj X3N0YXRlLT5iYXNlKSB8fAorCWlmICghY3J0Y19zdGF0ZS0+YmFzZS5hY3RpdmUgfHwgbmVlZHNf bW9kZXNldChjcnRjX3N0YXRlKSB8fAogCSAgICBjcnRjX3N0YXRlLT51cGRhdGVfcGlwZSkKIAkJ Z290byBzbG93OwogCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZy ZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3Rp bmZvL2ludGVsLWdmeA==