From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: [PATCH v3 3/8] drm/i915: make enable/disable rpm assert function use the rpm structure Date: Thu, 13 Jun 2019 16:21:51 -0700 Message-ID: <20190613232156.34940-4-daniele.ceraolospurio@intel.com> References: <20190613232156.34940-1-daniele.ceraolospurio@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 B4AB789304 for ; Thu, 13 Jun 2019 23:22:22 +0000 (UTC) In-Reply-To: <20190613232156.34940-1-daniele.ceraolospurio@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 V2l0aCB0aGlzIGFsbCB0aGUgcnBtIGFzc2VydC1yZWxhdGVkIGZ1bmN0aW9ucyBjb25zaXN0ZW50 bHkgd29yayBvbgp0aGUgaTkxNV9ydW50aW1lX3BtIHN0cnVjdHVyZQoKU2lnbmVkLW9mZi1ieTog RGFuaWVsZSBDZXJhb2xvIFNwdXJpbyA8ZGFuaWVsZS5jZXJhb2xvc3B1cmlvQGludGVsLmNvbT4K Q2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENocmlzIFdp bHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmMgICAgIHwgNDggKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tLS0KIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfaXJxLmMgICAgIHwgMzIgKysrKysrKysrLS0tLS0tLS0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggICAgfCAxMiArKysrLS0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgfCAxMiArKysrLS0tLQogNCBmaWxlcyBjaGFu Z2VkLCA1MyBpbnNlcnRpb25zKCspLCA1MSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9k cnYuYwppbmRleCAyNTRmN2I3ZGYzMDYuLjExOGQ3NzQ1MDZhZSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2Rydi5jCkBAIC0xODg5LDcgKzE4ODksNyBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3Qg cGNpX2RldiAqcGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIAlpZiAocmV0 IDwgMCkKIAkJZ290byBvdXRfcGNpX2Rpc2FibGU7CiAKLQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fz c2VydHMoZGV2X3ByaXYpOworCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2X3ByaXYt PnJ1bnRpbWVfcG0pOwogCiAJcmV0ID0gaTkxNV9kcml2ZXJfaW5pdF9tbWlvKGRldl9wcml2KTsK IAlpZiAocmV0IDwgMCkKQEAgLTE5MDUsNyArMTkwNSw3IEBAIGludCBpOTE1X2RyaXZlcl9sb2Fk KHN0cnVjdCBwY2lfZGV2ICpwZGV2LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQog CiAJaTkxNV9kcml2ZXJfcmVnaXN0ZXIoZGV2X3ByaXYpOwogCi0JZW5hYmxlX3JwbV93YWtlcmVm X2Fzc2VydHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZfcHJp di0+cnVudGltZV9wbSk7CiAKIAlpOTE1X3dlbGNvbWVfbWVzc2FnZXMoZGV2X3ByaXYpOwogCkBA IC0xOTE3LDcgKzE5MTcsNyBAQCBpbnQgaTkxNV9kcml2ZXJfbG9hZChzdHJ1Y3QgcGNpX2RldiAq cGRldiwgY29uc3Qgc3RydWN0IHBjaV9kZXZpY2VfaWQgKmVudCkKIG91dF9jbGVhbnVwX21taW86 CiAJaTkxNV9kcml2ZXJfY2xlYW51cF9tbWlvKGRldl9wcml2KTsKIG91dF9ydW50aW1lX3BtX3B1 dDoKLQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZW5hYmxlX3JwbV93 YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAlpOTE1X2RyaXZlcl9jbGVh bnVwX2Vhcmx5KGRldl9wcml2KTsKIG91dF9wY2lfZGlzYWJsZToKIAlwY2lfZGlzYWJsZV9kZXZp Y2UocGRldik7CkBAIC0xOTMyLDcgKzE5MzIsNyBAQCB2b2lkIGk5MTVfZHJpdmVyX3VubG9hZChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diA9IHRvX2k5MTUoZGV2KTsKIAlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGRldl9wcml2LT5kcm0u cGRldjsKIAotCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZGlzYWJs ZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlpOTE1X2Ry aXZlcl91bnJlZ2lzdGVyKGRldl9wcml2KTsKIApAQCAtMTk3MSwyMSArMTk3MSwyMSBAQCB2b2lk IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJaTkxNV9kcml2 ZXJfY2xlYW51cF9odyhkZXZfcHJpdik7CiAKLQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhk ZXZfcHJpdik7CisJZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1l X3BtKTsKIH0KIAogc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfcmVsZWFzZShzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KQogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKIAotCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZGlz YWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlpOTE1 X2dlbV9maW5pKGRldl9wcml2KTsKIAogCWk5MTVfZ2d0dF9jbGVhbnVwX2h3KGRldl9wcml2KTsK IAlpOTE1X2RyaXZlcl9jbGVhbnVwX21taW8oZGV2X3ByaXYpOwogCi0JZW5hYmxlX3JwbV93YWtl cmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZf cHJpdi0+cnVudGltZV9wbSk7CiAJaW50ZWxfcnVudGltZV9wbV9jbGVhbnVwKGRldl9wcml2KTsK IAogCWk5MTVfZHJpdmVyX2NsZWFudXBfZWFybHkoZGV2X3ByaXYpOwpAQCAtMjA4MCw3ICsyMDgw LDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9zdXNwZW5kKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYp CiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBkZXZfcHJpdi0+ZHJtLnBkZXY7CiAJcGNpX3Bvd2Vy X3Qgb3ByZWdpb25fdGFyZ2V0X3N0YXRlOwogCi0JZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRz KGRldl9wcml2KTsKKwlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50 aW1lX3BtKTsKIAogCS8qIFdlIGRvIGEgbG90IG9mIHBva2luZyBpbiBhIGxvdCBvZiByZWdpc3Rl cnMsIG1ha2Ugc3VyZSB0aGV5IHdvcmsKIAkgKiBwcm9wZXJseS4gKi8KQEAgLTIxMTQsNyArMjEx NCw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 KQogCiAJaW50ZWxfY3NyX3Vjb2RlX3N1c3BlbmQoZGV2X3ByaXYpOwogCi0JZW5hYmxlX3JwbV93 YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZk ZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIxMzcsNyArMjEzNyw3 IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fc3VzcGVuZF9sYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpk ZXYsIGJvb2wgaGliZXJuYXRpb24pCiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSBkZXZfcHJpdi0+ ZHJtLnBkZXY7CiAJaW50IHJldDsKIAotCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZf cHJpdik7CisJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZfcHJpdi0+cnVudGltZV9w bSk7CiAKIAlpOTE1X2dlbV9zdXNwZW5kX2xhdGUoZGV2X3ByaXYpOwogCkBAIC0yMTc4LDcgKzIx NzgsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3N1c3BlbmRfbGF0ZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LCBib29sIGhpYmVybmF0aW9uKQogCQlwY2lfc2V0X3Bvd2VyX3N0YXRlKHBkZXYsIFBD SV9EM2hvdCk7CiAKIG91dDoKLQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7 CisJZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAlp ZiAoIWRldl9wcml2LT51bmNvcmUudXNlcl9mb3JjZXdha2UuY291bnQpCiAJCWludGVsX3J1bnRp bWVfcG1fY2xlYW51cChkZXZfcHJpdik7CiAKQEAgLTIyMTQsNyArMjIxNCw3IEBAIHN0YXRpYyBp bnQgaTkxNV9kcm1fcmVzdW1lKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOwogCWludCByZXQ7CiAKLQlkaXNh YmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWRpc2FibGVfcnBtX3dha2VyZWZf YXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwogCWludGVsX3Nhbml0aXplX2d0X3Bvd2Vy c2F2ZShkZXZfcHJpdik7CiAKIAlpOTE1X2dlbV9zYW5pdGl6ZShkZXZfcHJpdik7CkBAIC0yMjc0 LDcgKzIyNzQsNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3Jlc3VtZShzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCiAJaW50ZWxfcG93ZXJfZG9tYWluc19lbmFibGUoZGV2X3ByaXYpOwogCi0JZW5h YmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9h c3NlcnRzKCZkZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlyZXR1cm4gMDsKIH0KQEAgLTIzMjks NyArMjMyOSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAKIAlwY2lfc2V0X21hc3RlcihwZGV2KTsKIAotCWRpc2FibGVfcnBtX3dh a2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZk ZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlpZiAoSVNfVkFMTEVZVklFVyhkZXZfcHJpdikgfHwg SVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpCiAJCXJldCA9IHZsdl9yZXN1bWVfcHJlcGFyZShkZXZf cHJpdiwgZmFsc2UpOwpAQCAtMjM1NCw3ICsyMzU0LDcgQEAgc3RhdGljIGludCBpOTE1X2RybV9y ZXN1bWVfZWFybHkoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogCWludGVsX2d0X3Nhbml0aXpl KGRldl9wcml2LCB0cnVlKTsKIAotCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2 KTsKKwllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwog CiAJcmV0dXJuIHJldDsKIH0KQEAgLTI4ODksNiArMjg4OSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxf cnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiAJc3RydWN0IHBjaV9kZXYgKnBk ZXYgPSB0b19wY2lfZGV2KGtkZXYpOwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0 X2RydmRhdGEocGRldik7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9f aTkxNShkZXYpOworCXN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSA9ICZkZXZfcHJpdi0+cnVu dGltZV9wbTsKIAlpbnQgcmV0OwogCiAJaWYgKFdBUk5fT05fT05DRSghKGRldl9wcml2LT5ndF9w bS5yYzYuZW5hYmxlZCAmJiBIQVNfUkM2KGRldl9wcml2KSkpKQpAQCAtMjg5OSw3ICsyOTAwLDcg QEAgc3RhdGljIGludCBpbnRlbF9ydW50aW1lX3N1c3BlbmQoc3RydWN0IGRldmljZSAqa2RldikK IAogCURSTV9ERUJVR19LTVMoIlN1c3BlbmRpbmcgZGV2aWNlXG4iKTsKIAotCWRpc2FibGVfcnBt X3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRz KHJwbSk7CiAKIAkvKgogCSAqIFdlIGFyZSBzYWZlIGhlcmUgYWdhaW5zdCByZS1mYXVsdHMsIHNp bmNlIHRoZSBmYXVsdCBoYW5kbGVyIHRha2VzCkBAIC0yOTM3LDE4ICsyOTM4LDE4IEBAIHN0YXRp YyBpbnQgaW50ZWxfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBkZXZpY2UgKmtkZXYpCiAJCWk5MTVf Z2VtX2luaXRfc3dpenpsaW5nKGRldl9wcml2KTsKIAkJaTkxNV9nZW1fcmVzdG9yZV9mZW5jZXMo ZGV2X3ByaXYpOwogCi0JCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKKwkJ ZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMocnBtKTsKIAogCQlyZXR1cm4gcmV0OwogCX0KIAot CWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKKwllbmFibGVfcnBtX3dha2Vy ZWZfYXNzZXJ0cyhycG0pOwogCWludGVsX3J1bnRpbWVfcG1fY2xlYW51cChkZXZfcHJpdik7CiAK IAlpZiAoaW50ZWxfdW5jb3JlX2FybV91bmNsYWltZWRfbW1pb19kZXRlY3Rpb24oJmRldl9wcml2 LT51bmNvcmUpKQogCQlEUk1fRVJST1IoIlVuY2xhaW1lZCBhY2Nlc3MgZGV0ZWN0ZWQgcHJpb3Ig dG8gc3VzcGVuZGluZ1xuIik7CiAKLQlkZXZfcHJpdi0+cnVudGltZV9wbS5zdXNwZW5kZWQgPSB0 cnVlOworCXJwbS0+c3VzcGVuZGVkID0gdHJ1ZTsKIAogCS8qCiAJICogRklYTUU6IFdlIHJlYWxs eSBzaG91bGQgZmluZCBhIGRvY3VtZW50IHRoYXQgcmVmZXJlbmNlcyB0aGUgYXJndW1lbnRzCkBA IC0yOTg3LDYgKzI5ODgsNyBAQCBzdGF0aWMgaW50IGludGVsX3J1bnRpbWVfcmVzdW1lKHN0cnVj dCBkZXZpY2UgKmtkZXYpCiAJc3RydWN0IHBjaV9kZXYgKnBkZXYgPSB0b19wY2lfZGV2KGtkZXYp OwogCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBwY2lfZ2V0X2RydmRhdGEocGRldik7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYpOworCXN0cnVjdCBp OTE1X3J1bnRpbWVfcG0gKnJwbSA9ICZkZXZfcHJpdi0+cnVudGltZV9wbTsKIAlpbnQgcmV0ID0g MDsKIAogCWlmIChXQVJOX09OX09OQ0UoIUhBU19SVU5USU1FX1BNKGRldl9wcml2KSkpCkBAIC0y OTk0LDExICsyOTk2LDExIEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0 IGRldmljZSAqa2RldikKIAogCURSTV9ERUJVR19LTVMoIlJlc3VtaW5nIGRldmljZVxuIik7CiAK LQlXQVJOX09OX09OQ0UoYXRvbWljX3JlYWQoJmRldl9wcml2LT5ydW50aW1lX3BtLndha2VyZWZf Y291bnQpKTsKLQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCVdBUk5f T05fT05DRShhdG9taWNfcmVhZCgmcnBtLT53YWtlcmVmX2NvdW50KSk7CisJZGlzYWJsZV9ycG1f d2FrZXJlZl9hc3NlcnRzKHJwbSk7CiAKIAlpbnRlbF9vcHJlZ2lvbl9ub3RpZnlfYWRhcHRlcihk ZXZfcHJpdiwgUENJX0QwKTsKLQlkZXZfcHJpdi0+cnVudGltZV9wbS5zdXNwZW5kZWQgPSBmYWxz ZTsKKwlycG0tPnN1c3BlbmRlZCA9IGZhbHNlOwogCWlmIChpbnRlbF91bmNvcmVfdW5jbGFpbWVk X21taW8oJmRldl9wcml2LT51bmNvcmUpKQogCQlEUk1fREVCVUdfRFJJVkVSKCJVbmNsYWltZWQg YWNjZXNzIGR1cmluZyBzdXNwZW5kLCBiaW9zP1xuIik7CiAKQEAgLTMwNDgsNyArMzA1MCw3IEBA IHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9yZXN1bWUoc3RydWN0IGRldmljZSAqa2RldikKIAog CWludGVsX2VuYWJsZV9pcGMoZGV2X3ByaXYpOwogCi0JZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2Vy dHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKHJwbSk7CiAKIAlpZiAo cmV0KQogCQlEUk1fRVJST1IoIlJ1bnRpbWUgcmVzdW1lIGZhaWxlZCwgZGlzYWJsaW5nIGl0ICgl ZClcbiIsIHJldCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwppbmRleCAzZjA4MzAyYTE0ZTUuLjZm YWE2ZDZjNjBiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9pcnEuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCkBAIC0yMTg2LDcgKzIxODYsNyBA QCBzdGF0aWMgaXJxcmV0dXJuX3QgdmFsbGV5dmlld19pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lk ICphcmcpCiAJCXJldHVybiBJUlFfTk9ORTsKIAogCS8qIElSUXMgYXJlIHN5bmNlZCBkdXJpbmcg cnVudGltZV9zdXNwZW5kLCB3ZSBkb24ndCByZXF1aXJlIGEgd2FrZXJlZiAqLwotCWRpc2FibGVf cnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3Nl cnRzKCZkZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlkbyB7CiAJCXUzMiBpaXIsIGd0X2lpciwg cG1faWlyOwpAQCAtMjI1Nyw3ICsyMjU3LDcgQEAgc3RhdGljIGlycXJldHVybl90IHZhbGxleXZp ZXdfaXJxX2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCQl2YWxsZXl2aWV3X3BpcGVzdGF0 X2lycV9oYW5kbGVyKGRldl9wcml2LCBwaXBlX3N0YXRzKTsKIAl9IHdoaWxlICgwKTsKIAotCWVu YWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKKwllbmFibGVfcnBtX3dha2VyZWZf YXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTIy NzIsNyArMjI3Miw3IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBjaGVycnl2aWV3X2lycV9oYW5kbGVy KGludCBpcnEsIHZvaWQgKmFyZykKIAkJcmV0dXJuIElSUV9OT05FOwogCiAJLyogSVJRcyBhcmUg c3luY2VkIGR1cmluZyBydW50aW1lX3N1c3BlbmQsIHdlIGRvbid0IHJlcXVpcmUgYSB3YWtlcmVm ICovCi0JZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKKwlkaXNhYmxlX3Jw bV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAogCWRvIHsKIAkJdTMy IG1hc3Rlcl9jdGwsIGlpcjsKQEAgLTIzMzgsNyArMjMzOCw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBjaGVycnl2aWV3X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAkJdmFsbGV5dmll d19waXBlc3RhdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgcGlwZV9zdGF0cyk7CiAJfSB3aGlsZSAo MCk7CiAKLQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7CisJZW5hYmxlX3Jw bV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAogCXJldHVybiByZXQ7 CiB9CkBAIC0yNjkyLDcgKzI2OTIsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgaXJvbmxha2VfaXJx X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCQlyZXR1cm4gSVJRX05PTkU7CiAKIAkvKiBJ UlFzIGFyZSBzeW5jZWQgZHVyaW5nIHJ1bnRpbWVfc3VzcGVuZCwgd2UgZG9uJ3QgcmVxdWlyZSBh IHdha2VyZWYgKi8KLQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWRp c2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwogCiAJLyog ZGlzYWJsZSBtYXN0ZXIgaW50ZXJydXB0IGJlZm9yZSBjbGVhcmluZyBpaXIgICovCiAJZGVfaWVy ID0gSTkxNV9SRUFEKERFSUVSKTsKQEAgLTI3NDQsNyArMjc0NCw3IEBAIHN0YXRpYyBpcnFyZXR1 cm5fdCBpcm9ubGFrZV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCiAJCUk5MTVfV1JJ VEUoU0RFSUVSLCBzZGVfaWVyKTsKIAogCS8qIElSUXMgYXJlIHN5bmNlZCBkdXJpbmcgcnVudGlt ZV9zdXNwZW5kLCB3ZSBkb24ndCByZXF1aXJlIGEgd2FrZXJlZiAqLwotCWVuYWJsZV9ycG1fd2Fr ZXJlZl9hc3NlcnRzKGRldl9wcml2KTsKKwllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2 X3ByaXYtPnJ1bnRpbWVfcG0pOwogCiAJcmV0dXJuIHJldDsKIH0KQEAgLTMwMTEsOSArMzAxMSw5 IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBnZW44X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFy ZykKIAogCS8qIElSUXMgYXJlIHN5bmNlZCBkdXJpbmcgcnVudGltZV9zdXNwZW5kLCB3ZSBkb24n dCByZXF1aXJlIGEgd2FrZXJlZiAqLwogCWlmIChtYXN0ZXJfY3RsICYgfkdFTjhfR1RfSVJRUykg ewotCQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCQlkaXNhYmxlX3Jw bV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKIAkJZ2VuOF9kZV9pcnFf aGFuZGxlcihkZXZfcHJpdiwgbWFzdGVyX2N0bCk7Ci0JCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3Nl cnRzKGRldl9wcml2KTsKKwkJZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5y dW50aW1lX3BtKTsKIAl9CiAKIAlnZW44X21hc3Rlcl9pbnRyX2VuYWJsZShyZWdzKTsKQEAgLTMy MTIsMTMgKzMyMTIsMTMgQEAgc3RhdGljIGlycXJldHVybl90IGdlbjExX2lycV9oYW5kbGVyKGlu dCBpcnEsIHZvaWQgKmFyZykKIAlpZiAobWFzdGVyX2N0bCAmIEdFTjExX0RJU1BMQVlfSVJRKSB7 CiAJCWNvbnN0IHUzMiBkaXNwX2N0bCA9IHJhd19yZWdfcmVhZChyZWdzLCBHRU4xMV9ESVNQTEFZ X0lOVF9DVEwpOwogCi0JCWRpc2FibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhpOTE1KTsKKwkJZGlz YWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZpOTE1LT5ydW50aW1lX3BtKTsKIAkJLyoKIAkJICog R0VOMTFfRElTUExBWV9JTlRfQ1RMIGhhcyBzYW1lIGZvcm1hdCBhcyBHRU44X01BU1RFUl9JUlEK IAkJICogZm9yIHRoZSBkaXNwbGF5IHJlbGF0ZWQgYml0cy4KIAkJICovCiAJCWdlbjhfZGVfaXJx X2hhbmRsZXIoaTkxNSwgZGlzcF9jdGwpOwotCQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhp OTE1KTsKKwkJZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmk5MTUtPnJ1bnRpbWVfcG0pOwog CX0KIAogCWd1X21pc2NfaWlyID0gZ2VuMTFfZ3VfbWlzY19pcnFfYWNrKGk5MTUsIG1hc3Rlcl9j dGwpOwpAQCAtNDQ0Miw3ICs0NDQyLDcgQEAgc3RhdGljIGlycXJldHVybl90IGk4eHhfaXJxX2hh bmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCQlyZXR1cm4gSVJRX05PTkU7CiAKIAkvKiBJUlFz IGFyZSBzeW5jZWQgZHVyaW5nIHJ1bnRpbWVfc3VzcGVuZCwgd2UgZG9uJ3QgcmVxdWlyZSBhIHdh a2VyZWYgKi8KLQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWRpc2Fi bGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwogCiAJZG8gewog CQl1MzIgcGlwZV9zdGF0c1tJOTE1X01BWF9QSVBFU10gPSB7fTsKQEAgLTQ0NzMsNyArNDQ3Myw3 IEBAIHN0YXRpYyBpcnFyZXR1cm5fdCBpOHh4X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFy ZykKIAkJaTh4eF9waXBlc3RhdF9pcnFfaGFuZGxlcihkZXZfcHJpdiwgaWlyLCBwaXBlX3N0YXRz KTsKIAl9IHdoaWxlICgwKTsKIAotCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9wcml2 KTsKKwllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cygmZGV2X3ByaXYtPnJ1bnRpbWVfcG0pOwog CiAJcmV0dXJuIHJldDsKIH0KQEAgLTQ1NDcsNyArNDU0Nyw3IEBAIHN0YXRpYyBpcnFyZXR1cm5f dCBpOTE1X2lycV9oYW5kbGVyKGludCBpcnEsIHZvaWQgKmFyZykKIAkJcmV0dXJuIElSUV9OT05F OwogCiAJLyogSVJRcyBhcmUgc3luY2VkIGR1cmluZyBydW50aW1lX3N1c3BlbmQsIHdlIGRvbid0 IHJlcXVpcmUgYSB3YWtlcmVmICovCi0JZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKGRldl9w cml2KTsKKwlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5ydW50aW1lX3Bt KTsKIAogCWRvIHsKIAkJdTMyIHBpcGVfc3RhdHNbSTkxNV9NQVhfUElQRVNdID0ge307CkBAIC00 NTg2LDcgKzQ1ODYsNyBAQCBzdGF0aWMgaXJxcmV0dXJuX3QgaTkxNV9pcnFfaGFuZGxlcihpbnQg aXJxLCB2b2lkICphcmcpCiAJCWk5MTVfcGlwZXN0YXRfaXJxX2hhbmRsZXIoZGV2X3ByaXYsIGlp ciwgcGlwZV9zdGF0cyk7CiAJfSB3aGlsZSAoMCk7CiAKLQllbmFibGVfcnBtX3dha2VyZWZfYXNz ZXJ0cyhkZXZfcHJpdik7CisJZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoJmRldl9wcml2LT5y dW50aW1lX3BtKTsKIAogCXJldHVybiByZXQ7CiB9CkBAIC00Njk1LDcgKzQ2OTUsNyBAQCBzdGF0 aWMgaXJxcmV0dXJuX3QgaTk2NV9pcnFfaGFuZGxlcihpbnQgaXJxLCB2b2lkICphcmcpCiAJCXJl dHVybiBJUlFfTk9ORTsKIAogCS8qIElSUXMgYXJlIHN5bmNlZCBkdXJpbmcgcnVudGltZV9zdXNw ZW5kLCB3ZSBkb24ndCByZXF1aXJlIGEgd2FrZXJlZiAqLwotCWRpc2FibGVfcnBtX3dha2VyZWZf YXNzZXJ0cyhkZXZfcHJpdik7CisJZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCZkZXZfcHJp di0+cnVudGltZV9wbSk7CiAKIAlkbyB7CiAJCXUzMiBwaXBlX3N0YXRzW0k5MTVfTUFYX1BJUEVT XSA9IHt9OwpAQCAtNDczNiw3ICs0NzM2LDcgQEAgc3RhdGljIGlycXJldHVybl90IGk5NjVfaXJx X2hhbmRsZXIoaW50IGlycSwgdm9pZCAqYXJnKQogCQlpOTY1X3BpcGVzdGF0X2lycV9oYW5kbGVy KGRldl9wcml2LCBpaXIsIHBpcGVfc3RhdHMpOwogCX0gd2hpbGUgKDApOwogCi0JZW5hYmxlX3Jw bV93YWtlcmVmX2Fzc2VydHMoZGV2X3ByaXYpOworCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRz KCZkZXZfcHJpdi0+cnVudGltZV9wbSk7CiAKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcnYuaAppbmRleCBhYzBiZDYwNjc4NjQuLjcwZWY5Yjc2MjNmMCAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmgKQEAgLTE2NjksNyArMTY2OSw3IEBAIGFzc2VydF9ycG1fd2FrZWxvY2tf aGVsZChzdHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpycG0pCiAKIC8qKgogICogZGlzYWJsZV9ycG1f d2FrZXJlZl9hc3NlcnRzIC0gZGlzYWJsZSB0aGUgUlBNIGFzc2VydCBjaGVja3MKLSAqIEBpOTE1 OiBpOTE1IGRldmljZSBpbnN0YW5jZQorICogQHJwbTogdGhlIGk5MTVfcnVudGltZV9wbSBzdHJ1 Y3R1cmUKICAqCiAgKiBUaGlzIGZ1bmN0aW9uIGRpc2FibGUgYXNzZXJ0cyB0aGF0IGNoZWNrIGlm IHdlIGhvbGQgYW4gUlBNIHdha2Vsb2NrCiAgKiByZWZlcmVuY2UsIHdoaWxlIGtlZXBpbmcgdGhl IGRldmljZS1ub3Qtc3VzcGVuZGVkIGNoZWNrcyBzdGlsbCBlbmFibGVkLgpAQCAtMTY4NiwxNSAr MTY4NiwxNSBAQCBhc3NlcnRfcnBtX3dha2Vsb2NrX2hlbGQoc3RydWN0IGk5MTVfcnVudGltZV9w bSAqcnBtKQogICogZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoKS4KICAqLwogc3RhdGljIGlu bGluZSB2b2lkCi1kaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCitkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoc3RydWN0IGk5MTVfcnVu dGltZV9wbSAqcnBtKQogewogCWF0b21pY19hZGQoSU5URUxfUlBNX1dBS0VMT0NLX0JJQVMgKyAx LAotCQkgICAmaTkxNS0+cnVudGltZV9wbS53YWtlcmVmX2NvdW50KTsKKwkJICAgJnJwbS0+d2Fr ZXJlZl9jb3VudCk7CiB9CiAKIC8qKgogICogZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMgLSBy ZS1lbmFibGUgdGhlIFJQTSBhc3NlcnQgY2hlY2tzCi0gKiBAaTkxNTogaTkxNSBkZXZpY2UgaW5z dGFuY2UKKyAqIEBycG06IHRoZSBpOTE1X3J1bnRpbWVfcG0gc3RydWN0dXJlCiAgKgogICogVGhp cyBmdW5jdGlvbiByZS1lbmFibGVzIHRoZSBSUE0gYXNzZXJ0IGNoZWNrcyBhZnRlciBkaXNhYmxp bmcgdGhlbSB3aXRoCiAgKiBkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMuIEl0J3MgbWVhbnQg dG8gYmUgdXNlZCBvbmx5IGluIHNwZWNpYWwKQEAgLTE3MDQsMTAgKzE3MDQsMTAgQEAgZGlzYWJs ZV9ycG1fd2FrZXJlZl9hc3NlcnRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogICog ZGlzYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKCkuCiAgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZAot ZW5hYmxlX3JwbV93YWtlcmVmX2Fzc2VydHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp CitlbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyhzdHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpycG0p CiB7CiAJYXRvbWljX3N1YihJTlRFTF9SUE1fV0FLRUxPQ0tfQklBUyArIDEsCi0JCSAgICZpOTE1 LT5ydW50aW1lX3BtLndha2VyZWZfY291bnQpOworCQkgICAmcnBtLT53YWtlcmVmX2NvdW50KTsK IH0KIAogI2VuZGlmIC8qIF9fSU5URUxfRFJWX0hfXyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF91 bmNvcmUuYwppbmRleCBlMWRlNTFjNGQ4NGQuLjVlYjFkMTMwZmMyZSAxMDA2NDQKLS0tIGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfdW5jb3JlLmMKQEAgLTE0NjEsOCArMTQ2MSw4IEBAIHN0YXRpYyB2b2lkIGludGVs X3VuY29yZV9md19kb21haW5zX2luaXQoc3RydWN0IGludGVsX3VuY29yZSAqdW5jb3JlKQogc3Rh dGljIGludCBpOTE1X3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgKm5iLAogCQkJCQkgdW5zaWduZWQgbG9uZyBhY3Rpb24sIHZvaWQgKmRhdGEpCiB7Ci0Jc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gY29udGFpbmVyX29mKG5iLAotCQkJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUsIHVuY29yZS5wbWljX2J1c19hY2Nlc3NfbmIpOworCXN0cnVj dCBpbnRlbF91bmNvcmUgKnVuY29yZSA9IGNvbnRhaW5lcl9vZihuYiwKKwkJCXN0cnVjdCBpbnRl bF91bmNvcmUsIHBtaWNfYnVzX2FjY2Vzc19uYik7CiAKIAlzd2l0Y2ggKGFjdGlvbikgewogCWNh c2UgTUJJX1BNSUNfQlVTX0FDQ0VTU19CRUdJTjoKQEAgLTE0NzksMTIgKzE0NzksMTIgQEAgc3Rh dGljIGludCBpOTE1X3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxv Y2sgKm5iLAogCQkgKiB3YWtlIHJlZmVyZW5jZSAtPiBkaXNhYmxlIHdha2VyZWYgYXNzZXJ0cyBm b3IgdGhlIHRpbWUgb2YKIAkJICogdGhlIGFjY2Vzcy4KIAkJICovCi0JCWRpc2FibGVfcnBtX3dh a2VyZWZfYXNzZXJ0cyhkZXZfcHJpdik7Ci0JCWludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KCZk ZXZfcHJpdi0+dW5jb3JlLCBGT1JDRVdBS0VfQUxMKTsKLQkJZW5hYmxlX3JwbV93YWtlcmVmX2Fz c2VydHMoZGV2X3ByaXYpOworCQlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2VydHModW5jb3JlLT5y cG0pOworCQlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2dldCh1bmNvcmUsIEZPUkNFV0FLRV9BTEwp OworCQllbmFibGVfcnBtX3dha2VyZWZfYXNzZXJ0cyh1bmNvcmUtPnJwbSk7CiAJCWJyZWFrOwog CWNhc2UgTUJJX1BNSUNfQlVTX0FDQ0VTU19FTkQ6Ci0JCWludGVsX3VuY29yZV9mb3JjZXdha2Vf cHV0KCZkZXZfcHJpdi0+dW5jb3JlLCBGT1JDRVdBS0VfQUxMKTsKKwkJaW50ZWxfdW5jb3JlX2Zv cmNld2FrZV9wdXQodW5jb3JlLCBGT1JDRVdBS0VfQUxMKTsKIAkJYnJlYWs7CiAJfQogCi0tIAoy LjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCklu dGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRw czovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==