From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH 02/15] drm/i915: Pass atomic state to crtc enable/disable functions Date: Tue, 9 Aug 2016 17:04:01 +0200 Message-ID: <1470755054-32699-3-git-send-email-maarten.lankhorst@linux.intel.com> References: <1470755054-32699-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 E065B6E251 for ; Tue, 9 Aug 2016 15:04:18 +0000 (UTC) In-Reply-To: <1470755054-32699-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 VGhpcyBpcyByZXF1aXJlZCBmb3Igc3VwcG9ydGluZyBub25ibG9ja2luZyBtb2Rlc2V0cy4gSXRl cmF0aW5nIG92ZXIKdGhlIGNvbm5lY3RvciBsaXN0IHdpbGwgbm8gbG9uZ2VyIGJlIGFsbG93ZWQg d2hlbiB3ZSBkb24ndCBob2xkCmNvbm5lY3Rpb25fbXV0ZXgsIHNvIHdlIGhhdmUgdG8gdXNlIHRo ZSBhdG9taWMgc3RhdGUuCgpGaXggZGlzYWJsZV9ub2F0b21pYyBieSBwb3B1bGF0aW5nIHRoZSBt aW5pbWFsIHN0YXRlIHJlcXVpcmVkIHRvCmRpc2FibGUgYSBjb25uZWN0b3IuCgpTaWduZWQtb2Zm LWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgICB8ICA2ICsrLS0KIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyB8IDU2ICsrKysrKysrKysrKysrKysr KysrKysrKy0tLS0tLS0tLS0tLQogMiBmaWxlcyBjaGFuZ2VkLCA0MiBpbnNlcnRpb25zKCspLCAy MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBjMzZkMTc2NTllYmUu LjYwMzBkMGVkY2Y4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC02MjgsOCArNjI4LDEw IEBAIHN0cnVjdCBkcm1faTkxNV9kaXNwbGF5X2Z1bmNzIHsKIAkJCQkJIHN0cnVjdCBpbnRlbF9p bml0aWFsX3BsYW5lX2NvbmZpZyAqKTsKIAlpbnQgKCpjcnRjX2NvbXB1dGVfY2xvY2spKHN0cnVj dCBpbnRlbF9jcnRjICpjcnRjLAogCQkJCSAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNf c3RhdGUpOwotCXZvaWQgKCpjcnRjX2VuYWJsZSkoc3RydWN0IGRybV9jcnRjICpjcnRjKTsKLQl2 b2lkICgqY3J0Y19kaXNhYmxlKShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpOworCXZvaWQgKCpjcnRj X2VuYWJsZSkoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJICAgIHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpOworCXZvaWQgKCpjcnRjX2Rpc2FibGUp KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCSAgICAgc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKm9sZF9zdGF0ZSk7CiAJdm9pZCAoKmF1ZGlvX2NvZGVjX2VuYWJs ZSkoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAkJCQkgICBzdHJ1Y3QgaW50ZWxf ZW5jb2RlciAqZW5jb2RlciwKIAkJCQkgICBjb25zdCBzdHJ1Y3QgZHJtX2Rpc3BsYXlfbW9kZSAq YWRqdXN0ZWRfbW9kZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k aXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggOWNi ZjU0MzFjMWUzLi5hZTU1NWI0MjQwYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5 LmMKQEAgLTQ2OTQsMTUgKzQ2OTQsMTUgQEAgc3RhdGljIHZvaWQgaW50ZWxfY3J0Y19kaXNhYmxl X3BsYW5lcyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMsIHVuc2lnbmVkIHBsYW5lX21hc2sKIAlpbnRl bF9mcm9udGJ1ZmZlcl9mbGlwKHRvX2k5MTUoZGV2KSwgSU5URUxfRlJPTlRCVUZGRVJfQUxMX01B U0socGlwZSkpOwogfQogCi1zdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRjX2VuYWJsZShzdHJ1Y3Qg aW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCisJCQkJIHN0cnVjdCBkcm1fYXRvbWljX3N0 YXRlICpvbGRfc3RhdGUpCiB7CisJc3RydWN0IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWct PmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50 ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVs X2VuY29kZXIgKmVuY29kZXI7CiAJaW50IHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwotCXN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9Ci0JCXRvX2ludGVsX2NydGNfc3RhdGUo Y3J0Yy0+c3RhdGUpOwogCiAJaWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+YWN0aXZlKSkKIAkJcmV0 dXJuOwpAQCAtNDc5MSwxNiArNDc5MSwxNiBAQCBzdGF0aWMgYm9vbCBoc3dfY3J0Y19zdXBwb3J0 c19pcHMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJcmV0dXJuIEhBU19JUFMoY3J0Yy0+YmFz ZS5kZXYpICYmIGNydGMtPnBpcGUgPT0gUElQRV9BOwogfQogCi1zdGF0aWMgdm9pZCBoYXN3ZWxs X2NydGNfZW5hYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lkIGhhc3dlbGxf Y3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAorCQkJCXN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CisJc3RydWN0IGRybV9jcnRjICpj cnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g Y3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUo ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3J0 Yyk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7CiAJaW50IHBpcGUgPSBpbnRlbF9j cnRjLT5waXBlLCBoc3dfd29ya2Fyb3VuZF9waXBlOwogCWVudW0gdHJhbnNjb2RlciBjcHVfdHJh bnNjb2RlciA9IGludGVsX2NydGMtPmNvbmZpZy0+Y3B1X3RyYW5zY29kZXI7Ci0Jc3RydWN0IGlu dGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KLQkJdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRj LT5zdGF0ZSk7CiAKIAlpZiAoV0FSTl9PTihpbnRlbF9jcnRjLT5hY3RpdmUpKQogCQlyZXR1cm47 CkBAIC00OTMwLDggKzQ5MzAsMTAgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfcGZpdF9kaXNhYmxl KHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLCBib29sIGZvcmNlKQogCX0KIH0KIAotc3RhdGljIHZv aWQgaXJvbmxha2VfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3N0YXRpYyB2 b2lkIGlyb25sYWtlX2NydGNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqb2xkX2Ny dGNfc3RhdGUsCisJCQkJICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogewor CXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9IG9sZF9jcnRjX3N0YXRlLT5iYXNlLmNydGM7CiAJc3Ry dWN0IGRybV9kZXZpY2UgKmRldiA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2Ny dGMgPSB0b19pbnRlbF9jcnRjKGNydGMpOwpAQCAtNDk5Myw4ICs0OTk1LDEwIEBAIHN0YXRpYyB2 b2lkIGlyb25sYWtlX2NydGNfZGlzYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJaW50ZWxf c2V0X3BjaF9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiB9 CiAKLXN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0 YykKK3N0YXRpYyB2b2lkIGhhc3dlbGxfY3J0Y19kaXNhYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCQkgc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKm9sZF9z dGF0ZSkKIHsKKwlzdHJ1Y3QgZHJtX2NydGMgKmNydGMgPSBvbGRfY3J0Y19zdGF0ZS0+YmFzZS5j cnRjOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBjcnRjLT5kZXY7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBpbnRlbF9jcnRj ICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKQEAgLTYwOTgsMTQgKzYxMDIsMTQg QEAgc3RhdGljIHZvaWQgdmFsbGV5dmlld19tb2Rlc2V0X2NvbW1pdF9jZGNsayhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogCWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9w cml2LCBQT1dFUl9ET01BSU5fUElQRV9BKTsKIH0KIAotc3RhdGljIHZvaWQgdmFsbGV5dmlld19j cnRjX2VuYWJsZShzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCitzdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKKwkJCQkg ICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqb2xkX3N0YXRlKQogeworCXN0cnVjdCBkcm1fY3J0 YyAqY3J0YyA9IHBpcGVfY29uZmlnLT5iYXNlLmNydGM7CiAJc3RydWN0IGRybV9kZXZpY2UgKmRl diA9IGNydGMtPmRldjsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KGRldik7CiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRj KGNydGMpOwogCXN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyOwotCXN0cnVjdCBpbnRlbF9j cnRjX3N0YXRlICpwaXBlX2NvbmZpZyA9Ci0JCXRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+c3Rh dGUpOwogCWludCBwaXBlID0gaW50ZWxfY3J0Yy0+cGlwZTsKIAogCWlmIChXQVJOX09OKGludGVs X2NydGMtPmFjdGl2ZSkpCkBAIC02MTY5LDE0ICs2MTczLDE0IEBAIHN0YXRpYyB2b2lkIGk5eHhf c2V0X3BsbF9kaXZpZGVycyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlJOTE1X1dSSVRFKEZQ MShjcnRjLT5waXBlKSwgY3J0Yy0+Y29uZmlnLT5kcGxsX2h3X3N0YXRlLmZwMSk7CiB9CiAKLXN0 YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpjcnRjKQorc3RhdGlj IHZvaWQgaTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25m aWcsCisJCQkgICAgIHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CisJc3Ry dWN0IGRybV9jcnRjICpjcnRjID0gcGlwZV9jb25maWctPmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJt X2RldmljZSAqZGV2ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRv X2ludGVsX2NydGMoY3J0Yyk7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXI7Ci0Jc3Ry dWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnID0KLQkJdG9faW50ZWxfY3J0Y19zdGF0 ZShjcnRjLT5zdGF0ZSk7CiAJZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwogCiAJ aWYgKFdBUk5fT04oaW50ZWxfY3J0Yy0+YWN0aXZlKSkKQEAgLTYyMzIsOCArNjIzNiwxMCBAQCBz dGF0aWMgdm9pZCBpOXh4X3BmaXRfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlJ OTE1X1dSSVRFKFBGSVRfQ09OVFJPTCwgMCk7CiB9CiAKLXN0YXRpYyB2b2lkIGk5eHhfY3J0Y19k aXNhYmxlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YykKK3N0YXRpYyB2b2lkIGk5eHhfY3J0Y19kaXNh YmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfY3J0Y19zdGF0ZSwKKwkJCSAgICAgIHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpvbGRfc3RhdGUpCiB7CisJc3RydWN0IGRybV9jcnRjICpj cnRjID0gb2xkX2NydGNfc3RhdGUtPmJhc2UuY3J0YzsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 ID0gY3J0Yy0+ZGV2OwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Yyk7CkBAIC02Mjg1LDYgKzYyOTEsOSBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jcnRjX2Rpc2Fi bGVfbm9hdG9taWMoc3RydWN0IGRybV9jcnRjICpjcnRjKQogCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKIAllbnVtIGludGVsX2Rpc3BsYXlf cG93ZXJfZG9tYWluIGRvbWFpbjsKIAl1bnNpZ25lZCBsb25nIGRvbWFpbnM7CisJc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlOworCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0 YXRlOworCWludCByZXQ7CiAKIAlpZiAoIWludGVsX2NydGMtPmFjdGl2ZSkKIAkJcmV0dXJuOwpA QCAtNjI5OCw3ICs2MzA3LDE4IEBAIHN0YXRpYyB2b2lkIGludGVsX2NydGNfZGlzYWJsZV9ub2F0 b21pYyhzdHJ1Y3QgZHJtX2NydGMgKmNydGMpCiAJCXRvX2ludGVsX3BsYW5lX3N0YXRlKGNydGMt PnByaW1hcnktPnN0YXRlKS0+dmlzaWJsZSA9IGZhbHNlOwogCX0KIAotCWRldl9wcml2LT5kaXNw bGF5LmNydGNfZGlzYWJsZShjcnRjKTsKKwlzdGF0ZSA9IGRybV9hdG9taWNfc3RhdGVfYWxsb2Mo Y3J0Yy0+ZGV2KTsKKwlzdGF0ZS0+YWNxdWlyZV9jdHggPSBjcnRjLT5kZXYtPm1vZGVfY29uZmln LmFjcXVpcmVfY3R4OworCisJLyogRXZlcnl0aGluZydzIGFscmVhZHkgbG9ja2VkLCAtRURFQURM SyBjYW4ndCBoYXBwZW4uICovCisJY3J0Y19zdGF0ZSA9IGludGVsX2F0b21pY19nZXRfY3J0Y19z dGF0ZShzdGF0ZSwgaW50ZWxfY3J0Yyk7CisJcmV0ID0gZHJtX2F0b21pY19hZGRfYWZmZWN0ZWRf Y29ubmVjdG9ycyhzdGF0ZSwgY3J0Yyk7CisKKwlXQVJOX09OKElTX0VSUihjcnRjX3N0YXRlKSB8 fCByZXQpOworCisJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19kaXNhYmxlKGNydGNfc3RhdGUsIHN0 YXRlKTsKKworCWRybV9hdG9taWNfc3RhdGVfZnJlZShzdGF0ZSk7CiAKIAlEUk1fREVCVUdfS01T KCJbQ1JUQzolZDolc10gaHcgc3RhdGUgYWRqdXN0ZWQsIHdhcyBlbmFibGVkLCBub3cgZGlzYWJs ZWRcbiIsCiAJCSAgICAgIGNydGMtPmJhc2UuaWQsIGNydGMtPm5hbWUpOwpAQCAtMTM2NjksNyAr MTM2ODksNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChvbGRfY3J0Y19zdGF0ZS0+YWN0aXZlKSB7 CiAJCQlpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKGNydGMsIG9sZF9jcnRjX3N0YXRlLT5wbGFu ZV9tYXNrKTsKLQkJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZShjcnRjKTsKKwkJCWRl dl9wcml2LT5kaXNwbGF5LmNydGNfZGlzYWJsZSh0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRj X3N0YXRlKSwgc3RhdGUpOwogCQkJaW50ZWxfY3J0Yy0+YWN0aXZlID0gZmFsc2U7CiAJCQlpbnRl bF9mYmNfZGlzYWJsZShpbnRlbF9jcnRjKTsKIAkJCWludGVsX2Rpc2FibGVfc2hhcmVkX2RwbGwo aW50ZWxfY3J0Yyk7CkBAIC0xMzcxMCw3ICsxMzczMCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX2F0 b21pY19jb21taXRfdGFpbChzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAKIAkJaWYg KG1vZGVzZXQgJiYgY3J0Yy0+c3RhdGUtPmFjdGl2ZSkgewogCQkJdXBkYXRlX3NjYW5saW5lX29m ZnNldCh0b19pbnRlbF9jcnRjKGNydGMpKTsKLQkJCWRldl9wcml2LT5kaXNwbGF5LmNydGNfZW5h YmxlKGNydGMpOworCQkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19lbmFibGUocGlwZV9jb25maWcs IHN0YXRlKTsKIAkJfQogCiAJCS8qIENvbXBsZXRlIGV2ZW50cyBmb3Igbm93IGRpc2FibGUgcGlw ZXMgaGVyZS4gKi8KLS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5m by9pbnRlbC1nZngK