From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH v2 09/10] drm/i915: s/pipe_config/new_crtc_state/ in .crtc_enable() Date: Mon, 18 Nov 2019 18:44:29 +0200 Message-ID: <20191118164430.27265-10-ville.syrjala@linux.intel.com> References: <20191118164430.27265-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0DAD6E62E for ; Mon, 18 Nov 2019 16:45:04 +0000 (UTC) In-Reply-To: <20191118164430.27265-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 IGZpbmFsbHkgcHV0IGRvd24uCgpSZXZpZXdlZC1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQu bmF2YXJlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXkuYyB8IDE3MyArKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgODUgaW5zZXJ0aW9ucygrKSwgODggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkNmFkMzIxNzlhMTcuLjI3MjA0YTQ5 OWY5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK QEAgLTY0NzIsMTAgKzY0NzIsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wcmltYXJ5 X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXQKIAlwbGFuZS0+ ZGlzYWJsZV9wbGFuZShwbGFuZSwgY3J0Y19zdGF0ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlyb25s YWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0 YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZSwKIAkJCQkgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7 Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51 YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdf Y3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBp cGU7CiAKQEAgLTY0OTUsNTUgKzY0OTUsNTQgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19l bmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWludGVsX3NldF9j cHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNlKTsKIAlpbnRl bF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBwaXBlLCBmYWxzZSk7 CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJaW50ZWxfcHJlcGFyZV9z aGFyZWRfZHBsbChwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRjX3N0YXRlLT5oYXNfcGNoX2Vu Y29kZXIpCisJCWludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwobmV3X2NydGNfc3RhdGUpOwogCi0J aWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKQotCQlpbnRlbF9kcF9z ZXRfbV9uKHBpcGVfY29uZmlnLCBNMV9OMSk7CisJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29k ZXIobmV3X2NydGNfc3RhdGUpKQorCQlpbnRlbF9kcF9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLCBN MV9OMSk7CiAKLQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9z ZXRfcGlwZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhu ZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfc2V0X3BpcGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUp OwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKLQkJaW50ZWxfY3B1X3Ry YW5zY29kZXJfc2V0X21fbihwaXBlX2NvbmZpZywKLQkJCQkJICAgICAmcGlwZV9jb25maWctPmZk aV9tX24sIE5VTEwpOwotCX0KKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5jb2RlcikK KwkJaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwKKwkJCQkJICAg ICAmbmV3X2NydGNfc3RhdGUtPmZkaV9tX24sIE5VTEwpOwogCi0JaXJvbmxha2Vfc2V0X3BpcGVj b25mKHBpcGVfY29uZmlnKTsKKwlpcm9ubGFrZV9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUp OwogCiAJY3J0Yy0+YWN0aXZlID0gdHJ1ZTsKIAogCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUo c3RhdGUsIGNydGMpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKKwlp ZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5jb2RlcikgewogCQkvKiBOb3RlOiBGREkgUExM IGVuYWJsaW5nIF9tdXN0XyBiZSBkb25lIGJlZm9yZSB3ZSBlbmFibGUgdGhlCiAJCSAqIGNwdSBw aXBlcywgaGVuY2UgdGhpcyBpcyBzZXBhcmF0ZSBmcm9tIGFsbCB0aGUgb3RoZXIgZmRpL3BjaAog CQkgKiBlbmFibGluZy4gKi8KLQkJaXJvbmxha2VfZmRpX3BsbF9lbmFibGUocGlwZV9jb25maWcp OworCQlpcm9ubGFrZV9mZGlfcGxsX2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAJfSBlbHNlIHsK IAkJYXNzZXJ0X2ZkaV90eF9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CiAJCWFzc2VydF9mZGlf cnhfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwogCX0KIAotCWlyb25sYWtlX3BmaXRfZW5hYmxl KHBpcGVfY29uZmlnKTsKKwlpcm9ubGFrZV9wZml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAK IAkvKgogCSAqIE9uIElMSysgTFVUIG11c3QgYmUgbG9hZGVkIGJlZm9yZSB0aGUgcGlwZSBpcyBy dW5uaW5nIGJ1dCB3aXRoCiAJICogY2xvY2tzIGVuYWJsZWQKIAkgKi8KLQlpbnRlbF9jb2xvcl9s b2FkX2x1dHMocGlwZV9jb25maWcpOwotCWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7 CisJaW50ZWxfY29sb3JfbG9hZF9sdXRzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9jb2xvcl9j b21taXQobmV3X2NydGNfc3RhdGUpOwogCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBn YW1tYSBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KLQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxh bmUocGlwZV9jb25maWcpOworCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19z dGF0ZSk7CiAKIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlk ZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwotCWludGVs X2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9lbmFibGVfcGlwZShuZXdfY3J0Y19z dGF0ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJaXJvbmxha2Vf cGNoX2VuYWJsZShzdGF0ZSwgcGlwZV9jb25maWcpOworCWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFz X3BjaF9lbmNvZGVyKQorCQlpcm9ubGFrZV9wY2hfZW5hYmxlKHN0YXRlLCBuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpbnRlbF9jcnRjX3ZibGFua19vbihwaXBlX2NvbmZpZyk7CisJaW50ZWxfY3J0Y192 Ymxhbmtfb24obmV3X2NydGNfc3RhdGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfZW5hYmxlKHN0YXRl LCBjcnRjKTsKIApAQCAtNjU1Niw3ICs2NTU1LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCSAqIHNvbWUg aW50ZXJsYWNlZCBIRE1JIG1vZGVzLiBMZXQncyBkbyB0aGUgZG91YmxlIHdhaXQgYWx3YXlzCiAJ ICogaW4gY2FzZSB0aGVyZSBhcmUgbW9yZSBjb3JuZXIgY2FzZXMgd2UgZG9uJ3Qga25vdyBhYm91 dC4KIAkgKi8KLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikgeworCWlmIChuZXdf Y3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKSB7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhk ZXZfcHJpdiwgcGlwZSk7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgcGlwZSk7 CiAJfQpAQCAtNjYxNiwxMyArNjYxNSwxMyBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2ZyYW1lX3N0 YXJ0X2RlbGF5KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCUk5 MTVfV1JJVEUocmVnLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAog CQkJCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlLCBoc3dfd29ya2Fyb3Vu ZF9waXBlOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IHBpcGVfY29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKKwllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBuZXdfY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJYm9vbCBwc2xfY2xrZ2F0ZV93YTsKIAogCWlmIChX QVJOX09OKGNydGMtPmFjdGl2ZSkpCkBAIC02NjMwLDY5ICs2NjI5LDY3IEBAIHN0YXRpYyB2b2lk 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 ZGVyX2lzX2RzaShjcHVfdHJhbnNjb2RlcikpIHsKLQkJaHN3X3NldF9mcmFtZV9zdGFydF9kZWxh eShwaXBlX2NvbmZpZyk7Ci0JCWhhc3dlbGxfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwkJ aHN3X3NldF9mcmFtZV9zdGFydF9kZWxheShuZXdfY3J0Y19zdGF0ZSk7CisJCWhhc3dlbGxfc2V0 X3BpcGVjb25mKG5ld19jcnRjX3N0YXRlKTsKIAl9CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5IHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCi0JCWJkd19zZXRfcGlwZW1pc2MocGlw ZV9jb25maWcpOworCQliZHdfc2V0X3BpcGVtaXNjKG5ld19jcnRjX3N0YXRlKTsKIAogCWNydGMt PmFjdGl2ZSA9IHRydWU7CiAKIAkvKiBEaXNwbGF5IFdBICMxMTgwOiBXYURpc2FibGVTY2FsYXJD bG9ja0dhdGluZzogZ2xrLCBjbmwgKi8KIAlwc2xfY2xrZ2F0ZV93YSA9IChJU19HRU1JTklMQUtF KGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgJiYKLQkJCSBwaXBlX2NvbmZp Zy0+cGNoX3BmaXQuZW5hYmxlZDsKKwkJbmV3X2NydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQ7 CiAJaWYgKHBzbF9jbGtnYXRlX3dhKQogCQlnbGtfcGlwZV9zY2FsZXJfY2xvY2tfZ2F0aW5nX3dh KGRldl9wcml2LCBwaXBlLCB0cnVlKTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkp Ci0JCXNreWxha2VfcGZpdF9lbmFibGUocGlwZV9jb25maWcpOworCQlza3lsYWtlX3BmaXRfZW5h YmxlKG5ld19jcnRjX3N0YXRlKTsKIAllbHNlCi0JCWlyb25sYWtlX3BmaXRfZW5hYmxlKHBpcGVf Y29uZmlnKTsKKwkJaXJvbmxha2VfcGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUpOwogCiAJLyoK IAkgKiBPbiBJTEsrIExVVCBtdXN0IGJlIGxvYWRlZCBiZWZvcmUgdGhlIHBpcGUgaXMgcnVubmlu ZyBidXQgd2l0aAogCSAqIGNsb2NrcyBlbmFibGVkCiAJICovCi0JaW50ZWxfY29sb3JfbG9hZF9s dXRzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9jb2xvcl9jb21taXQocGlwZV9jb25maWcpOworCWlu dGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfY29sb3JfY29tbWl0 KG5ld19jcnRjX3N0YXRlKTsKIAkvKiB1cGRhdGUgRFNQQ05UUiB0byBjb25maWd1cmUgZ2FtbWEv Y3NjIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwg OSkKLQkJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVfY29uZmlnKTsKKwkJaW50ZWxf ZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRjX3N0YXRlKTsKIAogCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExKQogCQlpY2xfc2V0X3BpcGVfY2hpY2tlbihjcnRjKTsKIAogCWlmICgh dHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQotCQlpbnRlbF9kZGlfZW5hYmxlX3Ry YW5zY29kZXJfZnVuYyhwaXBlX2NvbmZpZyk7CisJCWludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rl cl9mdW5jKG5ld19jcnRjX3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0 ZSwgY3J0Yyk7CkBAIC02NzAyLDEyICs2Njk5LDEyIEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCiAJLyogWFhY OiBEbyB0aGUgcGlwZSBhc3NlcnRpb25zIGF0IHRoZSByaWdodCBwbGFjZSBmb3IgQlhUIERTSS4g Ki8KIAlpZiAoIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKLQkJaW50ZWxfZW5h YmxlX3BpcGUocGlwZV9jb25maWcpOworCQlpbnRlbF9lbmFibGVfcGlwZShuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJbHB0X3BjaF9lbmFi bGUoc3RhdGUsIHBpcGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5j b2RlcikKKwkJbHB0X3BjaF9lbmFibGUoc3RhdGUsIG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVs X2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogCkBA IC02NzE4LDcgKzY3MTUsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCS8qIElmIHdlIGNoYW5nZSB0aGUg cmVsYXRpdmUgb3JkZXIgYmV0d2VlbiBwaXBlL3BsYW5lcyBlbmFibGluZywgd2UgbmVlZAogCSAq IHRvIGNoYW5nZSB0aGUgd29ya2Fyb3VuZC4gKi8KLQloc3dfd29ya2Fyb3VuZF9waXBlID0gcGlw ZV9jb25maWctPmhzd193b3JrYXJvdW5kX3BpcGU7CisJaHN3X3dvcmthcm91bmRfcGlwZSA9IG5l d19jcnRjX3N0YXRlLT5oc3dfd29ya2Fyb3VuZF9waXBlOwogCWlmIChJU19IQVNXRUxMKGRldl9w cml2KSAmJiBoc3dfd29ya2Fyb3VuZF9waXBlICE9IElOVkFMSURfUElQRSkgewogCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIGhzd193b3JrYXJvdW5kX3BpcGUpOwogCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIGhzd193b3JrYXJvdW5kX3BpcGUpOwpAQCAtNzAyOCwy OCArNzAyNSwyOCBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3B1dF9wb3dlcl9kb21haW5zKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXRf dW5jaGVja2VkKGRldl9wcml2LCBkb21haW4pOwogfQogCi1zdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRp YyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5l d19jcnRjX3N0YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQog ewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+ dWFwaS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3 X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwogCiAJaWYgKFdBUk5fT04oY3J0Yy0+YWN0aXZlKSkKIAkJcmV0dXJuOwogCi0JaWYgKGlu dGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKQotCQlpbnRlbF9kcF9zZXRfbV9u KHBpcGVfY29uZmlnLCBNMV9OMSk7CisJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIobmV3 X2NydGNfc3RhdGUpKQorCQlpbnRlbF9kcF9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLCBNMV9OMSk7 CiAKLQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhuZXdfY3J0 Y19zdGF0ZSk7CisJaW50ZWxfc2V0X3BpcGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUpOwogCiAJ aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQRV9CKSB7CiAJCUk5MTVf V1JJVEUoQ0hWX0JMRU5EKHBpcGUpLCBDSFZfQkxFTkRfTEVHQUNZKTsKIAkJSTkxNV9XUklURShD SFZfQ0FOVkFTKHBpcGUpLCAwKTsKIAl9CiAKLQlpOXh4X3NldF9waXBlY29uZihwaXBlX2NvbmZp Zyk7CisJaTl4eF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJY3J0Yy0+YWN0aXZl ID0gdHJ1ZTsKIApAQCAtNzA1OCwyNiArNzA1NSwyNiBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlpbnRl bF9lbmNvZGVyc19wcmVfcGxsX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKIAlpZiAoSVNfQ0hFUlJZ VklFVyhkZXZfcHJpdikpIHsKLQkJY2h2X3ByZXBhcmVfcGxsKGNydGMsIHBpcGVfY29uZmlnKTsK LQkJY2h2X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCQljaHZfcHJlcGFyZV9wbGwo Y3J0YywgbmV3X2NydGNfc3RhdGUpOworCQljaHZfZW5hYmxlX3BsbChjcnRjLCBuZXdfY3J0Y19z dGF0ZSk7CiAJfSBlbHNlIHsKLQkJdmx2X3ByZXBhcmVfcGxsKGNydGMsIHBpcGVfY29uZmlnKTsK LQkJdmx2X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCQl2bHZfcHJlcGFyZV9wbGwo Y3J0YywgbmV3X2NydGNfc3RhdGUpOworCQl2bHZfZW5hYmxlX3BsbChjcnRjLCBuZXdfY3J0Y19z dGF0ZSk7CiAJfQogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAK LQlpOXh4X3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKKwlpOXh4X3BmaXRfZW5hYmxlKG5ld19j cnRjX3N0YXRlKTsKIAotCWludGVsX2NvbG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50 ZWxfY29sb3JfY29tbWl0KHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3 X2NydGNfc3RhdGUpOworCWludGVsX2NvbG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyog dXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAq LwotCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlz YWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRjX3N0YXRlKTsKIAogCWRldl9wcml2LT5kaXNwbGF5 LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Ci0JaW50ZWxfZW5hYmxlX3BpcGUocGlw ZV9jb25maWcpOworCWludGVsX2VuYWJsZV9waXBlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVs X2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogfQpA QCAtNzA5MSwyNSArNzA4OCwyNSBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9wbGxfZGl2aWRlcnMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJSTkxNV9XUklURShG UDEoY3J0Yy0+cGlwZSksIGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUuZnAxKTsKIH0KIAotc3Rh dGljIHZvaWQgaTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCitzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpuZXdfY3J0Y19zdGF0ZSwKIAkJCSAgICAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVf Y29uZmlnLT51YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9 IGNydGMtPnBpcGU7CiAKIAlpZiAoV0FSTl9PTihjcnRjLT5hY3RpdmUpKQogCQlyZXR1cm47CiAK LQlpOXh4X3NldF9wbGxfZGl2aWRlcnMocGlwZV9jb25maWcpOworCWk5eHhfc2V0X3BsbF9kaXZp ZGVycyhuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2Rlcihw aXBlX2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlp ZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2Rw X3NldF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWlu Z3MocGlwZV9jb25maWcpOwotCWludGVsX3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsK KwlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpOXh4X3NldF9waXBlY29uZihwaXBlX2Nv bmZpZyk7CisJaTl4eF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJY3J0Yy0+YWN0 aXZlID0gdHJ1ZTsKIApAQCAtNzExOCwyMiArNzExNSwyMiBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWludGVs X2VuY29kZXJzX3ByZV9lbmFibGUoc3RhdGUsIGNydGMpOwogCi0JaTl4eF9lbmFibGVfcGxsKGNy dGMsIHBpcGVfY29uZmlnKTsKKwlpOXh4X2VuYWJsZV9wbGwoY3J0YywgbmV3X2NydGNfc3RhdGUp OwogCi0JaTl4eF9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CisJaTl4eF9wZml0X2VuYWJsZShu ZXdfY3J0Y19zdGF0ZSk7CiAKLQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMocGlwZV9jb25maWcpOwot CWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7CisJaW50ZWxfY29sb3JfbG9hZF9sdXRz KG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9jb2xvcl9jb21taXQobmV3X2NydGNfc3RhdGUpOwog CS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBnYW1tYSBmb3IgcGlwZSBib3R0b20gY29s b3IgKi8KLQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOworCWludGVs X2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoZGV2X3ByaXYt PmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwogCWVsc2UKIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFy a3MoY3J0Yyk7Ci0JaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOworCWludGVsX2VuYWJs ZV9waXBlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVsX2NydGNfdmJsYW5rX29uKHBpcGVfY29u ZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9l bmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogfQotLSAKMi4yMy4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng= 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 46C2FC432C0 for ; Mon, 18 Nov 2019 16:45:07 +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 27A872186D for ; Mon, 18 Nov 2019 16:45:07 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 27A872186D 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 1B3046E62E; Mon, 18 Nov 2019 16:45:06 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id F0DAD6E62E for ; Mon, 18 Nov 2019 16:45:04 +0000 (UTC) X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga007.jf.intel.com ([10.7.209.58]) by fmsmga102.fm.intel.com with ESMTP/TLS/DHE-RSA-AES256-GCM-SHA384; 18 Nov 2019 08:45:00 -0800 X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="5.68,320,1569308400"; d="scan'208";a="196184243" Received: from stinkbox.fi.intel.com (HELO stinkbox) ([10.237.72.174]) by orsmga007.jf.intel.com with SMTP; 18 Nov 2019 08:44:58 -0800 Received: by stinkbox (sSMTP sendmail emulation); Mon, 18 Nov 2019 18:44:57 +0200 From: Ville Syrjala To: intel-gfx@lists.freedesktop.org Date: Mon, 18 Nov 2019 18:44:29 +0200 Message-Id: <20191118164430.27265-10-ville.syrjala@linux.intel.com> X-Mailer: git-send-email 2.23.0 In-Reply-To: <20191118164430.27265-1-ville.syrjala@linux.intel.com> References: <20191118164430.27265-1-ville.syrjala@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v2 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: <20191118164429.EYuRApmi8VwWB22gxvEPL4RMjmPcp_bwBtnyacXml60@z> RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClJl bmFtZSBwaXBlX2NvbmZpZyB0byBuZXdfY3J0Y19zdGF0ZSBpbiB0aGUgLmNydGNfZW5hYmxlKCkg aG9va3MuClRoZSAncGlwZV9jb25maWcnIG5hbWUgaXMgYSB6b21iaWUgdGhhdCB3ZSBuZWVkIHRv IGZpbmFsbHkgcHV0IGRvd24uCgpSZXZpZXdlZC1ieTogTWFuYXNpIE5hdmFyZSA8bWFuYXNpLmQu bmF2YXJlQGludGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5z eXJqYWxhQGxpbnV4LmludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5 L2ludGVsX2Rpc3BsYXkuYyB8IDE3MyArKysrKysrKystLS0tLS0tLS0tCiAxIGZpbGUgY2hhbmdl ZCwgODUgaW5zZXJ0aW9ucygrKSwgODggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXkuYwppbmRleCBkNmFkMzIxNzlhMTcuLjI3MjA0YTQ5 OWY5MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMK QEAgLTY0NzIsMTAgKzY0NzIsMTAgQEAgc3RhdGljIHZvaWQgaW50ZWxfZGlzYWJsZV9wcmltYXJ5 X3BsYW5lKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXQKIAlwbGFuZS0+ ZGlzYWJsZV9wbGFuZShwbGFuZSwgY3J0Y19zdGF0ZSk7CiB9CiAKLXN0YXRpYyB2b2lkIGlyb25s YWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0 YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpu ZXdfY3J0Y19zdGF0ZSwKIAkJCQkgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB7 Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVfY29uZmlnLT51 YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhuZXdf Y3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9IGNydGMtPnBp cGU7CiAKQEAgLTY0OTUsNTUgKzY0OTUsNTQgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0Y19l bmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCWludGVsX3NldF9j cHVfZmlmb191bmRlcnJ1bl9yZXBvcnRpbmcoZGV2X3ByaXYsIHBpcGUsIGZhbHNlKTsKIAlpbnRl bF9zZXRfcGNoX2ZpZm9fdW5kZXJydW5fcmVwb3J0aW5nKGRldl9wcml2LCBwaXBlLCBmYWxzZSk7 CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJaW50ZWxfcHJlcGFyZV9z aGFyZWRfZHBsbChwaXBlX2NvbmZpZyk7CisJaWYgKG5ld19jcnRjX3N0YXRlLT5oYXNfcGNoX2Vu Y29kZXIpCisJCWludGVsX3ByZXBhcmVfc2hhcmVkX2RwbGwobmV3X2NydGNfc3RhdGUpOwogCi0J aWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKQotCQlpbnRlbF9kcF9z ZXRfbV9uKHBpcGVfY29uZmlnLCBNMV9OMSk7CisJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29k ZXIobmV3X2NydGNfc3RhdGUpKQorCQlpbnRlbF9kcF9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLCBN MV9OMSk7CiAKLQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9z ZXRfcGlwZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhu ZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfc2V0X3BpcGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUp OwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKLQkJaW50ZWxfY3B1X3Ry YW5zY29kZXJfc2V0X21fbihwaXBlX2NvbmZpZywKLQkJCQkJICAgICAmcGlwZV9jb25maWctPmZk aV9tX24sIE5VTEwpOwotCX0KKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5jb2RlcikK KwkJaW50ZWxfY3B1X3RyYW5zY29kZXJfc2V0X21fbihuZXdfY3J0Y19zdGF0ZSwKKwkJCQkJICAg ICAmbmV3X2NydGNfc3RhdGUtPmZkaV9tX24sIE5VTEwpOwogCi0JaXJvbmxha2Vfc2V0X3BpcGVj b25mKHBpcGVfY29uZmlnKTsKKwlpcm9ubGFrZV9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUp OwogCiAJY3J0Yy0+YWN0aXZlID0gdHJ1ZTsKIAogCWludGVsX2VuY29kZXJzX3ByZV9lbmFibGUo c3RhdGUsIGNydGMpOwogCi0JaWYgKHBpcGVfY29uZmlnLT5oYXNfcGNoX2VuY29kZXIpIHsKKwlp ZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5jb2RlcikgewogCQkvKiBOb3RlOiBGREkgUExM IGVuYWJsaW5nIF9tdXN0XyBiZSBkb25lIGJlZm9yZSB3ZSBlbmFibGUgdGhlCiAJCSAqIGNwdSBw aXBlcywgaGVuY2UgdGhpcyBpcyBzZXBhcmF0ZSBmcm9tIGFsbCB0aGUgb3RoZXIgZmRpL3BjaAog CQkgKiBlbmFibGluZy4gKi8KLQkJaXJvbmxha2VfZmRpX3BsbF9lbmFibGUocGlwZV9jb25maWcp OworCQlpcm9ubGFrZV9mZGlfcGxsX2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAJfSBlbHNlIHsK IAkJYXNzZXJ0X2ZkaV90eF9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7CiAJCWFzc2VydF9mZGlf cnhfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwogCX0KIAotCWlyb25sYWtlX3BmaXRfZW5hYmxl KHBpcGVfY29uZmlnKTsKKwlpcm9ubGFrZV9wZml0X2VuYWJsZShuZXdfY3J0Y19zdGF0ZSk7CiAK IAkvKgogCSAqIE9uIElMSysgTFVUIG11c3QgYmUgbG9hZGVkIGJlZm9yZSB0aGUgcGlwZSBpcyBy dW5uaW5nIGJ1dCB3aXRoCiAJICogY2xvY2tzIGVuYWJsZWQKIAkgKi8KLQlpbnRlbF9jb2xvcl9s b2FkX2x1dHMocGlwZV9jb25maWcpOwotCWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7 CisJaW50ZWxfY29sb3JfbG9hZF9sdXRzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9jb2xvcl9j b21taXQobmV3X2NydGNfc3RhdGUpOwogCS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBn YW1tYSBmb3IgcGlwZSBib3R0b20gY29sb3IgKi8KLQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxh bmUocGlwZV9jb25maWcpOworCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19z dGF0ZSk7CiAKIAlpZiAoZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlk ZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwotCWludGVs X2VuYWJsZV9waXBlKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9lbmFibGVfcGlwZShuZXdfY3J0Y19z dGF0ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJaXJvbmxha2Vf cGNoX2VuYWJsZShzdGF0ZSwgcGlwZV9jb25maWcpOworCWlmIChuZXdfY3J0Y19zdGF0ZS0+aGFz X3BjaF9lbmNvZGVyKQorCQlpcm9ubGFrZV9wY2hfZW5hYmxlKHN0YXRlLCBuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpbnRlbF9jcnRjX3ZibGFua19vbihwaXBlX2NvbmZpZyk7CisJaW50ZWxfY3J0Y192 Ymxhbmtfb24obmV3X2NydGNfc3RhdGUpOwogCiAJaW50ZWxfZW5jb2RlcnNfZW5hYmxlKHN0YXRl LCBjcnRjKTsKIApAQCAtNjU1Niw3ICs2NTU1LDcgQEAgc3RhdGljIHZvaWQgaXJvbmxha2VfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCSAqIHNvbWUg aW50ZXJsYWNlZCBIRE1JIG1vZGVzLiBMZXQncyBkbyB0aGUgZG91YmxlIHdhaXQgYWx3YXlzCiAJ ICogaW4gY2FzZSB0aGVyZSBhcmUgbW9yZSBjb3JuZXIgY2FzZXMgd2UgZG9uJ3Qga25vdyBhYm91 dC4KIAkgKi8KLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikgeworCWlmIChuZXdf Y3J0Y19zdGF0ZS0+aGFzX3BjaF9lbmNvZGVyKSB7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhk ZXZfcHJpdiwgcGlwZSk7CiAJCWludGVsX3dhaXRfZm9yX3ZibGFuayhkZXZfcHJpdiwgcGlwZSk7 CiAJfQpAQCAtNjYxNiwxMyArNjYxNSwxMyBAQCBzdGF0aWMgdm9pZCBoc3dfc2V0X2ZyYW1lX3N0 YXJ0X2RlbGF5KGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCUk5 MTVfV1JJVEUocmVnLCB2YWwpOwogfQogCi1zdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxl KHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRpYyB2b2lkIGhhc3dl bGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlLAog CQkJCXN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQogewotCXN0cnVjdCBpbnRlbF9j cnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+dWFwaS5jcnRjKTsKKwlzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3X2NydGNfc3RhdGUtPnVhcGku Y3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRj LT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5waXBlLCBoc3dfd29ya2Fyb3Vu ZF9waXBlOwotCWVudW0gdHJhbnNjb2RlciBjcHVfdHJhbnNjb2RlciA9IHBpcGVfY29uZmlnLT5j cHVfdHJhbnNjb2RlcjsKKwllbnVtIHRyYW5zY29kZXIgY3B1X3RyYW5zY29kZXIgPSBuZXdfY3J0 Y19zdGF0ZS0+Y3B1X3RyYW5zY29kZXI7CiAJYm9vbCBwc2xfY2xrZ2F0ZV93YTsKIAogCWlmIChX QVJOX09OKGNydGMtPmFjdGl2ZSkpCkBAIC02NjMwLDY5ICs2NjI5LDY3IEBAIHN0YXRpYyB2b2lk 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 ZGVyX2lzX2RzaShjcHVfdHJhbnNjb2RlcikpIHsKLQkJaHN3X3NldF9mcmFtZV9zdGFydF9kZWxh eShwaXBlX2NvbmZpZyk7Ci0JCWhhc3dlbGxfc2V0X3BpcGVjb25mKHBpcGVfY29uZmlnKTsKKwkJ aHN3X3NldF9mcmFtZV9zdGFydF9kZWxheShuZXdfY3J0Y19zdGF0ZSk7CisJCWhhc3dlbGxfc2V0 X3BpcGVjb25mKG5ld19jcnRjX3N0YXRlKTsKIAl9CiAKIAlpZiAoSU5URUxfR0VOKGRldl9wcml2 KSA+PSA5IHx8IElTX0JST0FEV0VMTChkZXZfcHJpdikpCi0JCWJkd19zZXRfcGlwZW1pc2MocGlw ZV9jb25maWcpOworCQliZHdfc2V0X3BpcGVtaXNjKG5ld19jcnRjX3N0YXRlKTsKIAogCWNydGMt PmFjdGl2ZSA9IHRydWU7CiAKIAkvKiBEaXNwbGF5IFdBICMxMTgwOiBXYURpc2FibGVTY2FsYXJD bG9ja0dhdGluZzogZ2xrLCBjbmwgKi8KIAlwc2xfY2xrZ2F0ZV93YSA9IChJU19HRU1JTklMQUtF KGRldl9wcml2KSB8fCBJU19DQU5OT05MQUtFKGRldl9wcml2KSkgJiYKLQkJCSBwaXBlX2NvbmZp Zy0+cGNoX3BmaXQuZW5hYmxlZDsKKwkJbmV3X2NydGNfc3RhdGUtPnBjaF9wZml0LmVuYWJsZWQ7 CiAJaWYgKHBzbF9jbGtnYXRlX3dhKQogCQlnbGtfcGlwZV9zY2FsZXJfY2xvY2tfZ2F0aW5nX3dh KGRldl9wcml2LCBwaXBlLCB0cnVlKTsKIAogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkp Ci0JCXNreWxha2VfcGZpdF9lbmFibGUocGlwZV9jb25maWcpOworCQlza3lsYWtlX3BmaXRfZW5h YmxlKG5ld19jcnRjX3N0YXRlKTsKIAllbHNlCi0JCWlyb25sYWtlX3BmaXRfZW5hYmxlKHBpcGVf Y29uZmlnKTsKKwkJaXJvbmxha2VfcGZpdF9lbmFibGUobmV3X2NydGNfc3RhdGUpOwogCiAJLyoK IAkgKiBPbiBJTEsrIExVVCBtdXN0IGJlIGxvYWRlZCBiZWZvcmUgdGhlIHBpcGUgaXMgcnVubmlu ZyBidXQgd2l0aAogCSAqIGNsb2NrcyBlbmFibGVkCiAJICovCi0JaW50ZWxfY29sb3JfbG9hZF9s dXRzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9jb2xvcl9jb21taXQocGlwZV9jb25maWcpOworCWlu dGVsX2NvbG9yX2xvYWRfbHV0cyhuZXdfY3J0Y19zdGF0ZSk7CisJaW50ZWxfY29sb3JfY29tbWl0 KG5ld19jcnRjX3N0YXRlKTsKIAkvKiB1cGRhdGUgRFNQQ05UUiB0byBjb25maWd1cmUgZ2FtbWEv Y3NjIGZvciBwaXBlIGJvdHRvbSBjb2xvciAqLwogCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwg OSkKLQkJaW50ZWxfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHBpcGVfY29uZmlnKTsKKwkJaW50ZWxf ZGlzYWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRjX3N0YXRlKTsKIAogCWlmIChJTlRFTF9HRU4o ZGV2X3ByaXYpID49IDExKQogCQlpY2xfc2V0X3BpcGVfY2hpY2tlbihjcnRjKTsKIAogCWlmICgh dHJhbnNjb2Rlcl9pc19kc2koY3B1X3RyYW5zY29kZXIpKQotCQlpbnRlbF9kZGlfZW5hYmxlX3Ry YW5zY29kZXJfZnVuYyhwaXBlX2NvbmZpZyk7CisJCWludGVsX2RkaV9lbmFibGVfdHJhbnNjb2Rl cl9mdW5jKG5ld19jcnRjX3N0YXRlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MpCiAJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0 ZSwgY3J0Yyk7CkBAIC02NzAyLDEyICs2Njk5LDEyIEBAIHN0YXRpYyB2b2lkIGhhc3dlbGxfY3J0 Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29uZmlnLAogCiAJLyogWFhY OiBEbyB0aGUgcGlwZSBhc3NlcnRpb25zIGF0IHRoZSByaWdodCBwbGFjZSBmb3IgQlhUIERTSS4g Ki8KIAlpZiAoIXRyYW5zY29kZXJfaXNfZHNpKGNwdV90cmFuc2NvZGVyKSkKLQkJaW50ZWxfZW5h YmxlX3BpcGUocGlwZV9jb25maWcpOworCQlpbnRlbF9lbmFibGVfcGlwZShuZXdfY3J0Y19zdGF0 ZSk7CiAKLQlpZiAocGlwZV9jb25maWctPmhhc19wY2hfZW5jb2RlcikKLQkJbHB0X3BjaF9lbmFi bGUoc3RhdGUsIHBpcGVfY29uZmlnKTsKKwlpZiAobmV3X2NydGNfc3RhdGUtPmhhc19wY2hfZW5j b2RlcikKKwkJbHB0X3BjaF9lbmFibGUoc3RhdGUsIG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVs X2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogCkBA IC02NzE4LDcgKzY3MTUsNyBAQCBzdGF0aWMgdm9pZCBoYXN3ZWxsX2NydGNfZW5hYmxlKHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCS8qIElmIHdlIGNoYW5nZSB0aGUg cmVsYXRpdmUgb3JkZXIgYmV0d2VlbiBwaXBlL3BsYW5lcyBlbmFibGluZywgd2UgbmVlZAogCSAq IHRvIGNoYW5nZSB0aGUgd29ya2Fyb3VuZC4gKi8KLQloc3dfd29ya2Fyb3VuZF9waXBlID0gcGlw ZV9jb25maWctPmhzd193b3JrYXJvdW5kX3BpcGU7CisJaHN3X3dvcmthcm91bmRfcGlwZSA9IG5l d19jcnRjX3N0YXRlLT5oc3dfd29ya2Fyb3VuZF9waXBlOwogCWlmIChJU19IQVNXRUxMKGRldl9w cml2KSAmJiBoc3dfd29ya2Fyb3VuZF9waXBlICE9IElOVkFMSURfUElQRSkgewogCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIGhzd193b3JrYXJvdW5kX3BpcGUpOwogCQlpbnRlbF93 YWl0X2Zvcl92YmxhbmsoZGV2X3ByaXYsIGhzd193b3JrYXJvdW5kX3BpcGUpOwpAQCAtNzAyOCwy OCArNzAyNSwyOCBAQCBzdGF0aWMgdm9pZCBtb2Rlc2V0X3B1dF9wb3dlcl9kb21haW5zKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXRf dW5jaGVja2VkKGRldl9wcml2LCBkb21haW4pOwogfQogCi1zdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKK3N0YXRp YyB2b2lkIHZhbGxleXZpZXdfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm5l d19jcnRjX3N0YXRlLAogCQkJCSAgIHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlKQog ewotCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxfY3J0YyhwaXBlX2NvbmZpZy0+ dWFwaS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9IHRvX2ludGVsX2NydGMobmV3 X2NydGNfc3RhdGUtPnVhcGkuY3J0Yyk7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRldik7CiAJZW51bSBwaXBlIHBpcGUgPSBjcnRjLT5w aXBlOwogCiAJaWYgKFdBUk5fT04oY3J0Yy0+YWN0aXZlKSkKIAkJcmV0dXJuOwogCi0JaWYgKGlu dGVsX2NydGNfaGFzX2RwX2VuY29kZXIocGlwZV9jb25maWcpKQotCQlpbnRlbF9kcF9zZXRfbV9u KHBpcGVfY29uZmlnLCBNMV9OMSk7CisJaWYgKGludGVsX2NydGNfaGFzX2RwX2VuY29kZXIobmV3 X2NydGNfc3RhdGUpKQorCQlpbnRlbF9kcF9zZXRfbV9uKG5ld19jcnRjX3N0YXRlLCBNMV9OMSk7 CiAKLQlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKHBpcGVfY29uZmlnKTsKLQlpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfc2V0X3BpcGVfdGltaW5ncyhuZXdfY3J0 Y19zdGF0ZSk7CisJaW50ZWxfc2V0X3BpcGVfc3JjX3NpemUobmV3X2NydGNfc3RhdGUpOwogCiAJ aWYgKElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpICYmIHBpcGUgPT0gUElQRV9CKSB7CiAJCUk5MTVf V1JJVEUoQ0hWX0JMRU5EKHBpcGUpLCBDSFZfQkxFTkRfTEVHQUNZKTsKIAkJSTkxNV9XUklURShD SFZfQ0FOVkFTKHBpcGUpLCAwKTsKIAl9CiAKLQlpOXh4X3NldF9waXBlY29uZihwaXBlX2NvbmZp Zyk7CisJaTl4eF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJY3J0Yy0+YWN0aXZl ID0gdHJ1ZTsKIApAQCAtNzA1OCwyNiArNzA1NSwyNiBAQCBzdGF0aWMgdm9pZCB2YWxsZXl2aWV3 X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlpbnRl bF9lbmNvZGVyc19wcmVfcGxsX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAKIAlpZiAoSVNfQ0hFUlJZ VklFVyhkZXZfcHJpdikpIHsKLQkJY2h2X3ByZXBhcmVfcGxsKGNydGMsIHBpcGVfY29uZmlnKTsK LQkJY2h2X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCQljaHZfcHJlcGFyZV9wbGwo Y3J0YywgbmV3X2NydGNfc3RhdGUpOworCQljaHZfZW5hYmxlX3BsbChjcnRjLCBuZXdfY3J0Y19z dGF0ZSk7CiAJfSBlbHNlIHsKLQkJdmx2X3ByZXBhcmVfcGxsKGNydGMsIHBpcGVfY29uZmlnKTsK LQkJdmx2X2VuYWJsZV9wbGwoY3J0YywgcGlwZV9jb25maWcpOworCQl2bHZfcHJlcGFyZV9wbGwo Y3J0YywgbmV3X2NydGNfc3RhdGUpOworCQl2bHZfZW5hYmxlX3BsbChjcnRjLCBuZXdfY3J0Y19z dGF0ZSk7CiAJfQogCiAJaW50ZWxfZW5jb2RlcnNfcHJlX2VuYWJsZShzdGF0ZSwgY3J0Yyk7CiAK LQlpOXh4X3BmaXRfZW5hYmxlKHBpcGVfY29uZmlnKTsKKwlpOXh4X3BmaXRfZW5hYmxlKG5ld19j cnRjX3N0YXRlKTsKIAotCWludGVsX2NvbG9yX2xvYWRfbHV0cyhwaXBlX2NvbmZpZyk7Ci0JaW50 ZWxfY29sb3JfY29tbWl0KHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jb2xvcl9sb2FkX2x1dHMobmV3 X2NydGNfc3RhdGUpOworCWludGVsX2NvbG9yX2NvbW1pdChuZXdfY3J0Y19zdGF0ZSk7CiAJLyog dXBkYXRlIERTUENOVFIgdG8gY29uZmlndXJlIGdhbW1hIGZvciBwaXBlIGJvdHRvbSBjb2xvciAq LwotCWludGVsX2Rpc2FibGVfcHJpbWFyeV9wbGFuZShwaXBlX2NvbmZpZyk7CisJaW50ZWxfZGlz YWJsZV9wcmltYXJ5X3BsYW5lKG5ld19jcnRjX3N0YXRlKTsKIAogCWRldl9wcml2LT5kaXNwbGF5 LmluaXRpYWxfd2F0ZXJtYXJrcyhzdGF0ZSwgY3J0Yyk7Ci0JaW50ZWxfZW5hYmxlX3BpcGUocGlw ZV9jb25maWcpOworCWludGVsX2VuYWJsZV9waXBlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVs X2NydGNfdmJsYW5rX29uKHBpcGVfY29uZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdf Y3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9lbmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogfQpA QCAtNzA5MSwyNSArNzA4OCwyNSBAQCBzdGF0aWMgdm9pZCBpOXh4X3NldF9wbGxfZGl2aWRlcnMo Y29uc3Qgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJSTkxNV9XUklURShG UDEoY3J0Yy0+cGlwZSksIGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGUuZnAxKTsKIH0KIAotc3Rh dGljIHZvaWQgaTl4eF9jcnRjX2VuYWJsZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWcsCitzdGF0aWMgdm9pZCBpOXh4X2NydGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0 YXRlICpuZXdfY3J0Y19zdGF0ZSwKIAkJCSAgICAgc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAq c3RhdGUpCiB7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKHBpcGVf Y29uZmlnLT51YXBpLmNydGMpOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0YyhuZXdfY3J0Y19zdGF0ZS0+dWFwaS5jcnRjKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKIAllbnVtIHBpcGUgcGlwZSA9 IGNydGMtPnBpcGU7CiAKIAlpZiAoV0FSTl9PTihjcnRjLT5hY3RpdmUpKQogCQlyZXR1cm47CiAK LQlpOXh4X3NldF9wbGxfZGl2aWRlcnMocGlwZV9jb25maWcpOworCWk5eHhfc2V0X3BsbF9kaXZp ZGVycyhuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2Rlcihw aXBlX2NvbmZpZykpCi0JCWludGVsX2RwX3NldF9tX24ocGlwZV9jb25maWcsIE0xX04xKTsKKwlp ZiAoaW50ZWxfY3J0Y19oYXNfZHBfZW5jb2RlcihuZXdfY3J0Y19zdGF0ZSkpCisJCWludGVsX2Rw X3NldF9tX24obmV3X2NydGNfc3RhdGUsIE0xX04xKTsKIAotCWludGVsX3NldF9waXBlX3RpbWlu Z3MocGlwZV9jb25maWcpOwotCWludGVsX3NldF9waXBlX3NyY19zaXplKHBpcGVfY29uZmlnKTsK KwlpbnRlbF9zZXRfcGlwZV90aW1pbmdzKG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9zZXRfcGlw ZV9zcmNfc2l6ZShuZXdfY3J0Y19zdGF0ZSk7CiAKLQlpOXh4X3NldF9waXBlY29uZihwaXBlX2Nv bmZpZyk7CisJaTl4eF9zZXRfcGlwZWNvbmYobmV3X2NydGNfc3RhdGUpOwogCiAJY3J0Yy0+YWN0 aXZlID0gdHJ1ZTsKIApAQCAtNzExOCwyMiArNzExNSwyMiBAQCBzdGF0aWMgdm9pZCBpOXh4X2Ny dGNfZW5hYmxlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAogCWludGVs X2VuY29kZXJzX3ByZV9lbmFibGUoc3RhdGUsIGNydGMpOwogCi0JaTl4eF9lbmFibGVfcGxsKGNy dGMsIHBpcGVfY29uZmlnKTsKKwlpOXh4X2VuYWJsZV9wbGwoY3J0YywgbmV3X2NydGNfc3RhdGUp OwogCi0JaTl4eF9wZml0X2VuYWJsZShwaXBlX2NvbmZpZyk7CisJaTl4eF9wZml0X2VuYWJsZShu ZXdfY3J0Y19zdGF0ZSk7CiAKLQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMocGlwZV9jb25maWcpOwot CWludGVsX2NvbG9yX2NvbW1pdChwaXBlX2NvbmZpZyk7CisJaW50ZWxfY29sb3JfbG9hZF9sdXRz KG5ld19jcnRjX3N0YXRlKTsKKwlpbnRlbF9jb2xvcl9jb21taXQobmV3X2NydGNfc3RhdGUpOwog CS8qIHVwZGF0ZSBEU1BDTlRSIHRvIGNvbmZpZ3VyZSBnYW1tYSBmb3IgcGlwZSBib3R0b20gY29s b3IgKi8KLQlpbnRlbF9kaXNhYmxlX3ByaW1hcnlfcGxhbmUocGlwZV9jb25maWcpOworCWludGVs X2Rpc2FibGVfcHJpbWFyeV9wbGFuZShuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpZiAoZGV2X3ByaXYt PmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKQogCQlkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3Moc3RhdGUsIGNydGMpOwogCWVsc2UKIAkJaW50ZWxfdXBkYXRlX3dhdGVybWFy a3MoY3J0Yyk7Ci0JaW50ZWxfZW5hYmxlX3BpcGUocGlwZV9jb25maWcpOworCWludGVsX2VuYWJs ZV9waXBlKG5ld19jcnRjX3N0YXRlKTsKIAotCWludGVsX2NydGNfdmJsYW5rX29uKHBpcGVfY29u ZmlnKTsKKwlpbnRlbF9jcnRjX3ZibGFua19vbihuZXdfY3J0Y19zdGF0ZSk7CiAKIAlpbnRlbF9l bmNvZGVyc19lbmFibGUoc3RhdGUsIGNydGMpOwogfQotLSAKMi4yMy4wCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0 CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3Rv cC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZng=