From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville Syrjala Subject: [PATCH 1/9] drm/i915: Add .get_hw_state() method for planes Date: Wed, 11 Oct 2017 19:04:47 +0300 Message-ID: <20171011160455.1874-2-ville.syrjala@linux.intel.com> References: <20171011160455.1874-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 mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTPS id 546E26E6C1 for ; Wed, 11 Oct 2017 16:05:02 +0000 (UTC) In-Reply-To: <20171011160455.1874-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 Cc: =?UTF-8?q?Alex=20Villac=C3=ADs=20Lasso?= , Thierry Reding List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCkFk ZCBhIC5nZXRfaHdfc3RhdGUoKSBtZXRob2QgZm9yIHBsYW5lcywgcmV0dXJuaW5nIHRydWUgb3Ig ZmFsc2UKZGVwZW5kaW5nIG9uIHdoZXRoZXIgdGhlIHBsYW5lIGlzIGVuYWJsZWQuIFVzZSBpdCB0 byByZXdyaXRlIHRoZQpwbGFuZSBlbmFibGVkL2Rpc2FibGVkIGFzc2VydHMgaW4gcGxhdGZvcm0g YWdub3N0aWMgZmFzaGlvbi4KCldlIGRvIGxvc2UgdGhlIHByZS1nZW40IHBsYW5lPC0+cGlwZSBt YXBwaW5nIGNoZWNrcywgYnV0IHNpbmNlIHdlJ3JlCnN1cHBvc2VkIHNhbml0aXplIHRoYXQgYW55 d2F5IGl0IGRvZXNuJ3QgcmVhbGx5IG1hdHRlci4KCnYyOiBSZW9kZXIgcGF0Y2hlcyB0byBub3Qg ZGVwZW5kIG9uIGVudW0gb2xkX3BsYW5lX2lkCiAgICBKdXN0IGNhbGwgYXNzZXJ0X3BsYW5lX2Rp c2FibGVkKCkgZnJvbSBhc3NlcnRfcGxhbmVzX2Rpc2FibGVkKCkKCkNjOiBUaGllcnJ5IFJlZGlu ZyA8dGhpZXJyeS5yZWRpbmdAZ21haWwuY29tPgpDYzogQWxleCBWaWxsYWPDrXMgTGFzc28gPGFs ZXh2aWxsYWNpc2xhc3NvQGhvdG1haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBWaWxsZSBTeXJqw6Rs w6QgPHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYyB8IDE1NSArKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgIHwgICAxICsKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX3Nwcml0ZS5jICB8ICA0MyArKysrKysrKysrCiAzIGZpbGVz IGNoYW5nZWQsIDEwMSBpbnNlcnRpb25zKCspLCA5OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXggYjJjNWZiYTEwMmUxLi44MjVhYjAwYjY2MzkgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKQEAgLTExOTIsMjMgKzExOTIsNiBAQCB2 b2lkIGFzc2VydF9wYW5lbF91bmxvY2tlZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsIGVudW0gcGlwZSBwaXBlKQogCSAgICAgcGlwZV9uYW1lKHBpcGUpKTsKIH0KIAotc3RhdGlj IHZvaWQgYXNzZXJ0X2N1cnNvcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCi0J CQkgIGVudW0gcGlwZSBwaXBlLCBib29sIHN0YXRlKQotewotCWJvb2wgY3VyX3N0YXRlOwotCi0J aWYgKElTX0k4NDVHKGRldl9wcml2KSB8fCBJU19JODY1RyhkZXZfcHJpdikpCi0JCWN1cl9zdGF0 ZSA9IEk5MTVfUkVBRChDVVJDTlRSKFBJUEVfQSkpICYgQ1VSU09SX0VOQUJMRTsKLQllbHNlCi0J CWN1cl9zdGF0ZSA9IEk5MTVfUkVBRChDVVJDTlRSKHBpcGUpKSAmIENVUlNPUl9NT0RFOwotCi0J STkxNV9TVEFURV9XQVJOKGN1cl9zdGF0ZSAhPSBzdGF0ZSwKLQkgICAgICJjdXJzb3Igb24gcGlw ZSAlYyBhc3NlcnRpb24gZmFpbHVyZSAoZXhwZWN0ZWQgJXMsIGN1cnJlbnQgJXMpXG4iLAotCQkJ cGlwZV9uYW1lKHBpcGUpLCBvbm9mZihzdGF0ZSksIG9ub2ZmKGN1cl9zdGF0ZSkpOwotfQotI2Rl ZmluZSBhc3NlcnRfY3Vyc29yX2VuYWJsZWQoZCwgcCkgYXNzZXJ0X2N1cnNvcihkLCBwLCB0cnVl KQotI2RlZmluZSBhc3NlcnRfY3Vyc29yX2Rpc2FibGVkKGQsIHApIGFzc2VydF9jdXJzb3IoZCwg cCwgZmFsc2UpCi0KIHZvaWQgYXNzZXJ0X3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRl dl9wcml2LAogCQkgZW51bSBwaXBlIHBpcGUsIGJvb2wgc3RhdGUpCiB7CkBAIC0xMjM2LDc3ICsx MjE5LDI1IEBAIHZvaWQgYXNzZXJ0X3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LAogCQkJcGlwZV9uYW1lKHBpcGUpLCBvbm9mZihzdGF0ZSksIG9ub2ZmKGN1cl9zdGF0ZSkp OwogfQogCi1zdGF0aWMgdm9pZCBhc3NlcnRfcGxhbmUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2LAotCQkJIGVudW0gcGxhbmUgcGxhbmUsIGJvb2wgc3RhdGUpCitzdGF0aWMgdm9p ZCBhc3NlcnRfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgYm9vbCBzdGF0ZSkKIHsK LQl1MzIgdmFsOwotCWJvb2wgY3VyX3N0YXRlOworCWJvb2wgY3VyX3N0YXRlID0gcGxhbmUtPmdl dF9od19zdGF0ZShwbGFuZSk7CiAKLQl2YWwgPSBJOTE1X1JFQUQoRFNQQ05UUihwbGFuZSkpOwot CWN1cl9zdGF0ZSA9ICEhKHZhbCAmIERJU1BMQVlfUExBTkVfRU5BQkxFKTsKIAlJOTE1X1NUQVRF X1dBUk4oY3VyX3N0YXRlICE9IHN0YXRlLAotCSAgICAgInBsYW5lICVjIGFzc2VydGlvbiBmYWls dXJlIChleHBlY3RlZCAlcywgY3VycmVudCAlcylcbiIsCi0JCQlwbGFuZV9uYW1lKHBsYW5lKSwg b25vZmYoc3RhdGUpLCBvbm9mZihjdXJfc3RhdGUpKTsKKwkJCSIlcyBhc3NlcnRpb24gZmFpbHVy ZSAoZXhwZWN0ZWQgJXMsIGN1cnJlbnQgJXMpXG4iLAorCQkJcGxhbmUtPmJhc2UubmFtZSwgb25v ZmYoc3RhdGUpLCBvbm9mZihjdXJfc3RhdGUpKTsKIH0KIAotI2RlZmluZSBhc3NlcnRfcGxhbmVf ZW5hYmxlZChkLCBwKSBhc3NlcnRfcGxhbmUoZCwgcCwgdHJ1ZSkKLSNkZWZpbmUgYXNzZXJ0X3Bs YW5lX2Rpc2FibGVkKGQsIHApIGFzc2VydF9wbGFuZShkLCBwLCBmYWxzZSkKKyNkZWZpbmUgYXNz ZXJ0X3BsYW5lX2VuYWJsZWQocCkgYXNzZXJ0X3BsYW5lKHAsIHRydWUpCisjZGVmaW5lIGFzc2Vy dF9wbGFuZV9kaXNhYmxlZChwKSBhc3NlcnRfcGxhbmUocCwgZmFsc2UpCiAKLXN0YXRpYyB2b2lk IGFzc2VydF9wbGFuZXNfZGlzYWJsZWQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LAotCQkJCSAgIGVudW0gcGlwZSBwaXBlKQorc3RhdGljIHZvaWQgYXNzZXJ0X3BsYW5lc19kaXNh YmxlZChzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIHsKLQlpbnQgaTsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMtPmJhc2UuZGV2KTsKKwlzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lOwogCi0JLyogUHJpbWFyeSBwbGFuZXMgYXJlIGZpeGVkIHRvIHBp cGVzIG9uIGdlbjQrICovCi0JaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gNCkgewotCQl1MzIg dmFsID0gSTkxNV9SRUFEKERTUENOVFIocGlwZSkpOwotCQlJOTE1X1NUQVRFX1dBUk4odmFsICYg RElTUExBWV9QTEFORV9FTkFCTEUsCi0JCSAgICAgInBsYW5lICVjIGFzc2VydGlvbiBmYWlsdXJl LCBzaG91bGQgYmUgZGlzYWJsZWQgYnV0IG5vdFxuIiwKLQkJICAgICBwbGFuZV9uYW1lKHBpcGUp KTsKLQkJcmV0dXJuOwotCX0KLQotCS8qIE5lZWQgdG8gY2hlY2sgYm90aCBwbGFuZXMgYWdhaW5z dCB0aGUgcGlwZSAqLwotCWZvcl9lYWNoX3BpcGUoZGV2X3ByaXYsIGkpIHsKLQkJdTMyIHZhbCA9 IEk5MTVfUkVBRChEU1BDTlRSKGkpKTsKLQkJZW51bSBwaXBlIGN1cl9waXBlID0gKHZhbCAmIERJ U1BQTEFORV9TRUxfUElQRV9NQVNLKSA+PgotCQkJRElTUFBMQU5FX1NFTF9QSVBFX1NISUZUOwot CQlJOTE1X1NUQVRFX1dBUk4oKHZhbCAmIERJU1BMQVlfUExBTkVfRU5BQkxFKSAmJiBwaXBlID09 IGN1cl9waXBlLAotCQkgICAgICJwbGFuZSAlYyBhc3NlcnRpb24gZmFpbHVyZSwgc2hvdWxkIGJl IG9mZiBvbiBwaXBlICVjIGJ1dCBpcyBzdGlsbCBhY3RpdmVcbiIsCi0JCSAgICAgcGxhbmVfbmFt ZShpKSwgcGlwZV9uYW1lKHBpcGUpKTsKLQl9Ci19Ci0KLXN0YXRpYyB2b2lkIGFzc2VydF9zcHJp dGVzX2Rpc2FibGVkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKLQkJCQkgICAg ZW51bSBwaXBlIHBpcGUpCi17Ci0JaW50IHNwcml0ZTsKLQotCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpID49IDkpIHsKLQkJZm9yX2VhY2hfc3ByaXRlKGRldl9wcml2LCBwaXBlLCBzcHJpdGUpIHsK LQkJCXUzMiB2YWwgPSBJOTE1X1JFQUQoUExBTkVfQ1RMKHBpcGUsIHNwcml0ZSkpOwotCQkJSTkx NV9TVEFURV9XQVJOKHZhbCAmIFBMQU5FX0NUTF9FTkFCTEUsCi0JCQkgICAgICJwbGFuZSAlZCBh c3NlcnRpb24gZmFpbHVyZSwgc2hvdWxkIGJlIG9mZiBvbiBwaXBlICVjIGJ1dCBpcyBzdGlsbCBh Y3RpdmVcbiIsCi0JCQkgICAgIHNwcml0ZSwgcGlwZV9uYW1lKHBpcGUpKTsKLQkJfQotCX0gZWxz ZSBpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwgSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikp IHsKLQkJZm9yX2VhY2hfc3ByaXRlKGRldl9wcml2LCBwaXBlLCBzcHJpdGUpIHsKLQkJCXUzMiB2 YWwgPSBJOTE1X1JFQUQoU1BDTlRSKHBpcGUsIFBMQU5FX1NQUklURTAgKyBzcHJpdGUpKTsKLQkJ CUk5MTVfU1RBVEVfV0FSTih2YWwgJiBTUF9FTkFCTEUsCi0JCQkgICAgICJzcHJpdGUgJWMgYXNz ZXJ0aW9uIGZhaWx1cmUsIHNob3VsZCBiZSBvZmYgb24gcGlwZSAlYyBidXQgaXMgc3RpbGwgYWN0 aXZlXG4iLAotCQkJICAgICBzcHJpdGVfbmFtZShwaXBlLCBzcHJpdGUpLCBwaXBlX25hbWUocGlw ZSkpOwotCQl9Ci0JfSBlbHNlIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDcpIHsKLQkJdTMy IHZhbCA9IEk5MTVfUkVBRChTUFJDVEwocGlwZSkpOwotCQlJOTE1X1NUQVRFX1dBUk4odmFsICYg U1BSSVRFX0VOQUJMRSwKLQkJICAgICAic3ByaXRlICVjIGFzc2VydGlvbiBmYWlsdXJlLCBzaG91 bGQgYmUgb2ZmIG9uIHBpcGUgJWMgYnV0IGlzIHN0aWxsIGFjdGl2ZVxuIiwKLQkJICAgICBwbGFu ZV9uYW1lKHBpcGUpLCBwaXBlX25hbWUocGlwZSkpOwotCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRl dl9wcml2KSA+PSA1IHx8IElTX0c0WChkZXZfcHJpdikpIHsKLQkJdTMyIHZhbCA9IEk5MTVfUkVB RChEVlNDTlRSKHBpcGUpKTsKLQkJSTkxNV9TVEFURV9XQVJOKHZhbCAmIERWU19FTkFCTEUsCi0J CSAgICAgInNwcml0ZSAlYyBhc3NlcnRpb24gZmFpbHVyZSwgc2hvdWxkIGJlIG9mZiBvbiBwaXBl ICVjIGJ1dCBpcyBzdGlsbCBhY3RpdmVcbiIsCi0JCSAgICAgcGxhbmVfbmFtZShwaXBlKSwgcGlw ZV9uYW1lKHBpcGUpKTsKLQl9CisJZm9yX2VhY2hfaW50ZWxfcGxhbmVfb25fY3J0YygmZGV2X3By aXYtPmRybSwgY3J0YywgcGxhbmUpCisJCWFzc2VydF9wbGFuZV9kaXNhYmxlZChwbGFuZSk7CiB9 CiAKIHN0YXRpYyB2b2lkIGFzc2VydF92YmxhbmtfZGlzYWJsZWQoc3RydWN0IGRybV9jcnRjICpj cnRjKQpAQCAtMTg5OSw5ICsxODMwLDcgQEAgc3RhdGljIHZvaWQgaW50ZWxfZW5hYmxlX3BpcGUo c3RydWN0IGludGVsX2NydGMgKmNydGMpCiAKIAlEUk1fREVCVUdfS01TKCJlbmFibGluZyBwaXBl ICVjXG4iLCBwaXBlX25hbWUocGlwZSkpOwogCi0JYXNzZXJ0X3BsYW5lc19kaXNhYmxlZChkZXZf cHJpdiwgcGlwZSk7Ci0JYXNzZXJ0X2N1cnNvcl9kaXNhYmxlZChkZXZfcHJpdiwgcGlwZSk7Ci0J YXNzZXJ0X3Nwcml0ZXNfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOworCWFzc2VydF9wbGFuZXNf ZGlzYWJsZWQoY3J0Yyk7CiAKIAkvKgogCSAqIEEgcGlwZSB3aXRob3V0IGEgUExMIHdvbid0IGFj dHVhbGx5IGJlIGFibGUgdG8gZHJpdmUgYml0cyBmcm9tCkBAIC0xOTcxLDkgKzE5MDAsNyBAQCBz dGF0aWMgdm9pZCBpbnRlbF9kaXNhYmxlX3BpcGUoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJ ICogTWFrZSBzdXJlIHBsYW5lcyB3b24ndCBrZWVwIHRyeWluZyB0byBwdW1wIHBpeGVscyB0byB1 cywKIAkgKiBvciB3ZSBtaWdodCBoYW5nIHRoZSBkaXNwbGF5LgogCSAqLwotCWFzc2VydF9wbGFu ZXNfZGlzYWJsZWQoZGV2X3ByaXYsIHBpcGUpOwotCWFzc2VydF9jdXJzb3JfZGlzYWJsZWQoZGV2 X3ByaXYsIHBpcGUpOwotCWFzc2VydF9zcHJpdGVzX2Rpc2FibGVkKGRldl9wcml2LCBwaXBlKTsK Kwlhc3NlcnRfcGxhbmVzX2Rpc2FibGVkKGNydGMpOwogCiAJcmVnID0gUElQRUNPTkYoY3B1X3Ry YW5zY29kZXIpOwogCXZhbCA9IEk5MTVfUkVBRChyZWcpOwpAQCAtMzM3MCw2ICszMjk3LDE0IEBA IHN0YXRpYyB2b2lkIGk5eHhfZGlzYWJsZV9wcmltYXJ5X3BsYW5lKHN0cnVjdCBpbnRlbF9wbGFu ZSAqcHJpbWFyeSwKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXZfcHJpdi0+dW5jb3JlLmxv Y2ssIGlycWZsYWdzKTsKIH0KIAorc3RhdGljIGJvb2wgaTl4eF9wbGFuZV9nZXRfaHdfc3RhdGUo c3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IHRvX2k5MTUocHJpbWFyeS0+YmFzZS5kZXYpOworCWVudW0gcGxhbmUgcGxh bmUgPSBwcmltYXJ5LT5wbGFuZTsKKworCXJldHVybiBJOTE1X1JFQUQoRFNQQ05UUihwbGFuZSkp ICYgRElTUExBWV9QTEFORV9FTkFCTEU7Cit9CisKIHN0YXRpYyB1MzIKIGludGVsX2ZiX3N0cmlk ZV9hbGlnbm1lbnQoY29uc3Qgc3RydWN0IGRybV9mcmFtZWJ1ZmZlciAqZmIsIGludCBwbGFuZSkK IHsKQEAgLTM2MzgsNiArMzU3MywxNSBAQCBzdGF0aWMgdm9pZCBza3lsYWtlX2Rpc2FibGVfcHJp bWFyeV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnByaW1hcnksCiAJc3Bpbl91bmxvY2tfaXJx cmVzdG9yZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7CiB9CiAKK3N0YXRpYyBi b29sIHNreWxha2VfcHJpbWFyeV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHBsYW5l LT5iYXNlLmRldik7CisJZW51bSBwaXBlIHBpcGUgPSBwbGFuZS0+cGlwZTsKKwllbnVtIHBsYW5l X2lkIHBsYW5lX2lkID0gcGxhbmUtPmlkOworCisJcmV0dXJuIEk5MTVfUkVBRChQTEFORV9DVEwo cGlwZSwgcGxhbmVfaWQpKSAmIFBMQU5FX0NUTF9FTkFCTEU7Cit9CisKIHN0YXRpYyBpbnQKIF9f aW50ZWxfZGlzcGxheV9yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJICAgICAgIHN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKQEAgLTQ5NDQsNyArNDg4OCw4IEBAIHZvaWQg aHN3X2VuYWJsZV9pcHMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJICogYSB2Ymxhbmsgd2Fp dC4KIAkgKi8KIAotCWFzc2VydF9wbGFuZV9lbmFibGVkKGRldl9wcml2LCBjcnRjLT5wbGFuZSk7 CisJYXNzZXJ0X3BsYW5lX2VuYWJsZWQodG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5 KSk7CisKIAlpZiAoSVNfQlJPQURXRUxMKGRldl9wcml2KSkgewogCQltdXRleF9sb2NrKCZkZXZf cHJpdi0+cGN1X2xvY2spOwogCQlXQVJOX09OKHNhbmR5YnJpZGdlX3Bjb2RlX3dyaXRlKGRldl9w cml2LCBESVNQTEFZX0lQU19DT05UUk9MLApAQCAtNDk3Nyw3ICs0OTIyLDggQEAgdm9pZCBoc3df ZGlzYWJsZV9pcHMoc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJaWYgKCFjcnRjLT5jb25maWct Pmlwc19lbmFibGVkKQogCQlyZXR1cm47CiAKLQlhc3NlcnRfcGxhbmVfZW5hYmxlZChkZXZfcHJp diwgY3J0Yy0+cGxhbmUpOworCWFzc2VydF9wbGFuZV9lbmFibGVkKHRvX2ludGVsX3BsYW5lKGNy dGMtPmJhc2UucHJpbWFyeSkpOworCiAJaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpIHsKIAkJ bXV0ZXhfbG9jaygmZGV2X3ByaXYtPnBjdV9sb2NrKTsKIAkJV0FSTl9PTihzYW5keWJyaWRnZV9w Y29kZV93cml0ZShkZXZfcHJpdiwgRElTUExBWV9JUFNfQ09OVFJPTCwgMCkpOwpAQCAtOTU1Nyw2 ICs5NTAzLDEzIEBAIHN0YXRpYyB2b2lkIGk4NDVfZGlzYWJsZV9jdXJzb3Ioc3RydWN0IGludGVs X3BsYW5lICpwbGFuZSwKIAlpODQ1X3VwZGF0ZV9jdXJzb3IocGxhbmUsIE5VTEwsIE5VTEwpOwog fQogCitzdGF0aWMgYm9vbCBpODQ1X2N1cnNvcl9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX3Bs YW5lICpwbGFuZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19p OTE1KHBsYW5lLT5iYXNlLmRldik7CisKKwlyZXR1cm4gSTkxNV9SRUFEKENVUkNOVFIoUElQRV9B KSkgJiBDVVJTT1JfRU5BQkxFOworfQorCiBzdGF0aWMgdTMyIGk5eHhfY3Vyc29yX2N0bChjb25z dCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgIGNvbnN0IHN0cnVj dCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVfc3RhdGUpCiB7CkBAIC05NzUwLDYgKzk3MDMsMTMg QEAgc3RhdGljIHZvaWQgaTl4eF9kaXNhYmxlX2N1cnNvcihzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBs YW5lLAogCWk5eHhfdXBkYXRlX2N1cnNvcihwbGFuZSwgTlVMTCwgTlVMTCk7CiB9CiAKK3N0YXRp YyBib29sIGk5eHhfY3Vyc29yX2dldF9od19zdGF0ZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5l KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUocGxhbmUt PmJhc2UuZGV2KTsKKwllbnVtIHBpcGUgcGlwZSA9IHBsYW5lLT5waXBlOworCisJcmV0dXJuIEk5 MTVfUkVBRChDVVJDTlRSKHBpcGUpKSAmIENVUlNPUl9NT0RFOworfQogCiAvKiBWRVNBIDY0MHg0 ODB4NzJIeiBtb2RlIHRvIHNldCBvbiB0aGUgcGlwZSAqLwogc3RhdGljIGNvbnN0IHN0cnVjdCBk cm1fZGlzcGxheV9tb2RlIGxvYWRfZGV0ZWN0X21vZGUgPSB7CkBAIC0xMzIzNSw2ICsxMzE5NSw3 IEBAIGludGVsX3ByaW1hcnlfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwgZW51bSBwaXBlIHBpcGUpCiAKIAkJcHJpbWFyeS0+dXBkYXRlX3BsYW5lID0gc2t5 bGFrZV91cGRhdGVfcHJpbWFyeV9wbGFuZTsKIAkJcHJpbWFyeS0+ZGlzYWJsZV9wbGFuZSA9IHNr eWxha2VfZGlzYWJsZV9wcmltYXJ5X3BsYW5lOworCQlwcmltYXJ5LT5nZXRfaHdfc3RhdGUgPSBz a3lsYWtlX3ByaW1hcnlfZ2V0X2h3X3N0YXRlOwogCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9w cml2KSA+PSA5KSB7CiAJCWludGVsX3ByaW1hcnlfZm9ybWF0cyA9IHNrbF9wcmltYXJ5X2Zvcm1h dHM7CiAJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcHJpbWFyeV9mb3JtYXRzKTsKQEAg LTEzMjQ1LDYgKzEzMjA2LDcgQEAgaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKIAogCQlwcmltYXJ5LT51 cGRhdGVfcGxhbmUgPSBza3lsYWtlX3VwZGF0ZV9wcmltYXJ5X3BsYW5lOwogCQlwcmltYXJ5LT5k aXNhYmxlX3BsYW5lID0gc2t5bGFrZV9kaXNhYmxlX3ByaW1hcnlfcGxhbmU7CisJCXByaW1hcnkt PmdldF9od19zdGF0ZSA9IHNreWxha2VfcHJpbWFyeV9nZXRfaHdfc3RhdGU7CiAJfSBlbHNlIGlm IChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDQpIHsKIAkJaW50ZWxfcHJpbWFyeV9mb3JtYXRzID0g aTk2NV9wcmltYXJ5X2Zvcm1hdHM7CiAJCW51bV9mb3JtYXRzID0gQVJSQVlfU0laRShpOTY1X3By aW1hcnlfZm9ybWF0cyk7CkBAIC0xMzI1Miw2ICsxMzIxNCw3IEBAIGludGVsX3ByaW1hcnlfcGxh bmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwgZW51bSBwaXBlIHBp cGUpCiAKIAkJcHJpbWFyeS0+dXBkYXRlX3BsYW5lID0gaTl4eF91cGRhdGVfcHJpbWFyeV9wbGFu ZTsKIAkJcHJpbWFyeS0+ZGlzYWJsZV9wbGFuZSA9IGk5eHhfZGlzYWJsZV9wcmltYXJ5X3BsYW5l OworCQlwcmltYXJ5LT5nZXRfaHdfc3RhdGUgPSBpOXh4X3BsYW5lX2dldF9od19zdGF0ZTsKIAl9 IGVsc2UgewogCQlpbnRlbF9wcmltYXJ5X2Zvcm1hdHMgPSBpOHh4X3ByaW1hcnlfZm9ybWF0czsK IAkJbnVtX2Zvcm1hdHMgPSBBUlJBWV9TSVpFKGk4eHhfcHJpbWFyeV9mb3JtYXRzKTsKQEAgLTEz MjU5LDYgKzEzMjIyLDcgQEAgaW50ZWxfcHJpbWFyeV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LCBlbnVtIHBpcGUgcGlwZSkKIAogCQlwcmltYXJ5LT51cGRh dGVfcGxhbmUgPSBpOXh4X3VwZGF0ZV9wcmltYXJ5X3BsYW5lOwogCQlwcmltYXJ5LT5kaXNhYmxl X3BsYW5lID0gaTl4eF9kaXNhYmxlX3ByaW1hcnlfcGxhbmU7CisJCXByaW1hcnktPmdldF9od19z dGF0ZSA9IGk5eHhfcGxhbmVfZ2V0X2h3X3N0YXRlOwogCX0KIAogCWlmIChJTlRFTF9HRU4oZGV2 X3ByaXYpID49IDkpCkBAIC0xMzM0OCwxMCArMTMzMTIsMTIgQEAgaW50ZWxfY3Vyc29yX3BsYW5l X2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJaWYgKElTX0k4NDVH KGRldl9wcml2KSB8fCBJU19JODY1RyhkZXZfcHJpdikpIHsKIAkJY3Vyc29yLT51cGRhdGVfcGxh bmUgPSBpODQ1X3VwZGF0ZV9jdXJzb3I7CiAJCWN1cnNvci0+ZGlzYWJsZV9wbGFuZSA9IGk4NDVf ZGlzYWJsZV9jdXJzb3I7CisJCWN1cnNvci0+Z2V0X2h3X3N0YXRlID0gaTg0NV9jdXJzb3JfZ2V0 X2h3X3N0YXRlOwogCQljdXJzb3ItPmNoZWNrX3BsYW5lID0gaTg0NV9jaGVja19jdXJzb3I7CiAJ fSBlbHNlIHsKIAkJY3Vyc29yLT51cGRhdGVfcGxhbmUgPSBpOXh4X3VwZGF0ZV9jdXJzb3I7CiAJ CWN1cnNvci0+ZGlzYWJsZV9wbGFuZSA9IGk5eHhfZGlzYWJsZV9jdXJzb3I7CisJCWN1cnNvci0+ Z2V0X2h3X3N0YXRlID0gaTl4eF9jdXJzb3JfZ2V0X2h3X3N0YXRlOwogCQljdXJzb3ItPmNoZWNr X3BsYW5lID0gaTl4eF9jaGVja19jdXJzb3I7CiAJfQogCkBAIC0xNDY5OSw4ICsxNDY2NSw4IEBA IHZvaWQgaTgzMF9kaXNhYmxlX3BpcGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 LCBlbnVtIHBpcGUgcGlwZSkKIAlEUk1fREVCVUdfS01TKCJkaXNhYmxpbmcgcGlwZSAlYyBkdWUg dG8gZm9yY2UgcXVpcmtcbiIsCiAJCSAgICAgIHBpcGVfbmFtZShwaXBlKSk7CiAKLQlhc3NlcnRf cGxhbmVfZGlzYWJsZWQoZGV2X3ByaXYsIFBMQU5FX0EpOwotCWFzc2VydF9wbGFuZV9kaXNhYmxl ZChkZXZfcHJpdiwgUExBTkVfQik7CisJYXNzZXJ0X3BsYW5lc19kaXNhYmxlZChpbnRlbF9nZXRf Y3J0Y19mb3JfcGlwZShkZXZfcHJpdiwgUElQRV9BKSk7CisJYXNzZXJ0X3BsYW5lc19kaXNhYmxl ZChpbnRlbF9nZXRfY3J0Y19mb3JfcGlwZShkZXZfcHJpdiwgUElQRV9CKSk7CiAKIAlJOTE1X1dS SVRFKFBJUEVDT05GKHBpcGUpLCAwKTsKIAlQT1NUSU5HX1JFQUQoUElQRUNPTkYocGlwZSkpOwpA QCAtMTQ5MTQsMjAgKzE0ODgwLDEzIEBAIHZvaWQgaTkxNV9yZWRpc2FibGVfdmdhKHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dChkZXZf cHJpdiwgUE9XRVJfRE9NQUlOX1ZHQSk7CiB9CiAKLXN0YXRpYyBib29sIHByaW1hcnlfZ2V0X2h3 X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOwotCi0JcmV0dXJuIEk5 MTVfUkVBRChEU1BDTlRSKHBsYW5lLT5wbGFuZSkpICYgRElTUExBWV9QTEFORV9FTkFCTEU7Ci19 Ci0KIC8qIEZJWE1FIHJlYWQgb3V0IGZ1bGwgcGxhbmUgc3RhdGUgZm9yIGFsbCBwbGFuZXMgKi8K IHN0YXRpYyB2b2lkIHJlYWRvdXRfcGxhbmVfc3RhdGUoc3RydWN0IGludGVsX2NydGMgKmNydGMp CiB7CiAJc3RydWN0IGludGVsX3BsYW5lICpwcmltYXJ5ID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+ YmFzZS5wcmltYXJ5KTsKIAlib29sIHZpc2libGU7CiAKLQl2aXNpYmxlID0gY3J0Yy0+YWN0aXZl ICYmIHByaW1hcnlfZ2V0X2h3X3N0YXRlKHByaW1hcnkpOworCXZpc2libGUgPSBjcnRjLT5hY3Rp dmUgJiYgcHJpbWFyeS0+Z2V0X2h3X3N0YXRlKHByaW1hcnkpOwogCiAJaW50ZWxfc2V0X3BsYW5l X3Zpc2libGUodG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRlKSwKIAkJCQl0b19p bnRlbF9wbGFuZV9zdGF0ZShwcmltYXJ5LT5iYXNlLnN0YXRlKSwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHJ2LmgKaW5kZXggY2RkYTBhODRiYWJlLi4yNGJiZjA1MTg0NzMgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2Rydi5oCkBAIC04NjgsNiArODY4LDcgQEAgc3RydWN0IGludGVsX3BsYW5lIHsKIAkJCSAg ICAgY29uc3Qgc3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSk7CiAJdm9pZCAo KmRpc2FibGVfcGxhbmUpKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUsCiAJCQkgICAgICBzdHJ1 Y3QgaW50ZWxfY3J0YyAqY3J0Yyk7CisJYm9vbCAoKmdldF9od19zdGF0ZSkoc3RydWN0IGludGVs X3BsYW5lICpwbGFuZSk7CiAJaW50ICgqY2hlY2tfcGxhbmUpKHN0cnVjdCBpbnRlbF9wbGFuZSAq cGxhbmUsCiAJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAg IHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqc3RhdGUpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9z cHJpdGUuYwppbmRleCBmMjkzNjk2MjJkMmMuLmE1MzNkZjZmZTcwNiAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfc3ByaXRlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfc3ByaXRlLmMKQEAgLTMyOSw2ICszMjksMTYgQEAgc2tsX2Rpc2FibGVfcGxhbmUo c3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgc3RydWN0IGludGVsX2NydGMgKmNydGMpCiAJc3Bp bl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBpcnFmbGFncyk7CiB9 CiAKK3N0YXRpYyBib29sCitza2xfcGxhbmVfZ2V0X2h3X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFu ZSAqcGxhbmUpCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkx NShwbGFuZS0+YmFzZS5kZXYpOworCWVudW0gcGxhbmVfaWQgcGxhbmVfaWQgPSBwbGFuZS0+aWQ7 CisJZW51bSBwaXBlIHBpcGUgPSBwbGFuZS0+cGlwZTsKKworCXJldHVybiBJOTE1X1JFQUQoUExB TkVfQ1RMKHBpcGUsIHBsYW5lX2lkKSkgJiBQTEFORV9DVExfRU5BQkxFOworfQorCiBzdGF0aWMg dm9pZAogY2h2X3VwZGF0ZV9jc2Moc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgdWludDMyX3Qg Zm9ybWF0KQogewpAQCAtNTA2LDYgKzUxNiwxNiBAQCB2bHZfZGlzYWJsZV9wbGFuZShzdHJ1Y3Qg aW50ZWxfcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YykKIAlzcGluX3VubG9j a19pcnFyZXN0b3JlKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2ssIGlycWZsYWdzKTsKIH0KIAorc3Rh dGljIGJvb2wKK3Zsdl9wbGFuZV9nZXRfaHdfc3RhdGUoc3RydWN0IGludGVsX3BsYW5lICpwbGFu ZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHBsYW5l LT5iYXNlLmRldik7CisJZW51bSBwbGFuZV9pZCBwbGFuZV9pZCA9IHBsYW5lLT5pZDsKKwllbnVt IHBpcGUgcGlwZSA9IHBsYW5lLT5waXBlOworCisJcmV0dXJuIEk5MTVfUkVBRChTUENOVFIocGlw ZSwgcGxhbmVfaWQpKSAmIFNQX0VOQUJMRTsKK30KKwogc3RhdGljIHUzMiBpdmJfc3ByaXRlX2N0 bChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKIAkJCSAgY29uc3Qg c3RydWN0IGludGVsX3BsYW5lX3N0YXRlICpwbGFuZV9zdGF0ZSkKIHsKQEAgLTY0Niw2ICs2NjYs MTUgQEAgaXZiX2Rpc2FibGVfcGxhbmUoc3RydWN0IGludGVsX3BsYW5lICpwbGFuZSwgc3RydWN0 IGludGVsX2NydGMgKmNydGMpCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnVu Y29yZS5sb2NrLCBpcnFmbGFncyk7CiB9CiAKK3N0YXRpYyBib29sCitpdmJfcGxhbmVfZ2V0X2h3 X3N0YXRlKHN0cnVjdCBpbnRlbF9wbGFuZSAqcGxhbmUpCit7CisJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFuZS0+YmFzZS5kZXYpOworCWVudW0gcGlwZSBw aXBlID0gcGxhbmUtPnBpcGU7CisKKwlyZXR1cm4gSTkxNV9SRUFEKFNQUkNUTChwaXBlKSkgJiBT UFJJVEVfRU5BQkxFOworfQorCiBzdGF0aWMgdTMyIGc0eF9zcHJpdGVfY3RsKGNvbnN0IHN0cnVj dCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlLAogCQkJICBjb25zdCBzdHJ1Y3QgaW50ZWxf cGxhbmVfc3RhdGUgKnBsYW5lX3N0YXRlKQogewpAQCAtNzc3LDYgKzgwNiwxNSBAQCBnNHhfZGlz YWJsZV9wbGFuZShzdHJ1Y3QgaW50ZWxfcGxhbmUgKnBsYW5lLCBzdHJ1Y3QgaW50ZWxfY3J0YyAq Y3J0YykKIAlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZkZXZfcHJpdi0+dW5jb3JlLmxvY2ssIGly cWZsYWdzKTsKIH0KIAorc3RhdGljIGJvb2wKK2c0eF9wbGFuZV9nZXRfaHdfc3RhdGUoc3RydWN0 IGludGVsX3BsYW5lICpwbGFuZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSB0b19pOTE1KHBsYW5lLT5iYXNlLmRldik7CisJZW51bSBwaXBlIHBpcGUgPSBwbGFuZS0+ cGlwZTsKKworCXJldHVybiBJOTE1X1JFQUQoRFZTQ05UUihwaXBlKSkgJiBEVlNfRU5BQkxFOwor fQorCiBzdGF0aWMgaW50CiBpbnRlbF9jaGVja19zcHJpdGVfcGxhbmUoc3RydWN0IGludGVsX3Bs YW5lICpwbGFuZSwKIAkJCSBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0ZSwKQEAg LTEyMzIsNiArMTI3MCw3IEBAIGludGVsX3Nwcml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJCWludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUgPSBz a2xfdXBkYXRlX3BsYW5lOwogCQlpbnRlbF9wbGFuZS0+ZGlzYWJsZV9wbGFuZSA9IHNrbF9kaXNh YmxlX3BsYW5lOworCQlpbnRlbF9wbGFuZS0+Z2V0X2h3X3N0YXRlID0gc2tsX3BsYW5lX2dldF9o d19zdGF0ZTsKIAogCQlwbGFuZV9mb3JtYXRzID0gc2tsX3BsYW5lX2Zvcm1hdHM7CiAJCW51bV9w bGFuZV9mb3JtYXRzID0gQVJSQVlfU0laRShza2xfcGxhbmVfZm9ybWF0cyk7CkBAIC0xMjQyLDYg KzEyODEsNyBAQCBpbnRlbF9zcHJpdGVfcGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiwKIAogCQlpbnRlbF9wbGFuZS0+dXBkYXRlX3BsYW5lID0gc2tsX3VwZGF0 ZV9wbGFuZTsKIAkJaW50ZWxfcGxhbmUtPmRpc2FibGVfcGxhbmUgPSBza2xfZGlzYWJsZV9wbGFu ZTsKKwkJaW50ZWxfcGxhbmUtPmdldF9od19zdGF0ZSA9IHNrbF9wbGFuZV9nZXRfaHdfc3RhdGU7 CiAKIAkJcGxhbmVfZm9ybWF0cyA9IHNrbF9wbGFuZV9mb3JtYXRzOwogCQludW1fcGxhbmVfZm9y bWF0cyA9IEFSUkFZX1NJWkUoc2tsX3BsYW5lX2Zvcm1hdHMpOwpAQCAtMTI1Miw2ICsxMjkyLDcg QEAgaW50ZWxfc3ByaXRlX3BsYW5lX2NyZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAKIAkJaW50ZWxfcGxhbmUtPnVwZGF0ZV9wbGFuZSA9IHZsdl91cGRhdGVfcGxhbmU7 CiAJCWludGVsX3BsYW5lLT5kaXNhYmxlX3BsYW5lID0gdmx2X2Rpc2FibGVfcGxhbmU7CisJCWlu dGVsX3BsYW5lLT5nZXRfaHdfc3RhdGUgPSB2bHZfcGxhbmVfZ2V0X2h3X3N0YXRlOwogCiAJCXBs YW5lX2Zvcm1hdHMgPSB2bHZfcGxhbmVfZm9ybWF0czsKIAkJbnVtX3BsYW5lX2Zvcm1hdHMgPSBB UlJBWV9TSVpFKHZsdl9wbGFuZV9mb3JtYXRzKTsKQEAgLTEyNjcsNiArMTMwOCw3IEBAIGludGVs X3Nwcml0ZV9wbGFuZV9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAog CiAJCWludGVsX3BsYW5lLT51cGRhdGVfcGxhbmUgPSBpdmJfdXBkYXRlX3BsYW5lOwogCQlpbnRl bF9wbGFuZS0+ZGlzYWJsZV9wbGFuZSA9IGl2Yl9kaXNhYmxlX3BsYW5lOworCQlpbnRlbF9wbGFu ZS0+Z2V0X2h3X3N0YXRlID0gaXZiX3BsYW5lX2dldF9od19zdGF0ZTsKIAogCQlwbGFuZV9mb3Jt YXRzID0gc25iX3BsYW5lX2Zvcm1hdHM7CiAJCW51bV9wbGFuZV9mb3JtYXRzID0gQVJSQVlfU0la RShzbmJfcGxhbmVfZm9ybWF0cyk7CkBAIC0xMjc3LDYgKzEzMTksNyBAQCBpbnRlbF9zcHJpdGVf cGxhbmVfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCQlpbnRl bF9wbGFuZS0+dXBkYXRlX3BsYW5lID0gZzR4X3VwZGF0ZV9wbGFuZTsKIAkJaW50ZWxfcGxhbmUt PmRpc2FibGVfcGxhbmUgPSBnNHhfZGlzYWJsZV9wbGFuZTsKKwkJaW50ZWxfcGxhbmUtPmdldF9o d19zdGF0ZSA9IGc0eF9wbGFuZV9nZXRfaHdfc3RhdGU7CiAKIAkJbW9kaWZpZXJzID0gaTl4eF9w bGFuZV9mb3JtYXRfbW9kaWZpZXJzOwogCQlpZiAoSVNfR0VONihkZXZfcHJpdikpIHsKLS0gCjIu MTMuNgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50 ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==