From mboxrd@z Thu Jan 1 00:00:00 1970 From: Daniele Ceraolo Spurio Subject: [PATCH v3 1/8] drm/i915: prefer i915_runtime_pm in intel_runtime function Date: Thu, 13 Jun 2019 16:21:49 -0700 Message-ID: <20190613232156.34940-2-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 72488892FB for ; Thu, 13 Jun 2019 23:22:19 +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 QXMgYSBmaXJzdCBzdGVwIHRvd2FyZHMgdXBkYXRpbmcgdGhlIGNvZGUgdG8gd29yayBvbiB0aGUg cnVudGltZV9wbQpzdHJ1Y3R1cmUgaW5zdGVhZCBvZiBpOTE1LCByZXdvcmsgYWxsIHRoZSBpbnRl cm5hbHMgdG8gdXNlIGFuZCBwYXNzCmFyb3VuZCB0aGF0LgoKdjI6IGFkZCBjb21tZW50IGZvciBr ZGV2IChKYW5pKSwgbW92ZSBycG0gaW5pdCBhZnRlciBwZGV2IGluaXQgZm9yCm1vY2tfZGV2aWNl CgpTaWduZWQtb2ZmLWJ5OiBEYW5pZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9z cHVyaW9AaW50ZWwuY29tPgpDYzogSmFuaSBOaWt1bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVs LmNvbT4KQ2M6IEltcmUgRGVhayA8aW1yZS5kZWFrQGludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IENo cmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggICAgICAgICAgICAgICB8ICAgMiArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9kcnYuaCAgICAgICAgICAgICAgfCAgMTAgKy0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX3J1bnRpbWVfcG0uYyAgICAgICB8IDEyMiArKysrKysrKy0tLS0tLS0tLS0KIC4u Li9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jICB8ICAgNCArLQogNCBm aWxlcyBjaGFuZ2VkLCA2OCBpbnNlcnRpb25zKCspLCA3MCBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAppbmRleCA5MGQ5NGQ5MDRlNjUuLmI3ZDlhYTBiYWI0YiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oCkBAIC0xMDU4LDYgKzEwNTgsOCBAQCBzdHJ1Y3Qgc2tsX3dtX3BhcmFt cyB7CiAgKi8KIHN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gewogCWF0b21pY190IHdha2VyZWZfY291 bnQ7CisJc3RydWN0IGRldmljZSAqa2RldjsgLyogcG9pbnRzIHRvIGk5MTUtPmRybS5wZGV2LT5k ZXYgKi8KKwlib29sIGF2YWlsYWJsZTsKIAlib29sIHN1c3BlbmRlZDsKIAlib29sIGlycXNfZW5h YmxlZDsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCAzZTMzNzMxN2Y3N2UuLmFlYzQw YWRmNDg3NiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmgKQEAgLTE2NTYsMTMgKzE2NTYsMTcg QEAgX19fX2Fzc2VydF9ycG1fd2FrZWxvY2tfaGVsZChzdHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpy cG0sIGludCB3YWtlcmVmX2NvdW50KQogfQogCiBzdGF0aWMgaW5saW5lIHZvaWQKLWFzc2VydF9y cG1fcmF3X3dha2VyZWZfaGVsZChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK19fYXNz ZXJ0X3JwbV9yYXdfd2FrZXJlZl9oZWxkKHN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSkKIHsK LQlzdHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpycG0gPSAmaTkxNS0+cnVudGltZV9wbTsKLQogCV9f X19hc3NlcnRfcnBtX3Jhd193YWtlcmVmX2hlbGQocnBtLCBhdG9taWNfcmVhZCgmcnBtLT53YWtl cmVmX2NvdW50KSk7CiB9CiAKK3N0YXRpYyBpbmxpbmUgdm9pZAorYXNzZXJ0X3JwbV9yYXdfd2Fr ZXJlZl9oZWxkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQoreworCV9fYXNzZXJ0X3Jw bV9yYXdfd2FrZXJlZl9oZWxkKCZpOTE1LT5ydW50aW1lX3BtKTsKK30KKwogc3RhdGljIGlubGlu ZSB2b2lkCiBfX2Fzc2VydF9ycG1fd2FrZWxvY2tfaGVsZChzdHJ1Y3QgaTkxNV9ydW50aW1lX3Bt ICpycG0pCiB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1l X3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50aW1lX3BtLmMKaW5kZXggYWYz YzFhZGExYjJlLi43YzYwMmY1Yzc0OGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3J1bnRpbWVfcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ydW50 aW1lX3BtLmMKQEAgLTc1LDIxICs3NSwxOCBAQCBzdGF0aWMgdm9pZCBfX3ByaW50X2RlcG90X3N0 YWNrKGRlcG90X3N0YWNrX2hhbmRsZV90IHN0YWNrLAogCXN0YWNrX3RyYWNlX3NucHJpbnQoYnVm LCBzeiwgZW50cmllcywgbnJfZW50cmllcywgaW5kZW50KTsKIH0KIAotc3RhdGljIHZvaWQgaW5p dF9pbnRlbF9ydW50aW1lX3BtX3dha2VyZWYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUp CitzdGF0aWMgdm9pZCBpbml0X2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihzdHJ1Y3QgaTkxNV9y dW50aW1lX3BtICpycG0pCiB7Ci0Jc3RydWN0IGk5MTVfcnVudGltZV9wbSAqcnBtID0gJmk5MTUt PnJ1bnRpbWVfcG07Ci0KIAlzcGluX2xvY2tfaW5pdCgmcnBtLT5kZWJ1Zy5sb2NrKTsKIH0KIAog c3RhdGljIG5vaW5saW5lIGRlcG90X3N0YWNrX2hhbmRsZV90Ci10cmFja19pbnRlbF9ydW50aW1l X3BtX3dha2VyZWYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit0cmFja19pbnRlbF9y dW50aW1lX3BtX3dha2VyZWYoc3RydWN0IGk5MTVfcnVudGltZV9wbSAqcnBtKQogewotCXN0cnVj dCBpOTE1X3J1bnRpbWVfcG0gKnJwbSA9ICZpOTE1LT5ydW50aW1lX3BtOwogCWRlcG90X3N0YWNr X2hhbmRsZV90IHN0YWNrLCAqc3RhY2tzOwogCXVuc2lnbmVkIGxvbmcgZmxhZ3M7CiAKLQlpZiAo IUhBU19SVU5USU1FX1BNKGk5MTUpKQorCWlmICghcnBtLT5hdmFpbGFibGUpCiAJCXJldHVybiAt MTsKIAogCXN0YWNrID0gX19zYXZlX2RlcG90X3N0YWNrKCk7CkBAIC0xMTYsMTAgKzExMyw5IEBA IHRyYWNrX2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIAlyZXR1cm4gc3RhY2s7CiB9CiAKLXN0YXRpYyB2b2lkIHVudHJhY2tfaW50ZWxfcnVu dGltZV9wbV93YWtlcmVmKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorc3RhdGljIHZv aWQgdW50cmFja19pbnRlbF9ydW50aW1lX3BtX3dha2VyZWYoc3RydWN0IGk5MTVfcnVudGltZV9w bSAqcnBtLAogCQkJCQkgICAgIGRlcG90X3N0YWNrX2hhbmRsZV90IHN0YWNrKQogewotCXN0cnVj dCBpOTE1X3J1bnRpbWVfcG0gKnJwbSA9ICZpOTE1LT5ydW50aW1lX3BtOwogCXVuc2lnbmVkIGxv bmcgZmxhZ3MsIG47CiAJYm9vbCBmb3VuZCA9IGZhbHNlOwogCkBAIC0yMzcsOSArMjMzLDggQEAg ZHVtcF9hbmRfZnJlZV93YWtlcmVmX3RyYWNraW5nKHN0cnVjdCBpbnRlbF9ydW50aW1lX3BtX2Rl YnVnICpkZWJ1ZykKIH0KIAogc3RhdGljIG5vaW5saW5lIHZvaWQKLV9faW50ZWxfd2FrZXJlZl9k ZWNfYW5kX2NoZWNrX3RyYWNraW5nKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQorX19p bnRlbF93YWtlcmVmX2RlY19hbmRfY2hlY2tfdHJhY2tpbmcoc3RydWN0IGk5MTVfcnVudGltZV9w bSAqcnBtKQogewotCXN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSA9ICZpOTE1LT5ydW50aW1l X3BtOwogCXN0cnVjdCBpbnRlbF9ydW50aW1lX3BtX2RlYnVnIGRiZyA9IHt9OwogCXVuc2lnbmVk IGxvbmcgZmxhZ3M7CiAKQEAgLTI1NSw5ICsyNTAsOCBAQCBfX2ludGVsX3dha2VyZWZfZGVjX2Fu ZF9jaGVja190cmFja2luZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIH0KIAogc3Rh dGljIG5vaW5saW5lIHZvaWQKLXVudHJhY2tfYWxsX2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZnMo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCit1bnRyYWNrX2FsbF9pbnRlbF9ydW50aW1l X3BtX3dha2VyZWZzKHN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSkKIHsKLQlzdHJ1Y3QgaTkx NV9ydW50aW1lX3BtICpycG0gPSAmaTkxNS0+cnVudGltZV9wbTsKIAlzdHJ1Y3QgaW50ZWxfcnVu dGltZV9wbV9kZWJ1ZyBkYmcgPSB7fTsKIAl1bnNpZ25lZCBsb25nIGZsYWdzOwogCkBAIC0zMDgs NzYgKzMwMiw3MCBAQCB2b2lkIHByaW50X2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAogI2Vsc2UKIAotc3RhdGljIHZvaWQgaW5pdF9pbnRl bF9ydW50aW1lX3BtX3dha2VyZWYoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCitzdGF0 aWMgdm9pZCBpbml0X2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihzdHJ1Y3QgaTkxNV9ydW50aW1l X3BtICpycG0pCiB7CiB9CiAKIHN0YXRpYyBkZXBvdF9zdGFja19oYW5kbGVfdAotdHJhY2tfaW50 ZWxfcnVudGltZV9wbV93YWtlcmVmKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQordHJh Y2tfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmKHN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSkK IHsKIAlyZXR1cm4gLTE7CiB9CiAKLXN0YXRpYyB2b2lkIHVudHJhY2tfaW50ZWxfcnVudGltZV9w bV93YWtlcmVmKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorc3RhdGljIHZvaWQgdW50 cmFja19pbnRlbF9ydW50aW1lX3BtX3dha2VyZWYoc3RydWN0IGk5MTVfcnVudGltZV9wbSAqcnBt LAogCQkJCQkgICAgIGludGVsX3dha2VyZWZfdCB3cmVmKQogewogfQogCiBzdGF0aWMgdm9pZAot X19pbnRlbF93YWtlcmVmX2RlY19hbmRfY2hlY2tfdHJhY2tpbmcoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCitfX2ludGVsX3dha2VyZWZfZGVjX2FuZF9jaGVja190cmFja2luZyhzdHJ1 Y3QgaTkxNV9ydW50aW1lX3BtICpycG0pCiB7Ci0JYXRvbWljX2RlYygmaTkxNS0+cnVudGltZV9w bS53YWtlcmVmX2NvdW50KTsKKwlhdG9taWNfZGVjKCZycG0tPndha2VyZWZfY291bnQpOwogfQog CiBzdGF0aWMgdm9pZAotdW50cmFja19hbGxfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmcyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKK3VudHJhY2tfYWxsX2ludGVsX3J1bnRpbWVfcG1f d2FrZXJlZnMoc3RydWN0IGk5MTVfcnVudGltZV9wbSAqcnBtKQogewogfQogCiAjZW5kaWYKIAog c3RhdGljIHZvaWQKLWludGVsX3J1bnRpbWVfcG1fYWNxdWlyZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSwgYm9vbCB3YWtlbG9jaykKK2ludGVsX3J1bnRpbWVfcG1fYWNxdWlyZShzdHJ1 Y3QgaTkxNV9ydW50aW1lX3BtICpycG0sIGJvb2wgd2FrZWxvY2spCiB7Ci0Jc3RydWN0IGk5MTVf cnVudGltZV9wbSAqcnBtID0gJmk5MTUtPnJ1bnRpbWVfcG07Ci0KIAlpZiAod2FrZWxvY2spIHsK IAkJYXRvbWljX2FkZCgxICsgSU5URUxfUlBNX1dBS0VMT0NLX0JJQVMsICZycG0tPndha2VyZWZf Y291bnQpOwotCQlhc3NlcnRfcnBtX3dha2Vsb2NrX2hlbGQoaTkxNSk7CisJCV9fYXNzZXJ0X3Jw bV93YWtlbG9ja19oZWxkKHJwbSk7CiAJfSBlbHNlIHsKIAkJYXRvbWljX2luYygmcnBtLT53YWtl cmVmX2NvdW50KTsKLQkJYXNzZXJ0X3JwbV9yYXdfd2FrZXJlZl9oZWxkKGk5MTUpOworCQlfX2Fz c2VydF9ycG1fcmF3X3dha2VyZWZfaGVsZChycG0pOwogCX0KIH0KIAogc3RhdGljIHZvaWQKLWlu dGVsX3J1bnRpbWVfcG1fcmVsZWFzZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwgaW50 IHdha2Vsb2NrKQoraW50ZWxfcnVudGltZV9wbV9yZWxlYXNlKHN0cnVjdCBpOTE1X3J1bnRpbWVf cG0gKnJwbSwgaW50IHdha2Vsb2NrKQogewotCXN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSA9 ICZpOTE1LT5ydW50aW1lX3BtOwotCiAJaWYgKHdha2Vsb2NrKSB7Ci0JCWFzc2VydF9ycG1fd2Fr ZWxvY2tfaGVsZChpOTE1KTsKKwkJX19hc3NlcnRfcnBtX3dha2Vsb2NrX2hlbGQocnBtKTsKIAkJ YXRvbWljX3N1YihJTlRFTF9SUE1fV0FLRUxPQ0tfQklBUywgJnJwbS0+d2FrZXJlZl9jb3VudCk7 CiAJfSBlbHNlIHsKLQkJYXNzZXJ0X3JwbV9yYXdfd2FrZXJlZl9oZWxkKGk5MTUpOworCQlfX2Fz c2VydF9ycG1fcmF3X3dha2VyZWZfaGVsZChycG0pOwogCX0KIAotCV9faW50ZWxfd2FrZXJlZl9k ZWNfYW5kX2NoZWNrX3RyYWNraW5nKGk5MTUpOworCV9faW50ZWxfd2FrZXJlZl9kZWNfYW5kX2No ZWNrX3RyYWNraW5nKHJwbSk7CiB9CiAKLXN0YXRpYyBpbnRlbF93YWtlcmVmX3QgX19pbnRlbF9y dW50aW1lX3BtX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKK3N0YXRpYyBpbnRl bF93YWtlcmVmX3QgX19pbnRlbF9ydW50aW1lX3BtX2dldChzdHJ1Y3QgaTkxNV9ydW50aW1lX3Bt ICpycG0sCiAJCQkJCSAgICAgIGJvb2wgd2FrZWxvY2spCiB7Ci0Jc3RydWN0IHBjaV9kZXYgKnBk ZXYgPSBpOTE1LT5kcm0ucGRldjsKLQlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gJnBkZXYtPmRldjsK IAlpbnQgcmV0OwogCi0JcmV0ID0gcG1fcnVudGltZV9nZXRfc3luYyhrZGV2KTsKKwlyZXQgPSBw bV9ydW50aW1lX2dldF9zeW5jKHJwbS0+a2Rldik7CiAJV0FSTl9PTkNFKHJldCA8IDAsICJwbV9y dW50aW1lX2dldF9zeW5jKCkgZmFpbGVkOiAlZFxuIiwgcmV0KTsKIAotCWludGVsX3J1bnRpbWVf cG1fYWNxdWlyZShpOTE1LCB3YWtlbG9jayk7CisJaW50ZWxfcnVudGltZV9wbV9hY3F1aXJlKHJw bSwgd2FrZWxvY2spOwogCi0JcmV0dXJuIHRyYWNrX2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihp OTE1KTsKKwlyZXR1cm4gdHJhY2tfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmKHJwbSk7CiB9CiAK IC8qKgpAQCAtNDAwLDcgKzM4OCw3IEBAIHN0YXRpYyBpbnRlbF93YWtlcmVmX3QgX19pbnRlbF9y dW50aW1lX3BtX2dldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAogaW50ZWxfd2Fr ZXJlZl90IGludGVsX3J1bnRpbWVfcG1fZ2V0X3JhdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSkKIHsKLQlyZXR1cm4gX19pbnRlbF9ydW50aW1lX3BtX2dldChpOTE1LCBmYWxzZSk7CisJ cmV0dXJuIF9faW50ZWxfcnVudGltZV9wbV9nZXQoJmk5MTUtPnJ1bnRpbWVfcG0sIGZhbHNlKTsK IH0KIAogLyoqCkBAIC00MTcsNyArNDA1LDcgQEAgaW50ZWxfd2FrZXJlZl90IGludGVsX3J1bnRp bWVfcG1fZ2V0X3JhdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKICAqLwogaW50ZWxf d2FrZXJlZl90IGludGVsX3J1bnRpbWVfcG1fZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpp OTE1KQogewotCXJldHVybiBfX2ludGVsX3J1bnRpbWVfcG1fZ2V0KGk5MTUsIHRydWUpOworCXJl dHVybiBfX2ludGVsX3J1bnRpbWVfcG1fZ2V0KCZpOTE1LT5ydW50aW1lX3BtLCB0cnVlKTsKIH0K IAogLyoqCkBAIC00MzYsMjMgKzQyNCwyMiBAQCBpbnRlbF93YWtlcmVmX3QgaW50ZWxfcnVudGlt ZV9wbV9nZXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAgKi8KIGludGVsX3dha2Vy ZWZfdCBpbnRlbF9ydW50aW1lX3BtX2dldF9pZl9pbl91c2Uoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpCiB7Ci0JaWYgKElTX0VOQUJMRUQoQ09ORklHX1BNKSkgewotCQlzdHJ1Y3QgcGNp X2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2OwotCQlzdHJ1Y3QgZGV2aWNlICprZGV2ID0gJnBk ZXYtPmRldjsKKwlzdHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpycG0gPSAmaTkxNS0+cnVudGltZV9w bTsKIAorCWlmIChJU19FTkFCTEVEKENPTkZJR19QTSkpIHsKIAkJLyoKIAkJICogSW4gY2FzZXMg cnVudGltZSBQTSBpcyBkaXNhYmxlZCBieSB0aGUgUlBNIGNvcmUgYW5kIHdlIGdldAogCQkgKiBh biAtRUlOVkFMIHJldHVybiB2YWx1ZSB3ZSBhcmUgbm90IHN1cHBvc2VkIHRvIGNhbGwgdGhpcwog CQkgKiBmdW5jdGlvbiwgc2luY2UgdGhlIHBvd2VyIHN0YXRlIGlzIHVuZGVmaW5lZC4gVGhpcyBh cHBsaWVzCiAJCSAqIGF0bSB0byB0aGUgbGF0ZS9lYXJseSBzeXN0ZW0gc3VzcGVuZC9yZXN1bWUg aGFuZGxlcnMuCiAJCSAqLwotCQlpZiAocG1fcnVudGltZV9nZXRfaWZfaW5fdXNlKGtkZXYpIDw9 IDApCisJCWlmIChwbV9ydW50aW1lX2dldF9pZl9pbl91c2UocnBtLT5rZGV2KSA8PSAwKQogCQkJ cmV0dXJuIDA7CiAJfQogCi0JaW50ZWxfcnVudGltZV9wbV9hY3F1aXJlKGk5MTUsIHRydWUpOwor CWludGVsX3J1bnRpbWVfcG1fYWNxdWlyZShycG0sIHRydWUpOwogCi0JcmV0dXJuIHRyYWNrX2lu dGVsX3J1bnRpbWVfcG1fd2FrZXJlZihpOTE1KTsKKwlyZXR1cm4gdHJhY2tfaW50ZWxfcnVudGlt ZV9wbV93YWtlcmVmKHJwbSk7CiB9CiAKIC8qKgpAQCAtNDc2LDI3ICs0NjMsMjUgQEAgaW50ZWxf d2FrZXJlZl90IGludGVsX3J1bnRpbWVfcG1fZ2V0X2lmX2luX3VzZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqaTkxNSkKICAqLwogaW50ZWxfd2FrZXJlZl90IGludGVsX3J1bnRpbWVfcG1fZ2V0 X25vcmVzdW1lKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBwY2lf ZGV2ICpwZGV2ID0gaTkxNS0+ZHJtLnBkZXY7Ci0Jc3RydWN0IGRldmljZSAqa2RldiA9ICZwZGV2 LT5kZXY7CisJc3RydWN0IGk5MTVfcnVudGltZV9wbSAqcnBtID0gJmk5MTUtPnJ1bnRpbWVfcG07 CiAKLQlhc3NlcnRfcnBtX3dha2Vsb2NrX2hlbGQoaTkxNSk7Ci0JcG1fcnVudGltZV9nZXRfbm9y ZXN1bWUoa2Rldik7CisJX19hc3NlcnRfcnBtX3dha2Vsb2NrX2hlbGQocnBtKTsKKwlwbV9ydW50 aW1lX2dldF9ub3Jlc3VtZShycG0tPmtkZXYpOwogCi0JaW50ZWxfcnVudGltZV9wbV9hY3F1aXJl KGk5MTUsIHRydWUpOworCWludGVsX3J1bnRpbWVfcG1fYWNxdWlyZShycG0sIHRydWUpOwogCi0J cmV0dXJuIHRyYWNrX2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihpOTE1KTsKKwlyZXR1cm4gdHJh Y2tfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmKHJwbSk7CiB9CiAKLXN0YXRpYyB2b2lkIF9faW50 ZWxfcnVudGltZV9wbV9wdXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCitzdGF0aWMg dm9pZCBfX2ludGVsX3J1bnRpbWVfcG1fcHV0KHN0cnVjdCBpOTE1X3J1bnRpbWVfcG0gKnJwbSwK IAkJCQkgICBpbnRlbF93YWtlcmVmX3Qgd3JlZiwKIAkJCQkgICBib29sIHdha2Vsb2NrKQogewot CXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gaTkxNS0+ZHJtLnBkZXY7Ci0Jc3RydWN0IGRldmljZSAq a2RldiA9ICZwZGV2LT5kZXY7CisJc3RydWN0IGRldmljZSAqa2RldiA9IHJwbS0+a2RldjsKIAot CXVudHJhY2tfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmKGk5MTUsIHdyZWYpOworCXVudHJhY2tf aW50ZWxfcnVudGltZV9wbV93YWtlcmVmKHJwbSwgd3JlZik7CiAKLQlpbnRlbF9ydW50aW1lX3Bt X3JlbGVhc2UoaTkxNSwgd2FrZWxvY2spOworCWludGVsX3J1bnRpbWVfcG1fcmVsZWFzZShycG0s IHdha2Vsb2NrKTsKIAogCXBtX3J1bnRpbWVfbWFya19sYXN0X2J1c3koa2Rldik7CiAJcG1fcnVu dGltZV9wdXRfYXV0b3N1c3BlbmQoa2Rldik7CkBAIC01MTQsNyArNDk5LDcgQEAgc3RhdGljIHZv aWQgX19pbnRlbF9ydW50aW1lX3BtX3B1dChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwK IHZvaWQKIGludGVsX3J1bnRpbWVfcG1fcHV0X3JhdyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSwgaW50ZWxfd2FrZXJlZl90IHdyZWYpCiB7Ci0JX19pbnRlbF9ydW50aW1lX3BtX3B1dChp OTE1LCB3cmVmLCBmYWxzZSk7CisJX19pbnRlbF9ydW50aW1lX3BtX3B1dCgmaTkxNS0+cnVudGlt ZV9wbSwgd3JlZiwgZmFsc2UpOwogfQogCiAvKioKQEAgLTUzMSw3ICs1MTYsNyBAQCBpbnRlbF9y dW50aW1lX3BtX3B1dF9yYXcoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGludGVsX3dh a2VyZWZfdCB3cmVmKQogICovCiB2b2lkIGludGVsX3J1bnRpbWVfcG1fcHV0X3VuY2hlY2tlZChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIHsKLQlfX2ludGVsX3J1bnRpbWVfcG1fcHV0 KGk5MTUsIC0xLCB0cnVlKTsKKwlfX2ludGVsX3J1bnRpbWVfcG1fcHV0KCZpOTE1LT5ydW50aW1l X3BtLCAtMSwgdHJ1ZSk7CiB9CiAKICNpZiBJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9ERUJV R19SVU5USU1FX1BNKQpAQCAtNTQ2LDcgKzUzMSw3IEBAIHZvaWQgaW50ZWxfcnVudGltZV9wbV9w dXRfdW5jaGVja2VkKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogICovCiB2b2lkIGlu dGVsX3J1bnRpbWVfcG1fcHV0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBpbnRlbF93 YWtlcmVmX3Qgd3JlZikKIHsKLQlfX2ludGVsX3J1bnRpbWVfcG1fcHV0KGk5MTUsIHdyZWYsIHRy dWUpOworCV9faW50ZWxfcnVudGltZV9wbV9wdXQoJmk5MTUtPnJ1bnRpbWVfcG0sIHdyZWYsIHRy dWUpOwogfQogI2VuZGlmCiAKQEAgLTU2Miw4ICs1NDcsOCBAQCB2b2lkIGludGVsX3J1bnRpbWVf cG1fcHV0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBpbnRlbF93YWtlcmVmX3Qgd3Jl ZikKICAqLwogdm9pZCBpbnRlbF9ydW50aW1lX3BtX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIHsKLQlzdHJ1Y3QgcGNpX2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2Owot CXN0cnVjdCBkZXZpY2UgKmtkZXYgPSAmcGRldi0+ZGV2OworCXN0cnVjdCBpOTE1X3J1bnRpbWVf cG0gKnJwbSA9ICZpOTE1LT5ydW50aW1lX3BtOworCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSBycG0t PmtkZXY7CiAKIAkvKgogCSAqIERpc2FibGUgdGhlIHN5c3RlbSBzdXNwZW5kIGRpcmVjdCBjb21w bGV0ZSBvcHRpbWl6YXRpb24sIHdoaWNoIGNhbgpAQCAtNTg0LDcgKzU2OSw3IEBAIHZvaWQgaW50 ZWxfcnVudGltZV9wbV9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCiAJICog c28gdGhlIGRyaXZlcidzIG93biBSUE0gcmVmZXJlbmNlIHRyYWNraW5nIGFzc2VydHMgYWxzbyB3 b3JrIG9uCiAJICogcGxhdGZvcm1zIHdpdGhvdXQgUlBNIHN1cHBvcnQuCiAJICovCi0JaWYgKCFI QVNfUlVOVElNRV9QTShpOTE1KSkgeworCWlmICghcnBtLT5hdmFpbGFibGUpIHsKIAkJaW50IHJl dDsKIAogCQlwbV9ydW50aW1lX2RvbnRfdXNlX2F1dG9zdXNwZW5kKGtkZXYpOwpAQCAtNjA0LDgg KzU4OSw4IEBAIHZvaWQgaW50ZWxfcnVudGltZV9wbV9lbmFibGUoc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUpCiAKIHZvaWQgaW50ZWxfcnVudGltZV9wbV9kaXNhYmxlKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICppOTE1KQogewotCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gaTkxNS0+ZHJt LnBkZXY7Ci0Jc3RydWN0IGRldmljZSAqa2RldiA9ICZwZGV2LT5kZXY7CisJc3RydWN0IGk5MTVf cnVudGltZV9wbSAqcnBtID0gJmk5MTUtPnJ1bnRpbWVfcG07CisJc3RydWN0IGRldmljZSAqa2Rl diA9IHJwbS0+a2RldjsKIAogCS8qIFRyYW5zZmVyIHJwbSBvd25lcnNoaXAgYmFjayB0byBjb3Jl ICovCiAJV0FSTihwbV9ydW50aW1lX2dldF9zeW5jKGtkZXYpIDwgMCwKQEAgLTYxMyw3ICs1OTgs NyBAQCB2b2lkIGludGVsX3J1bnRpbWVfcG1fZGlzYWJsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqaTkxNSkKIAogCXBtX3J1bnRpbWVfZG9udF91c2VfYXV0b3N1c3BlbmQoa2Rldik7CiAKLQlp ZiAoIUhBU19SVU5USU1FX1BNKGk5MTUpKQorCWlmICghcnBtLT5hdmFpbGFibGUpCiAJCXBtX3J1 bnRpbWVfcHV0KGtkZXYpOwogfQogCkBAIC02MjcsMTAgKzYxMiwxNyBAQCB2b2lkIGludGVsX3J1 bnRpbWVfcG1fY2xlYW51cChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAkgICAgIGlu dGVsX3JwbV9yYXdfd2FrZXJlZl9jb3VudChjb3VudCksCiAJICAgICBpbnRlbF9ycG1fd2FrZWxv Y2tfY291bnQoY291bnQpKTsKIAotCXVudHJhY2tfYWxsX2ludGVsX3J1bnRpbWVfcG1fd2FrZXJl ZnMoaTkxNSk7CisJdW50cmFja19hbGxfaW50ZWxfcnVudGltZV9wbV93YWtlcmVmcyhycG0pOwog fQogCiB2b2lkIGludGVsX3J1bnRpbWVfcG1faW5pdF9lYXJseShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqaTkxNSkKIHsKLQlpbml0X2ludGVsX3J1bnRpbWVfcG1fd2FrZXJlZihpOTE1KTsKKwlz dHJ1Y3QgaTkxNV9ydW50aW1lX3BtICpycG0gPSAmaTkxNS0+cnVudGltZV9wbTsKKwlzdHJ1Y3Qg cGNpX2RldiAqcGRldiA9IGk5MTUtPmRybS5wZGV2OworCXN0cnVjdCBkZXZpY2UgKmtkZXYgPSAm cGRldi0+ZGV2OworCisJcnBtLT5rZGV2ID0ga2RldjsKKwlycG0tPmF2YWlsYWJsZSA9IEhBU19S VU5USU1FX1BNKGk5MTUpOworCisJaW5pdF9pbnRlbF9ydW50aW1lX3BtX3dha2VyZWYocnBtKTsK IH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9k ZXZpY2UuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2Uu YwppbmRleCAxZTlmZmNlZDc4YzEuLjBhZDQ1NmRiYTA5ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvc2VsZnRlc3RzL21vY2tfZ2VtX2RldmljZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9tb2NrX2dlbV9kZXZpY2UuYwpAQCAtMTUzLDggKzE1Myw2IEBA IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2NrX2dlbV9kZXZpY2Uodm9pZCkKIAlpOTE1ID0g KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICopKHBkZXYgKyAxKTsKIAlwY2lfc2V0X2RydmRhdGEo cGRldiwgaTkxNSk7CiAKLQlpbnRlbF9ydW50aW1lX3BtX2luaXRfZWFybHkoaTkxNSk7Ci0KIAlk ZXZfcG1fZG9tYWluX3NldCgmcGRldi0+ZGV2LCAmcG1fZG9tYWluKTsKIAlwbV9ydW50aW1lX2Vu YWJsZSgmcGRldi0+ZGV2KTsKIAlwbV9ydW50aW1lX2RvbnRfdXNlX2F1dG9zdXNwZW5kKCZwZGV2 LT5kZXYpOwpAQCAtMTY5LDYgKzE2Nyw4IEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICptb2Nr X2dlbV9kZXZpY2Uodm9pZCkKIAlpOTE1LT5kcm0ucGRldiA9IHBkZXY7CiAJaTkxNS0+ZHJtLmRl dl9wcml2YXRlID0gaTkxNTsKIAorCWludGVsX3J1bnRpbWVfcG1faW5pdF9lYXJseShpOTE1KTsK KwogCS8qIFVzaW5nIHRoZSBnbG9iYWwgR1RUIG1heSBhc2sgcXVlc3Rpb25zIGFib3V0IEtNUyB1 c2Vycywgc28gcHJlcGFyZSAqLwogCWRybV9tb2RlX2NvbmZpZ19pbml0KCZpOTE1LT5kcm0pOwog Ci0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9y ZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA==