From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 09/10] drm/i915: s/pipe_config/new_crtc_state/ in .crtc_enable() Date: Tue, 12 Nov 2019 16:15:02 +0200 Message-ID: <20191112141503.1116-10-ville.syrjala@linux.intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id A72256EAD0 for ; Tue, 12 Nov 2019 14:15:33 +0000 (UTC) In-Reply-To: <20191112141503.1116-1-ville.syrjala@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 RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bmFtZSBwaXBlX2NvbmZpZyB0byBuZXdfY3J0Y19zdGF0ZSBpbiB0aGUgLmNydGNfZW5hYmxlKCkg aG9va3MuClRoZSAncGlwZV9jb25maWcnIG5hbWUgaXMgYSB6b21iaWUgdGhhdCB3ZSBuZWVkIHRv IGZpbmFsbHkgcHV0IGRvd24uCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jIHwgMTc1ICsrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA4NiBpbnNlcnRpb25zKCspLCA4OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IGIwOTFiOTJhNjc3Yy4uMTE5NTNm ZTA2NDg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YwpAQCAtNjQ2MCwxMCArNjQ2MCwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3ByaW1h cnlfcGxhbmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdAogCXBsYW5l LT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgaXJv bmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAor c3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km5ld19jcnRjX3N0YXRlLAogCQkJCSBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkK IHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWct PnVhcGkuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5l d19jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKIApAQCAtNjQ4Myw1NSArNjQ4Myw1NCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRj X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJaW50ZWxfc2V0 X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgZmFsc2UpOwogCWlu dGVsX3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNl KTsKIAotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQotCQlpbnRlbF9wcmVwYXJl X3NoYXJlZF9kcGxsKHBpcGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hf ZW5jb2RlcikKKwkJaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbChuZXdfY3J0Y19zdGF0ZSk7CiAK LQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihwaXBlX2NvbmZpZykpCi0JCWludGVsX2Rw X3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5j b2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2RwX3NldF9tX24obmV3X2NydGNfc3RhdGUs IE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWluZ3MocGlwZV9jb25maWcpOwotCWludGVs X3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9zZXRfcGlwZV90aW1pbmdz KG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlwZV9zcmNfc2l6ZShuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikgewotCQlpbnRlbF9jcHVf dHJhbnNjb2Rlcl9zZXRfbV9uKHBpcGVfY29uZmlnLAotCQkJCQkgICAgICZwaXBlX2NvbmZpZy0+ ZmRpX21fbiwgTlVMTCk7Ci0JfQorCWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVy KQorCQlpbnRlbF9jcHVfdHJhbnNjb2Rlcl9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLAorCQkJCQkg ICAgICZuZXdfY3J0Y19zdGF0ZS0+ZmRpX21fbiwgTlVMTCk7CiAKLQlpcm9ubGFrZV9zZXRfcGlw ZWNvbmYocGlwZV9jb25maWcpOworCWlyb25sYWtlX3NldF9waXBlY29uZihuZXdfY3J0Y19zdGF0 ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJs ZShzdGF0ZSwgY3J0Yyk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2Rlcikgewor CWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKSB7CiAJCS8qIE5vdGU6IEZESSBQ TEwgZW5hYmxpbmcgX211c3RfIGJlIGRvbmUgYmVmb3JlIHdlIGVuYWJsZSB0aGUKIAkJICogY3B1 IHBpcGVzLCBoZW5jZSB0aGlzIGlzIHNlcGFyYXRlIGZyb20gYWxsIHRoZSBvdGhlciBmZGkvcGNo CiAJCSAqIGVuYWJsaW5nLiAqLwotCQlpcm9ubGFrZV9mZGlfcGxsX2VuYWJsZShwaXBlX2NvbmZp Zyk7CisJCWlyb25sYWtlX2ZkaV9wbGxfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsKIAl9IGVsc2Ug ewogCQlhc3NlcnRfZmRpX3R4X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsKIAkJYXNzZXJ0X2Zk aV9yeF9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CiAJfQogCi0JaXJvbmxha2VfcGZpdF9lbmFi bGUocGlwZV9jb25maWcpOworCWlyb25sYWtlX3BmaXRfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsK IAogCS8qCiAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHRoZSBwaXBlIGlz IHJ1bm5pbmcgYnV0IHdpdGgKIAkgKiBjbG9ja3MgZW5hYmxlZAogCSAqLwotCWludGVsX2NvbG9y X2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0KHBpcGVfY29uZmln KTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOworCWludGVsX2NvbG9y X2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJl IGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwotCWludGVsX2Rpc2FibGVfcHJpbWFyeV9w bGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRj X3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MpCiAJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Ci0JaW50 ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOworCWludGVsX2VuYWJsZV9waXBlKG5ld19jcnRj X3N0YXRlKTsKIAotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQotCQlpcm9ubGFr ZV9wY2hfZW5hYmxlKHN0YXRlLCBwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRjX3N0YXRlLT5o YXNfcGNoX2VuY29kZXIpCisJCWlyb25sYWtlX3BjaF9lbmFibGUoc3RhdGUsIG5ld19jcnRjX3N0 YXRlKTsKIAotCWludGVsX2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRj X3ZibGFua19vbihuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3Rh dGUsIGNydGMpOwogCkBAIC02NTQ0LDcgKzY1NDMsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJICogc29t ZSBpbnRlcmxhY2VkIEhETUkgbW9kZXMuIExldCdzIGRvIHRoZSBkb3VibGUgd2FpdCBhbHdheXMK IAkgKiBpbiBjYXNlIHRoZXJlIGFyZSBtb3JlIGNvcm5lciBjYXNlcyB3ZSBkb24ndCBrbm93IGFi b3V0LgogCSAqLwotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKSB7CisJaWYgKG5l d19jcnRjX3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpIHsKIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5r KGRldl9wcml2LCBwaXBlKTsKIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldl9wcml2LCBwaXBl KTsKIAl9CkBAIC02NTkxLDEzICs2NTkwLDEzIEBAIHN0YXRpYyB2b2lkIGljbF9waXBlX21idXNf ZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCUk5MTVfV1JJVEUoUElQRV9NQlVTX0RC T1hfQ1RMKHBpcGUpLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAog CQkJCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlLCBoc3dfd29ya2Fyb3Vu ZF9waXBlOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IHBpcGVfY29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKKwllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBuZXdfY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJYm9vbCBwc2xfY2xrZ2F0ZV93YTsKIAogCWlmIChX QVJOX09OKGNydGMtPmFjdGl2ZSkpCkBAIC02NjA1LDY3ICs2NjA0LDY1IEBAIHN0YXRpYyB2b2lk IGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX3BsbF9lbmFibGUoc3RhdGUsIGNydGMpOwogCi0JaWYg KHBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCkKLQkJaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHBp cGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPnNoYXJlZF9kcGxsKQorCQlpbnRlbF9l bmFibGVfc2hhcmVkX2RwbGwobmV3X2NydGNfc3RhdGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfcHJl X2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2Rlcihw aXBlX2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlp ZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2Rw X3NldF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAogCWlmICghdHJhbnNjb2Rlcl9pc19k c2koY3B1X3RyYW5zY29kZXIpKQotCQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmln KTsKKwkJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMSkKLQkJaWNsX2VuYWJsZV90cmFuc19wb3J0X3N5bmMocGlw ZV9jb25maWcpOworCQlpY2xfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhuZXdfY3J0Y19zdGF0ZSk7 CiAKLQlpbnRlbF9zZXRfcGlwZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3Bp cGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUpOwogCiAJaWYgKGNwdV90cmFuc2NvZGVyICE9IFRS QU5TQ09ERVJfRURQICYmCi0JICAgICF0cmFuc2NvZGVyX2lzX2RzaShjcHVfdHJhbnNjb2Rlcikp IHsKKwkgICAgIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKIAkJSTkxNV9XUklU RShQSVBFX01VTFQoY3B1X3RyYW5zY29kZXIpLAotCQkJICAgcGlwZV9jb25maWctPnBpeGVsX211 bHRpcGxpZXIgLSAxKTsKLQl9CisJCQkgICBuZXdfY3J0Y19zdGF0ZS0+cGl4ZWxfbXVsdGlwbGll ciAtIDEpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKLQkJaW50ZWxf Y3B1X3RyYW5zY29kZXJfc2V0X21fbihwaXBlX2NvbmZpZywKLQkJCQkJICAgICAmcGlwZV9jb25m aWctPmZkaV9tX24sIE5VTEwpOwotCX0KKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5j b2RlcikKKwkJaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwKKwkJ CQkJICAgICAmbmV3X2NydGNfc3RhdGUtPmZkaV9tX24sIE5VTEwpOwogCiAJaWYgKCF0cmFuc2Nv ZGVyX2lzX2RzaShjcHVfdHJhbnNjb2RlcikpCi0JCWhhc3dlbGxfc2V0X3BpcGVjb25mKHBpcGVf Y29uZmlnKTsKKwkJaGFzd2VsbF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQotCQli ZHdfc2V0X3BpcGVtaXNjKHBpcGVfY29uZmlnKTsKKwkJYmR3X3NldF9waXBlbWlzYyhuZXdfY3J0 Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCiAJLyogRGlzcGxheSBXQSAjMTE4 MDogV2FEaXNhYmxlU2NhbGFyQ2xvY2tHYXRpbmc6IGdsaywgY25sICovCiAJcHNsX2Nsa2dhdGVf d2EgPSAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikp ICYmCi0JCQkgcGlwZV9jb25maWctPnBjaF9wZml0LmVuYWJsZWQ7CisJCW5ld19jcnRjX3N0YXRl LT5wY2hfcGZpdC5lbmFibGVkOwogCWlmIChwc2xfY2xrZ2F0ZV93YSkKIAkJZ2xrX3BpcGVfc2Nh bGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KQotCQlza3lsYWtlX3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsK KwkJc2t5bGFrZV9wZml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAJZWxzZQotCQlpcm9ubGFr ZV9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CisJCWlyb25sYWtlX3BmaXRfZW5hYmxlKG5ld19j cnRjX3N0YXRlKTsKIAogCS8qCiAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3Jl IHRoZSBwaXBlIGlzIHJ1bm5pbmcgYnV0IHdpdGgKIAkgKiBjbG9ja3MgZW5hYmxlZAogCSAqLwot CWludGVsX2NvbG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0 KHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOwor CWludGVsX2NvbG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIg dG8gY29uZmlndXJlIGdhbW1hL2NzYyBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA8IDkpCi0JCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShwaXBl X2NvbmZpZyk7CisJCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19zdGF0ZSk7 CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJaWNsX3NldF9waXBlX2NoaWNr ZW4oY3J0Yyk7CiAKIAlpZiAoIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKLQkJ aW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMocGlwZV9jb25maWcpOworCQlpbnRlbF9k ZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoZGV2X3By aXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0 aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwpAQCAtNjY3NSwxNSArNjY3MiwxNSBAQCBzdGF0 aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZywKIAogCS8qIFhYWDogRG8gdGhlIHBpcGUgYXNzZXJ0aW9ucyBhdCB0aGUgcmlnaHQg cGxhY2UgZm9yIEJYVCBEU0kuICovCiAJaWYgKCF0cmFuc2NvZGVyX2lzX2RzaShjcHVfdHJhbnNj b2RlcikpCi0JCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKKwkJaW50ZWxfZW5hYmxl X3BpcGUobmV3X2NydGNfc3RhdGUpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29k ZXIpCi0JCWxwdF9wY2hfZW5hYmxlKHN0YXRlLCBwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRj X3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpCisJCWxwdF9wY2hfZW5hYmxlKHN0YXRlLCBuZXdfY3J0 Y19zdGF0ZSk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShwaXBlX2NvbmZpZywgSU5URUxf T1VUUFVUX0RQX01TVCkpCi0JCWludGVsX2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhwaXBlX2Nv bmZpZywgdHJ1ZSk7CisJaWYgKGludGVsX2NydGNfaGFzX3R5cGUobmV3X2NydGNfc3RhdGUsIElO VEVMX09VVFBVVF9EUF9NU1QpKQorCQlpbnRlbF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MobmV3 X2NydGNfc3RhdGUsIHRydWUpOwogCi0JaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcp OworCWludGVsX2NydGNfdmJsYW5rX29uKG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29k ZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKQEAgLTY2OTQsNyArNjY5MSw3IEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAogCiAJLyogSWYgd2UgY2hhbmdlIHRoZSByZWxhdGl2ZSBvcmRlciBiZXR3ZWVuIHBpcGUv cGxhbmVzIGVuYWJsaW5nLCB3ZSBuZWVkCiAJICogdG8gY2hhbmdlIHRoZSB3b3JrYXJvdW5kLiAq LwotCWhzd193b3JrYXJvdW5kX3BpcGUgPSBwaXBlX2NvbmZpZy0+aHN3X3dvcmthcm91bmRfcGlw ZTsKKwloc3dfd29ya2Fyb3VuZF9waXBlID0gbmV3X2NydGNfc3RhdGUtPmhzd193b3JrYXJvdW5k X3BpcGU7CiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIGhzd193b3JrYXJvdW5kX3BpcGUg IT0gSU5WQUxJRF9QSVBFKSB7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgaHN3 X3dvcmthcm91bmRfcGlwZSk7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgaHN3 X3dvcmthcm91bmRfcGlwZSk7CkBAIC03MDA3LDI4ICs3MDA0LDI4IEBAIHN0YXRpYyB2b2lkIG1v ZGVzZXRfcHV0X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF91bmNoZWNrZWQoZGV2X3ByaXYsIGRvbWFpbik7 CiB9CiAKLXN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAorc3RhdGljIHZvaWQgdmFsbGV5dmlld19jcnRjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUsCiAJCQkJICAgc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2 KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKIAlpZiAoV0FSTl9PTihjcnRjLT5h Y3RpdmUpKQogCQlyZXR1cm47CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihwaXBl X2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlpZiAo aW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2RwX3Nl dF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWluZ3Mo cGlwZV9jb25maWcpOwotCWludGVsX3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsKKwlp bnRlbF9zZXRfcGlwZV90aW1pbmdzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlwZV9z cmNfc2l6ZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikg JiYgcGlwZSA9PSBQSVBFX0IpIHsKIAkJSTkxNV9XUklURShDSFZfQkxFTkQocGlwZSksIENIVl9C TEVORF9MRUdBQ1kpOwogCQlJOTE1X1dSSVRFKENIVl9DQU5WQVMocGlwZSksIDApOwogCX0KIAot CWk5eHhfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwlpOXh4X3NldF9waXBlY29uZihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCkBAIC03MDM3LDI2ICs3MDM0 LDI2IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWludGVsX2VuY29kZXJzX3ByZV9wbGxfZW5hYmxlKHN0 YXRlLCBjcnRjKTsKIAogCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewotCQljaHZfcHJl cGFyZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOwotCQljaHZfZW5hYmxlX3BsbChjcnRjLCBwaXBl X2NvbmZpZyk7CisJCWNodl9wcmVwYXJlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CisJCWNo dl9lbmFibGVfcGxsKGNydGMsIG5ld19jcnRjX3N0YXRlKTsKIAl9IGVsc2UgewotCQl2bHZfcHJl cGFyZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOwotCQl2bHZfZW5hYmxlX3BsbChjcnRjLCBwaXBl X2NvbmZpZyk7CisJCXZsdl9wcmVwYXJlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CisJCXZs dl9lbmFibGVfcGxsKGNydGMsIG5ld19jcnRjX3N0YXRlKTsKIAl9CiAKIAlpbnRlbF9lbmNvZGVy c19wcmVfZW5hYmxlKHN0YXRlLCBjcnRjKTsKIAotCWk5eHhfcGZpdF9lbmFibGUocGlwZV9jb25m aWcpOworCWk5eHhfcGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUpOwogCi0JaW50ZWxfY29sb3Jf bG9hZF9sdXRzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9jb2xvcl9jb21taXQocGlwZV9jb25maWcp OworCWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfY29sb3Jf Y29tbWl0KG5ld19jcnRjX3N0YXRlKTsKIAkvKiB1cGRhdGUgRFNQQ05UUiB0byBjb25maWd1cmUg Z2FtbWEgZm9yIHBpcGUgYm90dG9tIGNvbG9yICovCi0JaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3Bs YW5lKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUobmV3X2NydGNf c3RhdGUpOwogCiAJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLCBj cnRjKTsKLQlpbnRlbF9lbmFibGVfcGlwZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZW5hYmxlX3Bp cGUobmV3X2NydGNfc3RhdGUpOwogCi0JaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcp OworCWludGVsX2NydGNfdmJsYW5rX29uKG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29k ZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiB9CkBAIC03MDcwLDI1ICs3MDY3LDI1IEBAIHN0YXRp YyB2b2lkIGk5eHhfc2V0X3BsbF9kaXZpZGVycyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIAlJOTE1X1dSSVRFKEZQMShjcnRjLT5waXBlKSwgY3J0Y19zdGF0ZS0+ ZHBsbF9od19zdGF0ZS5mcDEpOwogfQogCi1zdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGk5eHhfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAogCQkJICAg ICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCWlmIChXQVJOX09O KGNydGMtPmFjdGl2ZSkpCiAJCXJldHVybjsKIAotCWk5eHhfc2V0X3BsbF9kaXZpZGVycyhwaXBl X2NvbmZpZyk7CisJaTl4eF9zZXRfcGxsX2RpdmlkZXJzKG5ld19jcnRjX3N0YXRlKTsKIAotCWlm IChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVyKHBpcGVfY29uZmlnKSkKLQkJaW50ZWxfZHBfc2V0 X21fbihwaXBlX2NvbmZpZywgTTFfTjEpOworCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVy KG5ld19jcnRjX3N0YXRlKSkKKwkJaW50ZWxfZHBfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwgTTFf TjEpOwogCi0JaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfc2V0 X3BpcGVfc3JjX3NpemUocGlwZV9jb25maWcpOworCWludGVsX3NldF9waXBlX3RpbWluZ3MobmV3 X2NydGNfc3RhdGUpOworCWludGVsX3NldF9waXBlX3NyY19zaXplKG5ld19jcnRjX3N0YXRlKTsK IAotCWk5eHhfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwlpOXh4X3NldF9waXBlY29uZihu ZXdfY3J0Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCkBAIC03MDk3LDIyICs3 MDk0LDIyIEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShzdGF0ZSwg Y3J0Yyk7CiAKLQlpOXh4X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCWk5eHhfZW5h YmxlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpOXh4X3BmaXRfZW5hYmxlKHBpcGVf Y29uZmlnKTsKKwlpOXh4X3BmaXRfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVsX2Nv bG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0KHBpcGVfY29u ZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOworCWludGVsX2Nv bG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmln dXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwotCWludGVsX2Rpc2FibGVfcHJpbWFy eV9wbGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19j cnRjX3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mp CiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7CiAJ ZWxzZQogCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKLQlpbnRlbF9lbmFibGVfcGlw ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZW5hYmxlX3BpcGUobmV3X2NydGNfc3RhdGUpOwogCi0J aW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcpOworCWludGVsX2NydGNfdmJsYW5rX29u KG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29kZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7 CiB9Ci0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeA== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-9.7 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94259C43331 for ; Tue, 12 Nov 2019 14:15:35 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 73F8B2196E for ; Tue, 12 Nov 2019 14:15:35 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 73F8B2196E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 1D7D36EAD0; Tue, 12 Nov 2019 14:15:35 +0000 (UTC) Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTPS id A72256EAD0 for ; Tue, 12 Nov 2019 14:15:33 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from fmsmga008.fm.intel.com ([10.253.24.58]) by orsmga102.jf.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 12 Nov 2019 06:15:32 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,296,1569308400"; d="scan'208";a="202427924" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by fmsmga008.fm.intel.com with SMTP; 12 Nov 2019 06:15:30 -0800 Received: by stinkbox (sSMTP sendmail emulation); Tue, 12 Nov 2019 16:15:29 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Tue, 12 Nov 2019 16:15:02 +0200 Message-Id: <20191112141503.1116-10-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191112141503.1116-1-ville.syrjala@linux.intel.com> References: <20191112141503.1116-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 09/10] drm/i915: s/pipe_config/new_crtc_state/ in .crtc_enable() X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Message-ID: <20191112141502.SpXBr1OkjvI-g3GLbDGtwpKqvpassAEzb9G6XW_LvQg@z> RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bmFtZSBwaXBlX2NvbmZpZyB0byBuZXdfY3J0Y19zdGF0ZSBpbiB0aGUgLmNydGNfZW5hYmxlKCkg aG9va3MuClRoZSAncGlwZV9jb25maWcnIG5hbWUgaXMgYSB6b21iaWUgdGhhdCB3ZSBuZWVkIHRv IGZpbmFsbHkgcHV0IGRvd24uCgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rsw6QgPHZpbGxl LnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5jIHwgMTc1ICsrKysrKysrKy0tLS0tLS0tLS0KIDEgZmlsZSBjaGFu Z2VkLCA4NiBpbnNlcnRpb25zKCspLCA4OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCmluZGV4IGIwOTFiOTJhNjc3Yy4uMTE5NTNm ZTA2NDg4IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rp c3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXku YwpAQCAtNjQ2MCwxMCArNjQ2MCwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3ByaW1h cnlfcGxhbmUoY29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdAogCXBsYW5l LT5kaXNhYmxlX3BsYW5lKHBsYW5lLCBjcnRjX3N0YXRlKTsKIH0KIAotc3RhdGljIHZvaWQgaXJv bmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAor c3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUg Km5ld19jcnRjX3N0YXRlLAogCQkJCSBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkK IHsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWct PnVhcGkuY3J0Yyk7CisJc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5l d19jcnRjX3N0YXRlLT51YXBpLmNydGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdiA9IHRvX2k5MTUoY3J0Yy0+YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKIApAQCAtNjQ4Myw1NSArNjQ4Myw1NCBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9jcnRj X2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJaW50ZWxfc2V0 X2NwdV9maWZvX3VuZGVycnVuX3JlcG9ydGluZyhkZXZfcHJpdiwgcGlwZSwgZmFsc2UpOwogCWlu dGVsX3NldF9wY2hfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNl KTsKIAotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQotCQlpbnRlbF9wcmVwYXJl X3NoYXJlZF9kcGxsKHBpcGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hf ZW5jb2RlcikKKwkJaW50ZWxfcHJlcGFyZV9zaGFyZWRfZHBsbChuZXdfY3J0Y19zdGF0ZSk7CiAK LQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihwaXBlX2NvbmZpZykpCi0JCWludGVsX2Rw X3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5j b2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2RwX3NldF9tX24obmV3X2NydGNfc3RhdGUs IE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWluZ3MocGlwZV9jb25maWcpOwotCWludGVs X3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9zZXRfcGlwZV90aW1pbmdz KG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlwZV9zcmNfc2l6ZShuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikgewotCQlpbnRlbF9jcHVf dHJhbnNjb2Rlcl9zZXRfbV9uKHBpcGVfY29uZmlnLAotCQkJCQkgICAgICZwaXBlX2NvbmZpZy0+ ZmRpX21fbiwgTlVMTCk7Ci0JfQorCWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVy KQorCQlpbnRlbF9jcHVfdHJhbnNjb2Rlcl9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLAorCQkJCQkg ICAgICZuZXdfY3J0Y19zdGF0ZS0+ZmRpX21fbiwgTlVMTCk7CiAKLQlpcm9ubGFrZV9zZXRfcGlw ZWNvbmYocGlwZV9jb25maWcpOworCWlyb25sYWtlX3NldF9waXBlY29uZihuZXdfY3J0Y19zdGF0 ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJs ZShzdGF0ZSwgY3J0Yyk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2Rlcikgewor CWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKSB7CiAJCS8qIE5vdGU6IEZESSBQ TEwgZW5hYmxpbmcgX211c3RfIGJlIGRvbmUgYmVmb3JlIHdlIGVuYWJsZSB0aGUKIAkJICogY3B1 IHBpcGVzLCBoZW5jZSB0aGlzIGlzIHNlcGFyYXRlIGZyb20gYWxsIHRoZSBvdGhlciBmZGkvcGNo CiAJCSAqIGVuYWJsaW5nLiAqLwotCQlpcm9ubGFrZV9mZGlfcGxsX2VuYWJsZShwaXBlX2NvbmZp Zyk7CisJCWlyb25sYWtlX2ZkaV9wbGxfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsKIAl9IGVsc2Ug ewogCQlhc3NlcnRfZmRpX3R4X2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsKIAkJYXNzZXJ0X2Zk aV9yeF9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CiAJfQogCi0JaXJvbmxha2VfcGZpdF9lbmFi bGUocGlwZV9jb25maWcpOworCWlyb25sYWtlX3BmaXRfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsK IAogCS8qCiAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3JlIHRoZSBwaXBlIGlz IHJ1bm5pbmcgYnV0IHdpdGgKIAkgKiBjbG9ja3MgZW5hYmxlZAogCSAqLwotCWludGVsX2NvbG9y X2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0KHBpcGVfY29uZmln KTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOworCWludGVsX2NvbG9y X2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJl IGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwotCWludGVsX2Rpc2FibGVfcHJpbWFyeV9w bGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRj X3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MpCiAJ CWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Ci0JaW50 ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOworCWludGVsX2VuYWJsZV9waXBlKG5ld19jcnRj X3N0YXRlKTsKIAotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKQotCQlpcm9ubGFr ZV9wY2hfZW5hYmxlKHN0YXRlLCBwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRjX3N0YXRlLT5o YXNfcGNoX2VuY29kZXIpCisJCWlyb25sYWtlX3BjaF9lbmFibGUoc3RhdGUsIG5ld19jcnRjX3N0 YXRlKTsKIAotCWludGVsX2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRj X3ZibGFua19vbihuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3Rh dGUsIGNydGMpOwogCkBAIC02NTQ0LDcgKzY1NDMsNyBAQCBzdGF0aWMgdm9pZCBpcm9ubGFrZV9j cnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9jb25maWcsCiAJICogc29t ZSBpbnRlcmxhY2VkIEhETUkgbW9kZXMuIExldCdzIGRvIHRoZSBkb3VibGUgd2FpdCBhbHdheXMK IAkgKiBpbiBjYXNlIHRoZXJlIGFyZSBtb3JlIGNvcm5lciBjYXNlcyB3ZSBkb24ndCBrbm93IGFi b3V0LgogCSAqLwotCWlmIChwaXBlX2NvbmZpZy0+aGFzX3BjaF9lbmNvZGVyKSB7CisJaWYgKG5l d19jcnRjX3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpIHsKIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5r KGRldl9wcml2LCBwaXBlKTsKIAkJaW50ZWxfd2FpdF9mb3JfdmJsYW5rKGRldl9wcml2LCBwaXBl KTsKIAl9CkBAIC02NTkxLDEzICs2NTkwLDEzIEBAIHN0YXRpYyB2b2lkIGljbF9waXBlX21idXNf ZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjKQogCUk5MTVfV1JJVEUoUElQRV9NQlVTX0RC T1hfQ1RMKHBpcGUpLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAog CQkJCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlLCBoc3dfd29ya2Fyb3Vu ZF9waXBlOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IHBpcGVfY29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKKwllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBuZXdfY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJYm9vbCBwc2xfY2xrZ2F0ZV93YTsKIAogCWlmIChX QVJOX09OKGNydGMtPmFjdGl2ZSkpCkBAIC02NjA1LDY3ICs2NjA0LDY1IEBAIHN0YXRpYyB2b2lk IGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmln LAogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX3BsbF9lbmFibGUoc3RhdGUsIGNydGMpOwogCi0JaWYg KHBpcGVfY29uZmlnLT5zaGFyZWRfZHBsbCkKLQkJaW50ZWxfZW5hYmxlX3NoYXJlZF9kcGxsKHBp cGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPnNoYXJlZF9kcGxsKQorCQlpbnRlbF9l bmFibGVfc2hhcmVkX2RwbGwobmV3X2NydGNfc3RhdGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfcHJl X2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2Rlcihw aXBlX2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlp ZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2Rw X3NldF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAogCWlmICghdHJhbnNjb2Rlcl9pc19k c2koY3B1X3RyYW5zY29kZXIpKQotCQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmln KTsKKwkJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA+PSAxMSkKLQkJaWNsX2VuYWJsZV90cmFuc19wb3J0X3N5bmMocGlw ZV9jb25maWcpOworCQlpY2xfZW5hYmxlX3RyYW5zX3BvcnRfc3luYyhuZXdfY3J0Y19zdGF0ZSk7 CiAKLQlpbnRlbF9zZXRfcGlwZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3Bp cGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUpOwogCiAJaWYgKGNwdV90cmFuc2NvZGVyICE9IFRS QU5TQ09ERVJfRURQICYmCi0JICAgICF0cmFuc2NvZGVyX2lzX2RzaShjcHVfdHJhbnNjb2Rlcikp IHsKKwkgICAgIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKIAkJSTkxNV9XUklU RShQSVBFX01VTFQoY3B1X3RyYW5zY29kZXIpLAotCQkJICAgcGlwZV9jb25maWctPnBpeGVsX211 bHRpcGxpZXIgLSAxKTsKLQl9CisJCQkgICBuZXdfY3J0Y19zdGF0ZS0+cGl4ZWxfbXVsdGlwbGll ciAtIDEpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKLQkJaW50ZWxf Y3B1X3RyYW5zY29kZXJfc2V0X21fbihwaXBlX2NvbmZpZywKLQkJCQkJICAgICAmcGlwZV9jb25m aWctPmZkaV9tX24sIE5VTEwpOwotCX0KKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5j b2RlcikKKwkJaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwKKwkJ CQkJICAgICAmbmV3X2NydGNfc3RhdGUtPmZkaV9tX24sIE5VTEwpOwogCiAJaWYgKCF0cmFuc2Nv ZGVyX2lzX2RzaShjcHVfdHJhbnNjb2RlcikpCi0JCWhhc3dlbGxfc2V0X3BpcGVjb25mKHBpcGVf Y29uZmlnKTsKKwkJaGFzd2VsbF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJaWYg KElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSB8fCBJU19CUk9BRFdFTEwoZGV2X3ByaXYpKQotCQli ZHdfc2V0X3BpcGVtaXNjKHBpcGVfY29uZmlnKTsKKwkJYmR3X3NldF9waXBlbWlzYyhuZXdfY3J0 Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCiAJLyogRGlzcGxheSBXQSAjMTE4 MDogV2FEaXNhYmxlU2NhbGFyQ2xvY2tHYXRpbmc6IGdsaywgY25sICovCiAJcHNsX2Nsa2dhdGVf d2EgPSAoSVNfR0VNSU5JTEFLRShkZXZfcHJpdikgfHwgSVNfQ0FOTk9OTEFLRShkZXZfcHJpdikp ICYmCi0JCQkgcGlwZV9jb25maWctPnBjaF9wZml0LmVuYWJsZWQ7CisJCW5ld19jcnRjX3N0YXRl LT5wY2hfcGZpdC5lbmFibGVkOwogCWlmIChwc2xfY2xrZ2F0ZV93YSkKIAkJZ2xrX3BpcGVfc2Nh bGVyX2Nsb2NrX2dhdGluZ193YShkZXZfcHJpdiwgcGlwZSwgdHJ1ZSk7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSA5KQotCQlza3lsYWtlX3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsK KwkJc2t5bGFrZV9wZml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAJZWxzZQotCQlpcm9ubGFr ZV9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CisJCWlyb25sYWtlX3BmaXRfZW5hYmxlKG5ld19j cnRjX3N0YXRlKTsKIAogCS8qCiAJICogT24gSUxLKyBMVVQgbXVzdCBiZSBsb2FkZWQgYmVmb3Jl IHRoZSBwaXBlIGlzIHJ1bm5pbmcgYnV0IHdpdGgKIAkgKiBjbG9ja3MgZW5hYmxlZAogCSAqLwot CWludGVsX2NvbG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0 KHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOwor CWludGVsX2NvbG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIg dG8gY29uZmlndXJlIGdhbW1hL2NzYyBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KIAlpZiAoSU5U RUxfR0VOKGRldl9wcml2KSA8IDkpCi0JCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShwaXBl X2NvbmZpZyk7CisJCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19zdGF0ZSk7 CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKIAkJaWNsX3NldF9waXBlX2NoaWNr ZW4oY3J0Yyk7CiAKIAlpZiAoIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKLQkJ aW50ZWxfZGRpX2VuYWJsZV90cmFuc2NvZGVyX2Z1bmMocGlwZV9jb25maWcpOworCQlpbnRlbF9k ZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoZGV2X3By aXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0 aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwpAQCAtNjY3NSwxNSArNjY3MiwxNSBAQCBzdGF0 aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBl X2NvbmZpZywKIAogCS8qIFhYWDogRG8gdGhlIHBpcGUgYXNzZXJ0aW9ucyBhdCB0aGUgcmlnaHQg cGxhY2UgZm9yIEJYVCBEU0kuICovCiAJaWYgKCF0cmFuc2NvZGVyX2lzX2RzaShjcHVfdHJhbnNj b2RlcikpCi0JCWludGVsX2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKKwkJaW50ZWxfZW5hYmxl X3BpcGUobmV3X2NydGNfc3RhdGUpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29k ZXIpCi0JCWxwdF9wY2hfZW5hYmxlKHN0YXRlLCBwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRj X3N0YXRlLT5oYXNfcGNoX2VuY29kZXIpCisJCWxwdF9wY2hfZW5hYmxlKHN0YXRlLCBuZXdfY3J0 Y19zdGF0ZSk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfdHlwZShwaXBlX2NvbmZpZywgSU5URUxf T1VUUFVUX0RQX01TVCkpCi0JCWludGVsX2RkaV9zZXRfdmNfcGF5bG9hZF9hbGxvYyhwaXBlX2Nv bmZpZywgdHJ1ZSk7CisJaWYgKGludGVsX2NydGNfaGFzX3R5cGUobmV3X2NydGNfc3RhdGUsIElO VEVMX09VVFBVVF9EUF9NU1QpKQorCQlpbnRlbF9kZGlfc2V0X3ZjX3BheWxvYWRfYWxsb2MobmV3 X2NydGNfc3RhdGUsIHRydWUpOwogCi0JaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcp OworCWludGVsX2NydGNfdmJsYW5rX29uKG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29k ZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKQEAgLTY2OTQsNyArNjY5MSw3IEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAogCiAJLyogSWYgd2UgY2hhbmdlIHRoZSByZWxhdGl2ZSBvcmRlciBiZXR3ZWVuIHBpcGUv cGxhbmVzIGVuYWJsaW5nLCB3ZSBuZWVkCiAJICogdG8gY2hhbmdlIHRoZSB3b3JrYXJvdW5kLiAq LwotCWhzd193b3JrYXJvdW5kX3BpcGUgPSBwaXBlX2NvbmZpZy0+aHN3X3dvcmthcm91bmRfcGlw ZTsKKwloc3dfd29ya2Fyb3VuZF9waXBlID0gbmV3X2NydGNfc3RhdGUtPmhzd193b3JrYXJvdW5k X3BpcGU7CiAJaWYgKElTX0hBU1dFTEwoZGV2X3ByaXYpICYmIGhzd193b3JrYXJvdW5kX3BpcGUg IT0gSU5WQUxJRF9QSVBFKSB7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgaHN3 X3dvcmthcm91bmRfcGlwZSk7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgaHN3 X3dvcmthcm91bmRfcGlwZSk7CkBAIC03MDA3LDI4ICs3MDA0LDI4IEBAIHN0YXRpYyB2b2lkIG1v ZGVzZXRfcHV0X3Bvd2VyX2RvbWFpbnMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCQlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF91bmNoZWNrZWQoZGV2X3ByaXYsIGRvbWFpbik7 CiB9CiAKLXN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAorc3RhdGljIHZvaWQgdmFsbGV5dmlld19jcnRjX2VuYWJs ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2NydGNfc3RhdGUsCiAJCQkJICAgc3RydWN0 IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMg PSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2 KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBpcGU7CiAKIAlpZiAoV0FSTl9PTihjcnRjLT5h Y3RpdmUpKQogCQlyZXR1cm47CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihwaXBl X2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlpZiAo aW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2RwX3Nl dF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWluZ3Mo cGlwZV9jb25maWcpOwotCWludGVsX3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsKKwlp bnRlbF9zZXRfcGlwZV90aW1pbmdzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlwZV9z cmNfc2l6ZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikg JiYgcGlwZSA9PSBQSVBFX0IpIHsKIAkJSTkxNV9XUklURShDSFZfQkxFTkQocGlwZSksIENIVl9C TEVORF9MRUdBQ1kpOwogCQlJOTE1X1dSSVRFKENIVl9DQU5WQVMocGlwZSksIDApOwogCX0KIAot CWk5eHhfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwlpOXh4X3NldF9waXBlY29uZihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCkBAIC03MDM3LDI2ICs3MDM0 LDI2IEBAIHN0YXRpYyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2Ny dGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWludGVsX2VuY29kZXJzX3ByZV9wbGxfZW5hYmxlKHN0 YXRlLCBjcnRjKTsKIAogCWlmIChJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewotCQljaHZfcHJl cGFyZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOwotCQljaHZfZW5hYmxlX3BsbChjcnRjLCBwaXBl X2NvbmZpZyk7CisJCWNodl9wcmVwYXJlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CisJCWNo dl9lbmFibGVfcGxsKGNydGMsIG5ld19jcnRjX3N0YXRlKTsKIAl9IGVsc2UgewotCQl2bHZfcHJl cGFyZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOwotCQl2bHZfZW5hYmxlX3BsbChjcnRjLCBwaXBl X2NvbmZpZyk7CisJCXZsdl9wcmVwYXJlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CisJCXZs dl9lbmFibGVfcGxsKGNydGMsIG5ld19jcnRjX3N0YXRlKTsKIAl9CiAKIAlpbnRlbF9lbmNvZGVy c19wcmVfZW5hYmxlKHN0YXRlLCBjcnRjKTsKIAotCWk5eHhfcGZpdF9lbmFibGUocGlwZV9jb25m aWcpOworCWk5eHhfcGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUpOwogCi0JaW50ZWxfY29sb3Jf bG9hZF9sdXRzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9jb2xvcl9jb21taXQocGlwZV9jb25maWcp OworCWludGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfY29sb3Jf Y29tbWl0KG5ld19jcnRjX3N0YXRlKTsKIAkvKiB1cGRhdGUgRFNQQ05UUiB0byBjb25maWd1cmUg Z2FtbWEgZm9yIHBpcGUgYm90dG9tIGNvbG9yICovCi0JaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3Bs YW5lKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUobmV3X2NydGNf c3RhdGUpOwogCiAJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHN0YXRlLCBj cnRjKTsKLQlpbnRlbF9lbmFibGVfcGlwZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZW5hYmxlX3Bp cGUobmV3X2NydGNfc3RhdGUpOwogCi0JaW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcp OworCWludGVsX2NydGNfdmJsYW5rX29uKG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29k ZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiB9CkBAIC03MDcwLDI1ICs3MDY3LDI1IEBAIHN0YXRp YyB2b2lkIGk5eHhfc2V0X3BsbF9kaXZpZGVycyhjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSkKIAlJOTE1X1dSSVRFKEZQMShjcnRjLT5waXBlKSwgY3J0Y19zdGF0ZS0+ ZHBsbF9od19zdGF0ZS5mcDEpOwogfQogCi1zdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGk5eHhfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAogCQkJICAg ICBzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICpzdGF0ZSkKIHsKLQlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YyA9IHRvX2ludGVsX2NydGMocGlwZV9jb25maWctPnVhcGkuY3J0Yyk7CisJc3RydWN0 IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKG5ld19jcnRjX3N0YXRlLT51YXBpLmNy dGMpOwogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ YmFzZS5kZXYpOwogCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+cGlwZTsKIAogCWlmIChXQVJOX09O KGNydGMtPmFjdGl2ZSkpCiAJCXJldHVybjsKIAotCWk5eHhfc2V0X3BsbF9kaXZpZGVycyhwaXBl X2NvbmZpZyk7CisJaTl4eF9zZXRfcGxsX2RpdmlkZXJzKG5ld19jcnRjX3N0YXRlKTsKIAotCWlm IChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVyKHBpcGVfY29uZmlnKSkKLQkJaW50ZWxfZHBfc2V0 X21fbihwaXBlX2NvbmZpZywgTTFfTjEpOworCWlmIChpbnRlbF9jcnRjX2hhc19kcF9lbmNvZGVy KG5ld19jcnRjX3N0YXRlKSkKKwkJaW50ZWxfZHBfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwgTTFf TjEpOwogCi0JaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfc2V0 X3BpcGVfc3JjX3NpemUocGlwZV9jb25maWcpOworCWludGVsX3NldF9waXBlX3RpbWluZ3MobmV3 X2NydGNfc3RhdGUpOworCWludGVsX3NldF9waXBlX3NyY19zaXplKG5ld19jcnRjX3N0YXRlKTsK IAotCWk5eHhfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwlpOXh4X3NldF9waXBlY29uZihu ZXdfY3J0Y19zdGF0ZSk7CiAKIAljcnRjLT5hY3RpdmUgPSB0cnVlOwogCkBAIC03MDk3LDIyICs3 MDk0LDIyIEBAIHN0YXRpYyB2b2lkIGk5eHhfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNf c3RhdGUgKnBpcGVfY29uZmlnLAogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShzdGF0ZSwg Y3J0Yyk7CiAKLQlpOXh4X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCWk5eHhfZW5h YmxlX3BsbChjcnRjLCBuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpOXh4X3BmaXRfZW5hYmxlKHBpcGVf Y29uZmlnKTsKKwlpOXh4X3BmaXRfZW5hYmxlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVsX2Nv bG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50ZWxfY29sb3JfY29tbWl0KHBpcGVfY29u ZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3X2NydGNfc3RhdGUpOworCWludGVsX2Nv bG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyogdXBkYXRlIERTUENOVFIgdG8gY29uZmln dXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwotCWludGVsX2Rpc2FibGVfcHJpbWFy eV9wbGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19j cnRjX3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Mp CiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7CiAJ ZWxzZQogCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsKLQlpbnRlbF9lbmFibGVfcGlw ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZW5hYmxlX3BpcGUobmV3X2NydGNfc3RhdGUpOwogCi0J aW50ZWxfY3J0Y192Ymxhbmtfb24ocGlwZV9jb25maWcpOworCWludGVsX2NydGNfdmJsYW5rX29u KG5ld19jcnRjX3N0YXRlKTsKIAogCWludGVsX2VuY29kZXJzX2VuYWJsZShzdGF0ZSwgY3J0Yyk7 CiB9Ci0tIAoyLjIzLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9w Lm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeA==