From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH] drm/i915: Handle pipe CRC around enabling/disabling pipe. Date: Thu, 8 Mar 2018 13:02:02 +0100 Message-ID: <20180308120202.52446-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2069B6E2A3 for ; Thu, 8 Mar 2018 12:02:07 +0000 (UTC) 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 VGhpcyB3aWxsIGdldCByaWQgb2YgdGhlIGZvbGxvd2luZyBlcnJvcjoKWyAgIDc0LjczMDI3MV0g V0FSTklORzogQ1BVOiA0IFBJRDogMCBhdCBkcml2ZXJzL2dwdS9kcm0vZHJtX3ZibGFuay5jOjYx NCBkcm1fY2FsY192Ymx0aW1lc3RhbXBfZnJvbV9zY2Fub3V0cG9zKzB4MTNlLzB4MmYwClsgICA3 NC43MzAzMTFdIE1vZHVsZXMgbGlua2VkIGluOiB2Z2VtIHNuZF9oZGFfY29kZWNfaGRtaSBzbmRf aGRhX2NvZGVjX3JlYWx0ZWsgc25kX2hkYV9jb2RlY19nZW5lcmljIGk5MTUgeDg2X3BrZ190ZW1w X3RoZXJtYWwgaW50ZWxfcG93ZXJjbGFtcCBjb3JldGVtcCBzbmRfaGRhX2ludGVsIGNyY3QxMGRp Zl9wY2xtdWwgc25kX2hkYV9jb2RlYyBjcmMzMl9wY2xtdWwgc25kX2h3ZGVwIGJyb2FkY29tIGdo YXNoX2NsbXVsbmlfaW50ZWwgc25kX2hkYV9jb3JlIGJjbV9waHlfbGliIHNuZF9wY20gdGczIGxw Y19pY2ggbWVpX21lIG1laSBwcmltZV9udW1iZXJzClsgICA3NC43MzAzNTNdIENQVTogNCBQSUQ6 IDAgQ29tbTogc3dhcHBlci80IFRhaW50ZWQ6IEcgICAgIFUgICAgICAgICAgIDQuMTYuMC1yYzIt Q0ktQ0lfRFJNXzM4MjIrICMxClsgICA3NC43MzAzNTVdIEhhcmR3YXJlIG5hbWU6IERlbGwgSW5j LiBYUFMgODMwMCAgLzBZMk1SRywgQklPUyBBMDYgMTAvMTcvMjAxMQpbICAgNzQuNzMwMzU5XSBS SVA6IDAwMTA6ZHJtX2NhbGNfdmJsdGltZXN0YW1wX2Zyb21fc2Nhbm91dHBvcysweDEzZS8weDJm MApbICAgNzQuNzMwMzYxXSBSU1A6IDAwMTg6ZmZmZjg4MDIyZmIwM2QxMCBFRkxBR1M6IDAwMDEw MDg2ClsgICA3NC43MzAzNjVdIFJBWDogZmZmZmZmZmZhMDI5MWQyMCBSQlg6IGZmZmY4ODAyMWEx ODAwMDAgUkNYOiAwMDAwMDAwMDAwMDAwMDAxClsgICA3NC43MzAzNjddIFJEWDogZmZmZmZmZmY4 MjBlN2RiOCBSU0k6IDAwMDAwMDAwMDAwMDAwMDEgUkRJOiBmZmZmZmZmZjgyMDY4Y2VhClsgICA3 NC43MzAzNjldIFJCUDogZmZmZjg4MDIyZmIwM2Q3MCBSMDg6IDAwMDAwMDAwMDAwMDAwMDAgUjA5 OiBmZmZmZmZmZjgxNWQyNmQwClsgICA3NC43MzAzNzFdIFIxMDogMDAwMDAwMDAwMDAwMDAwMCBS MTE6IGZmZmZmZmZmYTAxNjFjYTAgUjEyOiAwMDAwMDAwMDAwMDAwMDAxClsgICA3NC43MzAzNzNd IFIxMzogZmZmZjg4MDIxMjQ0ODAwOCBSMTQ6IGZmZmY4ODAyMTI0NDgzMzAgUjE1OiAwMDAwMDAw MDAwMDAwMDAwClsgICA3NC43MzAzNzZdIEZTOiAgMDAwMDAwMDAwMDAwMDAwMCgwMDAwKSBHUzpm ZmZmODgwMjJmYjAwMDAwKDAwMDApIGtubEdTOjAwMDAwMDAwMDAwMDAwMDAKWyAgIDc0LjczMDM3 OF0gQ1M6ICAwMDEwIERTOiAwMDAwIEVTOiAwMDAwIENSMDogMDAwMDAwMDA4MDA1MDAzMwpbICAg NzQuNzMwMzgwXSBDUjI6IDAwMDA1NWVkY2JlYzkwMDAgQ1IzOiAwMDAwMDAwMDAyMjEwMDAxIENS NDogMDAwMDAwMDAwMDA2MDZlMApbICAgNzQuNzMwMzgyXSBDYWxsIFRyYWNlOgpbICAgNzQuNzMw Mzg1XSAgPElSUT4KWyAgIDc0LjczMDM5N10gIGRybV9nZXRfbGFzdF92Ymx0aW1lc3RhbXArMHgz Ni8weDUwClsgICA3NC43MzA0MDFdICBkcm1fdXBkYXRlX3ZibGFua19jb3VudCsweDY0LzB4MjQw ClsgICA3NC43MzA0MDldICBkcm1fY3J0Y19hY2N1cmF0ZV92YmxhbmtfY291bnQrMHg0MS8weDkw ClsgICA3NC43MzA0NTNdICBkaXNwbGF5X3BpcGVfY3JjX2lycV9oYW5kbGVyKzB4MTc2LzB4MjIw IFtpOTE1XQpbICAgNzQuNzMwNDk3XSAgaTl4eF9waXBlX2NyY19pcnFfaGFuZGxlcisweGZlLzB4 MTUwIFtpOTE1XQpbICAgNzQuNzMwNTM3XSAgaXJvbmxha2VfaXJxX2hhbmRsZXIrMHg2MTgvMHhh MzAgW2k5MTVdClsgICA3NC43MzA1NDhdICBfX2hhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4M2Mv MHgzNDAKWyAgIDc0LjczMDU1Nl0gIGhhbmRsZV9pcnFfZXZlbnRfcGVyY3B1KzB4MWIvMHg1MApb ICAgNzQuNzMwNTYxXSAgaGFuZGxlX2lycV9ldmVudCsweDJmLzB4NTAKWyAgIDc0LjczMDU2Nl0g IGhhbmRsZV9lZGdlX2lycSsweGU0LzB4MWIwClsgICA3NC43MzA1NzJdICBoYW5kbGVfaXJxKzB4 MTEvMHgyMApbICAgNzQuNzMwNTc2XSAgZG9fSVJRKzB4NWUvMHgxMjAKWyAgIDc0LjczMDU4NF0g IGNvbW1vbl9pbnRlcnJ1cHQrMHg4NC8weDg0ClsgICA3NC43MzA1ODZdICA8L0lSUT4KWyAgIDc0 LjczMDU5MV0gUklQOiAwMDEwOmNwdWlkbGVfZW50ZXJfc3RhdGUrMHhhYS8weDM1MApbICAgNzQu NzMwNTkzXSBSU1A6IDAwMTg6ZmZmZmM5MDAwMDA4YmViOCBFRkxBR1M6IDAwMDAwMjEyIE9SSUdf UkFYOiBmZmZmZmZmZmZmZmZmZmRlClsgICA3NC43MzA1OTddIFJBWDogZmZmZjg4MDIyNmI4MDA0 MCBSQlg6IDAwMDAwMDAwMDAzMWZjM2UgUkNYOiAwMDAwMDAwMDAwMDAwMDAxClsgICA3NC43MzA1 OTldIFJEWDogMDAwMDAwMDAwMDAwMDAwMCBSU0k6IGZmZmZmZmZmODIxMGZiNTkgUkRJOiBmZmZm ZmZmZjgyMGMwMmU3ClsgICA3NC43MzA2MDFdIFJCUDogMDAwMDAwMDAwMDAwMDAwNCBSMDg6IDAw MDAwMDAwMDAwMDQwYWYgUjA5OiAwMDAwMDAwMDAwMDAwMDE4ClsgICA3NC43MzA2MDNdIFIxMDog MDAwMDAwMDAwMDAwMDAwMCBSMTE6IDAwMDAwMDAwMDAwMDAwMDAgUjEyOiAwMDAwMDAwMDAwMDAw MDA0ClsgICA3NC43MzA2MDZdIFIxMzogZmZmZmU4ZmZmZmQwMDQzMCBSMTQ6IDAwMDAwMDExNjYx MjBiZjQgUjE1OiBmZmZmZmZmZjgyMjk0NDYwClsgICA3NC43MzA2MjFdICA/IGNwdWlkbGVfZW50 ZXJfc3RhdGUrMHhhNi8weDM1MApbICAgNzQuNzMwNjI5XSAgZG9faWRsZSsweDE4OC8weDFkMApb ICAgNzQuNzMwNjM2XSAgY3B1X3N0YXJ0dXBfZW50cnkrMHgxNC8weDIwClsgICA3NC43MzA2NDFd ICBzdGFydF9zZWNvbmRhcnkrMHgxMjkvMHgxNjAKWyAgIDc0LjczMDY0Nl0gIHNlY29uZGFyeV9z dGFydHVwXzY0KzB4YTUvMHhiMApbICAgNzQuNzMwNjYwXSBDb2RlOiBlMSA0OCBjNyBjMiBiOCA3 ZCAwZSA4MiBiZSAwMSAwMCAwMCAwMCA0OCBjNyBjNyBlYSA4YyAwNiA4MiBlOCA2NCBlYyBmZiBm ZiA0OCA4YiA4MyBjOCAwNyAwMCAwMCA0OCA4MyA3OCAyOCAwMCAwZiA4NCBlMiBmZSBmZiBmZiA8 MGY+IDBiIDQ1IDMxIGVkIGU5IGRiIGZlIGZmIGZmIDQxIGI4IGQzIDRkIDYyIDEwIDg5IGM4IDZh IDAzIDQxClsgICA3NC43MzA3NTRdIC0tLVsgZW5kIHRyYWNlIDE0YjEzNDU3MDViNjg1NjUgXS0t LQoKQ2hhbmdlcyBzaW5jZSB2MToKLSBEb24ndCB0cnkgdG8gYXBwbHkgQ1JDIHdvcmthcm91bmQg d2hlbiBlbmFibGluZyBwaXBlLCBpdCBzaG91bGQgYWxyZWFkeSBiZSBlbmFibGVkLgpDaGFuZ2Vz IHNpbmNlIHYyOgotIE1ha2UgY3JjIGZ1bmN0aW9ucyBmb3IgIURFQlVHRlMgY2FzZSBpbmxpbmUu Ci0gUGFzcyBpbnRlbF9jcnRjIHRvIGNyYyBmdW5jdGlvbnMuCi0gQWRkIGNvbW1lbnRzIHRvIGNh bGxzaXRlcy4KQ2hhbmdlcyBzaW5jZSB2MzoKLSBDYWNoZSBzZWxlY3RlZCBzb3VyY2UgdG8gcGlw ZV9jcmMtPnNvdXJjZS4KLSBTZXQgcGlwZV9jcmMtPnNraXBwZWQgdG8gTUlOX0lOVCBkdXJpbmcg ZGlzYWJsZSB0byBjbG9zZSBhIHJhY2UgY29uZGl0aW9uLgpDaGFuZ2VzIHNpbmNlIHY0OgotIEhh bmRsZSBmYWxsb3V0IGZyb20gc2V0dGluZyBwaXBlX2NyYy0+c291cmNlIGluIGlycSBoYW5kbGVy LgoKQ2M6IE1hcnRhIEzDtmZzdGVkdCA8bWFydGEubG9mc3RlZHRAaW50ZWwuY29tPgpSZXBvcnRl ZC1ieTogTWFydGEgTMO2ZnN0ZWR0IDxtYXJ0YS5sb2ZzdGVkdEBpbnRlbC5jb20+CkJ1Z3ppbGxh OiBodHRwczovL2J1Z3MuZnJlZWRlc2t0b3Aub3JnL3Nob3dfYnVnLmNnaT9pZD0xMDUxODUKU2ln bmVkLW9mZi1ieTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4Lmlu dGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgIHwgIDQg Ky0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgIHwgMTAgKysrKysrKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgICB8ICA5ICsrKysrKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcGlwZV9jcmMuYyB8IDUzICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKy0tLS0tCiA0IGZpbGVzIGNoYW5nZWQsIDY3IGluc2VydGlvbnMoKyksIDkgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKaW5kZXggY2UxNjAwM2VmMDQ4Li43ODA3 NDg4MDg0ZmUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwpAQCAtMTYyNiw3ICsxNjI2LDcgQEAg c3RhdGljIHZvaWQgZGlzcGxheV9waXBlX2NyY19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJaW50IGhlYWQsIHRhaWw7CiAKIAlzcGluX2xvY2soJnBpcGVf Y3JjLT5sb2NrKTsKLQlpZiAocGlwZV9jcmMtPnNvdXJjZSkgeworCWlmIChwaXBlX2NyYy0+c291 cmNlICYmICFjcnRjLT5iYXNlLmNyYy5vcGVuZWQpIHsKIAkJaWYgKCFwaXBlX2NyYy0+ZW50cmll cykgewogCQkJc3Bpbl91bmxvY2soJnBpcGVfY3JjLT5sb2NrKTsKIAkJCURSTV9ERUJVR19LTVMo InNwdXJpb3VzIGludGVycnVwdFxuIik7CkBAIC0xNjY2LDcgKzE2NjYsNyBAQCBzdGF0aWMgdm9p ZCBkaXNwbGF5X3BpcGVfY3JjX2lycV9oYW5kbGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJICogT24gR0VOOCsgc29tZXRpbWVzIHRoZSBzZWNvbmQgQ1JDIGlzIGJvbmtl cnMgYXMgd2VsbCwgc28KIAkJICogZG9uJ3QgdHJ1c3QgdGhhdCBvbmUgZWl0aGVyLgogCQkgKi8K LQkJaWYgKHBpcGVfY3JjLT5za2lwcGVkID09IDAgfHwKKwkJaWYgKHBpcGVfY3JjLT5za2lwcGVk IDw9IDAgfHwKIAkJICAgIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDggJiYgcGlwZV9jcmMtPnNr aXBwZWQgPT0gMSkpIHsKIAkJCXBpcGVfY3JjLT5za2lwcGVkKys7CiAJCQlzcGluX3VubG9jaygm cGlwZV9jcmMtPmxvY2spOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCmluZGV4IDMz MTA4NDA4MjU0NS4uMjkzM2FkMzgwOTRmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxh eS5jCkBAIC0xMjE0Nyw2ICsxMjE0Nyw5IEBAIHN0YXRpYyB2b2lkIGludGVsX3VwZGF0ZV9jcnRj KHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAlpZiAobW9kZXNldCkgewogCQl1cGRhdGVfc2Nhbmxp bmVfb2Zmc2V0KGludGVsX2NydGMpOwogCQlkZXZfcHJpdi0+ZGlzcGxheS5jcnRjX2VuYWJsZShw aXBlX2NvbmZpZywgc3RhdGUpOworCisJCS8qIHZibGFua3Mgd29yayBhZ2FpbiwgcmUtZW5hYmxl IHBpcGUgQ1JDLiAqLworCQlpbnRlbF9jcnRjX2VuYWJsZV9waXBlX2NyYyhpbnRlbF9jcnRjKTsK IAl9IGVsc2UgewogCQlpbnRlbF9wcmVfcGxhbmVfdXBkYXRlKHRvX2ludGVsX2NydGNfc3RhdGUo b2xkX2NydGNfc3RhdGUpLAogCQkJCSAgICAgICBwaXBlX2NvbmZpZyk7CkBAIC0xMjMyNyw2ICsx MjMzMCwxMyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0X3RhaWwoc3RydWN0IGRy bV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCiAJCWlmIChvbGRfY3J0Y19zdGF0ZS0+YWN0aXZlKSB7 CiAJCQlpbnRlbF9jcnRjX2Rpc2FibGVfcGxhbmVzKGNydGMsIG9sZF9jcnRjX3N0YXRlLT5wbGFu ZV9tYXNrKTsKKworCQkJLyoKKwkJCSAqIFdlIG5lZWQgdG8gZGlzYWJsZSBwaXBlIENSQyBiZWZv cmUgZGlzYWJsaW5nIHRoZSBwaXBlLAorCQkJICogb3Igd2UgcmFjZSBhZ2FpbnN0IHZibGFuayBv ZmYuCisJCQkgKi8KKwkJCWludGVsX2NydGNfZGlzYWJsZV9waXBlX2NyYyhpbnRlbF9jcnRjKTsK KwogCQkJZGV2X3ByaXYtPmRpc3BsYXkuY3J0Y19kaXNhYmxlKHRvX2ludGVsX2NydGNfc3RhdGUo b2xkX2NydGNfc3RhdGUpLCBzdGF0ZSk7CiAJCQlpbnRlbF9jcnRjLT5hY3RpdmUgPSBmYWxzZTsK IAkJCWludGVsX2ZiY19kaXNhYmxlKGludGVsX2NydGMpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYu aAppbmRleCBkNDM2ODU4OWIzNTUuLmZjZTVkMzA3MmQ5NyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKQEAgLTIxMzgsOCArMjEzOCwxNyBAQCBpbnQgaW50ZWxfcGlwZV9jcmNfY3JlYXRlKHN0 cnVjdCBkcm1fbWlub3IgKm1pbm9yKTsKICNpZmRlZiBDT05GSUdfREVCVUdfRlMKIGludCBpbnRl bF9jcnRjX3NldF9jcmNfc291cmNlKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywgY29uc3QgY2hhciAq c291cmNlX25hbWUsCiAJCQkgICAgICBzaXplX3QgKnZhbHVlc19jbnQpOwordm9pZCBpbnRlbF9j cnRjX2Rpc2FibGVfcGlwZV9jcmMoc3RydWN0IGludGVsX2NydGMgKmNydGMpOwordm9pZCBpbnRl bF9jcnRjX2VuYWJsZV9waXBlX2NyYyhzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CiAjZWxzZQog I2RlZmluZSBpbnRlbF9jcnRjX3NldF9jcmNfc291cmNlIE5VTEwKK3N0YXRpYyBpbmxpbmUgdm9p ZCBpbnRlbF9jcnRjX2Rpc2FibGVfcGlwZV9jcmMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCit7 Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZCBpbnRlbF9jcnRjX2VuYWJsZV9waXBlX2NyYyhzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0YykKK3sKK30KICNlbmRpZgogZXh0ZXJuIGNvbnN0IHN0cnVjdCBm aWxlX29wZXJhdGlvbnMgaTkxNV9kaXNwbGF5X2NyY19jdGxfZm9wczsKICNlbmRpZiAvKiBfX0lO VEVMX0RSVl9IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Bp cGVfY3JjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9waXBlX2NyYy5jCmluZGV4IDFm NWNkNTcyYTdmZi4uNGYzNjdjMTZlOWU1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9waXBlX2NyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BpcGVf Y3JjLmMKQEAgLTU2OSw3ICs1NjksOCBAQCBzdGF0aWMgdm9pZCBoc3dfcGlwZV9BX2NyY193YShz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiBzdGF0aWMgaW50IGl2Yl9waXBlX2Ny Y19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQllbnVtIHBp cGUgcGlwZSwKIAkJCQllbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSAqc291cmNlLAotCQkJCXVp bnQzMl90ICp2YWwpCisJCQkJdWludDMyX3QgKnZhbCwKKwkJCQlib29sIHNldF93YSkKIHsKIAlp ZiAoKnNvdXJjZSA9PSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfQVVUTykKIAkJKnNvdXJjZSA9IElO VEVMX1BJUEVfQ1JDX1NPVVJDRV9QRjsKQEAgLTU4Miw3ICs1ODMsNyBAQCBzdGF0aWMgaW50IGl2 Yl9waXBlX2NyY19jdGxfcmVnKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJ KnZhbCA9IFBJUEVfQ1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NPVVJDRV9TUFJJVEVfSVZCOwogCQli cmVhazsKIAljYXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QRjoKLQkJaWYgKChJU19IQVNXRUxM KGRldl9wcml2KSB8fAorCQlpZiAoc2V0X3dhICYmIChJU19IQVNXRUxMKGRldl9wcml2KSB8fAog CQkgICAgIElTX0JST0FEV0VMTChkZXZfcHJpdikpICYmIHBpcGUgPT0gUElQRV9BKQogCQkJaHN3 X3BpcGVfQV9jcmNfd2EoZGV2X3ByaXYsIHRydWUpOwogCkBAIC02MDAsNyArNjAxLDggQEAgc3Rh dGljIGludCBpdmJfcGlwZV9jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAKIHN0YXRpYyBpbnQgZ2V0X25ld19jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsCiAJCQkgICAgICAgZW51bSBwaXBlIHBpcGUsCi0JCQkgICAgICAg ZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwgdTMyICp2YWwpCisJCQkgICAgICAg ZW51bSBpbnRlbF9waXBlX2NyY19zb3VyY2UgKnNvdXJjZSwgdTMyICp2YWwsCisJCQkgICAgICAg Ym9vbCBzZXRfd2EpCiB7CiAJaWYgKElTX0dFTjIoZGV2X3ByaXYpKQogCQlyZXR1cm4gaTh4eF9w aXBlX2NyY19jdGxfcmVnKHNvdXJjZSwgdmFsKTsKQEAgLTYxMSw3ICs2MTMsNyBAQCBzdGF0aWMg aW50IGdldF9uZXdfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAogCWVsc2UgaWYgKElTX0dFTjUoZGV2X3ByaXYpIHx8IElTX0dFTjYoZGV2X3ByaXYpKQogCQly ZXR1cm4gaWxrX3BpcGVfY3JjX2N0bF9yZWcoc291cmNlLCB2YWwpOwogCWVsc2UKLQkJcmV0dXJu IGl2Yl9waXBlX2NyY19jdGxfcmVnKGRldl9wcml2LCBwaXBlLCBzb3VyY2UsIHZhbCk7CisJCXJl dHVybiBpdmJfcGlwZV9jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlwZSwgc291cmNlLCB2YWwsIHNl dF93YSk7CiB9CiAKIHN0YXRpYyBpbnQgcGlwZV9jcmNfc2V0X3NvdXJjZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCkBAIC02MzYsNyArNjM4LDcgQEAgc3RhdGljIGludCBwaXBl X2NyY19zZXRfc291cmNlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJcmV0 dXJuIC1FSU87CiAJfQogCi0JcmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhkZXZfcHJpdiwgcGlw ZSwgJnNvdXJjZSwgJnZhbCk7CisJcmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhkZXZfcHJpdiwg cGlwZSwgJnNvdXJjZSwgJnZhbCwgdHJ1ZSk7CiAJaWYgKHJldCAhPSAwKQogCQlnb3RvIG91dDsK IApAQCAtOTE2LDcgKzkxOCw3IEBAIGludCBpbnRlbF9waXBlX2NyY19jcmVhdGUoc3RydWN0IGRy bV9taW5vciAqbWlub3IpCiBpbnQgaW50ZWxfY3J0Y19zZXRfY3JjX3NvdXJjZShzdHJ1Y3QgZHJt X2NydGMgKmNydGMsIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLAogCQkJICAgICAgc2l6ZV90ICp2 YWx1ZXNfY250KQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNydGMt PmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0g dG9faTkxNShjcnRjLT5kZXYpOwogCXN0cnVjdCBpbnRlbF9waXBlX2NyYyAqcGlwZV9jcmMgPSAm ZGV2X3ByaXYtPnBpcGVfY3JjW2NydGMtPmluZGV4XTsKIAllbnVtIGludGVsX2Rpc3BsYXlfcG93 ZXJfZG9tYWluIHBvd2VyX2RvbWFpbjsKIAllbnVtIGludGVsX3BpcGVfY3JjX3NvdXJjZSBzb3Vy Y2U7CkBAIC05MzQsMTAgKzkzNiwxMSBAQCBpbnQgaW50ZWxfY3J0Y19zZXRfY3JjX3NvdXJjZShz dHJ1Y3QgZHJtX2NydGMgKmNydGMsIGNvbnN0IGNoYXIgKnNvdXJjZV9uYW1lLAogCQlyZXR1cm4g LUVJTzsKIAl9CiAKLQlyZXQgPSBnZXRfbmV3X2NyY19jdGxfcmVnKGRldl9wcml2LCBjcnRjLT5p bmRleCwgJnNvdXJjZSwgJnZhbCk7CisJcmV0ID0gZ2V0X25ld19jcmNfY3RsX3JlZyhkZXZfcHJp diwgY3J0Yy0+aW5kZXgsICZzb3VyY2UsICZ2YWwsIHRydWUpOwogCWlmIChyZXQgIT0gMCkKIAkJ Z290byBvdXQ7CiAKKwlwaXBlX2NyYy0+c291cmNlID0gc291cmNlOwogCUk5MTVfV1JJVEUoUElQ RV9DUkNfQ1RMKGNydGMtPmluZGV4KSwgdmFsKTsKIAlQT1NUSU5HX1JFQUQoUElQRV9DUkNfQ1RM KGNydGMtPmluZGV4KSk7CiAKQEAgLTk1OSwzICs5NjIsMzkgQEAgaW50IGludGVsX2NydGNfc2V0 X2NyY19zb3VyY2Uoc3RydWN0IGRybV9jcnRjICpjcnRjLCBjb25zdCBjaGFyICpzb3VyY2VfbmFt ZSwKIAogCXJldHVybiByZXQ7CiB9CisKK3ZvaWQgaW50ZWxfY3J0Y19lbmFibGVfcGlwZV9jcmMo c3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMpCit7CisJc3RydWN0IGRybV9jcnRjICpjcnRj ID0gJmludGVsX2NydGMtPmJhc2U7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0gdG9faTkxNShjcnRjLT5kZXYpOworCXN0cnVjdCBpbnRlbF9waXBlX2NyYyAqcGlwZV9jcmMg PSAmZGV2X3ByaXYtPnBpcGVfY3JjW2NydGMtPmluZGV4XTsKKwl1MzIgdmFsID0gMDsKKworCWlm ICghY3J0Yy0+Y3JjLm9wZW5lZCkKKwkJcmV0dXJuOworCisJaWYgKGdldF9uZXdfY3JjX2N0bF9y ZWcoZGV2X3ByaXYsIGNydGMtPmluZGV4LCAmcGlwZV9jcmMtPnNvdXJjZSwgJnZhbCwgZmFsc2Up IDwgMCkKKwkJcmV0dXJuOworCisJLyogRG9uJ3QgbmVlZCBwaXBlX2NyYy0+bG9jayBoZXJlLCBJ UlFzIGFyZSBub3QgZ2VuZXJhdGVkLiAqLworCXBpcGVfY3JjLT5za2lwcGVkID0gMDsKKworCUk5 MTVfV1JJVEUoUElQRV9DUkNfQ1RMKGNydGMtPmluZGV4KSwgdmFsKTsKKwlQT1NUSU5HX1JFQUQo UElQRV9DUkNfQ1RMKGNydGMtPmluZGV4KSk7Cit9CisKK3ZvaWQgaW50ZWxfY3J0Y19kaXNhYmxl X3BpcGVfY3JjKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQoreworCXN0cnVjdCBkcm1f Y3J0YyAqY3J0YyA9ICZpbnRlbF9jcnRjLT5iYXNlOworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUoY3J0Yy0+ZGV2KTsKKwlzdHJ1Y3QgaW50ZWxfcGlwZV9jcmMg KnBpcGVfY3JjID0gJmRldl9wcml2LT5waXBlX2NyY1tjcnRjLT5pbmRleF07CisKKwkvKiBTd2Fs bG93IGNyYydzIHVudGlsIHdlIHN0b3AgZ2VuZXJhdGluZyB0aGVtLiAqLworCXNwaW5fbG9ja19p cnEoJnBpcGVfY3JjLT5sb2NrKTsKKwlwaXBlX2NyYy0+c2tpcHBlZCA9IElOVF9NSU47CisJc3Bp bl91bmxvY2tfaXJxKCZwaXBlX2NyYy0+bG9jayk7CisKKwlJOTE1X1dSSVRFKFBJUEVfQ1JDX0NU TChjcnRjLT5pbmRleCksIDApOworCVBPU1RJTkdfUkVBRChQSVBFX0NSQ19DVEwoY3J0Yy0+aW5k ZXgpKTsKKwlzeW5jaHJvbml6ZV9pcnEoZGV2X3ByaXYtPmRybS5pcnEpOworfQotLSAKMi4xNi4y CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1n ZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK