From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andi Shyti Subject: [PATCH] drm/i915: Hook up GT power management Date: Thu, 5 Sep 2019 14:14:03 +0300 Message-ID: <20190905111403.10071-1-andi.shyti@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga05.intel.com (mga05.intel.com [192.55.52.43]) by gabe.freedesktop.org (Postfix) with ESMTPS id EF6286E06B for ; Thu, 5 Sep 2019 11:14:08 +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 List-Id: intel-gfx@lists.freedesktop.org UmVmYWN0b3IgdGhlIEdUIHBvd2VyIG1hbmFnZW1lbnQgaW50ZXJmYWNlIHRvIHdvcmsgdGhyb3Vn aCB0aGUgR1Qgbm93CnRoYXQgaXQgaXMgdW5kZXIgdGhlIGNvbnRyb2wgb2YgZ3QvCgpCYXNlZCBv biBhIHBhdGNoIGJ5IENocmlzIFdpbHNvbi4KClNpZ25lZC1vZmYtYnk6IEFuZGkgU2h5dGkgPGFu ZGkuc2h5dGlAaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX3BtLmMgfCAgMSAr CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jICAgICB8IDQ1ICsrKysrKysrKysr KysrKysrKysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oICAgICB8 ICA5ICsrKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3RfcG0uYyAgfCAzNiAr KysrKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3Bt LmggIHwgIDIgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgIHwgMjEg KysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jICAgICAgICB8IDMw ICsrKy0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jICAgICAg ICB8ICA0ICsrLQogOCBmaWxlcyBjaGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCA0OSBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcG0u YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2dlbS9pOTE1X2dlbV9wbS5jCmluZGV4IDkyZTUzYzI1 NDI0Yy4uYjM5OTNkMjRiODNkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0v aTkxNV9nZW1fcG0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fcG0u YwpAQCAtMTM3LDYgKzEzNyw3IEBAIHN0YXRpYyBib29sIHN3aXRjaF90b19rZXJuZWxfY29udGV4 dF9zeW5jKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiAKIGJvb2wgaTkxNV9nZW1fbG9hZF9wb3dlcl9j b250ZXh0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogeworCWludGVsX2d0X3BtX2Vu YWJsZSgmaTkxNS0+Z3QpOwogCXJldHVybiBzd2l0Y2hfdG9fa2VybmVsX2NvbnRleHRfc3luYygm aTkxNS0+Z3QpOwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYwppbmRleCBkNDhlYzlh NzZlZDEuLmUyY2M2OTdkMjdmYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfZ3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jCkBAIC03 LDYgKzcsNyBAQAogI2luY2x1ZGUgImludGVsX2d0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZ3RfcG0u aCIKICNpbmNsdWRlICJpbnRlbF91bmNvcmUuaCIKKyNpbmNsdWRlICJpbnRlbF9wbS5oIgogCiB2 b2lkIGludGVsX2d0X2luaXRfZWFybHkoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUpCiB7CkBAIC0yNyw2ICsyOCw5IEBAIHZvaWQgaW50ZWxfZ3RfaW5p dF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSkKIHZvaWQgaW50ZWxfZ3RfaW5pdF9odyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkK IHsKIAlpOTE1LT5ndC5nZ3R0ID0gJmk5MTUtPmdndHQ7CisKKwkvKiBCSU9TIG9mdGVuIGxlYXZl cyBSQzYgZW5hYmxlZCwgYnV0IGRpc2FibGUgaXQgZm9yIGh3IGluaXQgKi8KKwlpbnRlbF9ndF9w bV9kaXNhYmxlKCZpOTE1LT5ndCk7CiB9CiAKIHN0YXRpYyB2b2lkIHJtd19zZXQoc3RydWN0IGlu dGVsX3VuY29yZSAqdW5jb3JlLCBpOTE1X3JlZ190IHJlZywgdTMyIHNldCkKQEAgLTIyMiw3ICsy MjYsMTMgQEAgdm9pZCBpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKHN0cnVjdCBpbnRlbF9ndCAqZ3Qp CiAJCWludGVsX2d0dF9jaGlwc2V0X2ZsdXNoKCk7CiB9CiAKLWludCBpbnRlbF9ndF9pbml0X3Nj cmF0Y2goc3RydWN0IGludGVsX2d0ICpndCwgdW5zaWduZWQgaW50IHNpemUpCit2b2lkIGludGVs X2d0X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQoreworCWlmIChJU19HRU4o Z3QtPmk5MTUsIDUpKQorCQlpbnRlbF9ncHVfaXBzX2luaXQoZ3QtPmk5MTUpOworfQorCitzdGF0 aWMgaW50IGludGVsX2d0X2luaXRfc2NyYXRjaChzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCB1bnNpZ25l ZCBpbnQgc2l6ZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd0LT5pOTE1 OwogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CkBAIC0yNTYsMTEgKzI2Niw0MiBA QCBpbnQgaW50ZWxfZ3RfaW5pdF9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHVuc2lnbmVk IGludCBzaXplKQogCXJldHVybiByZXQ7CiB9CiAKLXZvaWQgaW50ZWxfZ3RfZmluaV9zY3JhdGNo KHN0cnVjdCBpbnRlbF9ndCAqZ3QpCitzdGF0aWMgdm9pZCBpbnRlbF9ndF9maW5pX3NjcmF0Y2go c3RydWN0IGludGVsX2d0ICpndCkKIHsKIAlpOTE1X3ZtYV91bnBpbl9hbmRfcmVsZWFzZSgmZ3Qt PnNjcmF0Y2gsIDApOwogfQogCitpbnQgaW50ZWxfZ3RfaW5pdChzdHJ1Y3QgaW50ZWxfZ3QgKmd0 KQoreworCWludCBlcnI7CisKKwllcnIgPSBpbnRlbF9ndF9pbml0X3NjcmF0Y2goZ3QsIElTX0dF TihndC0+aTkxNSwgMikgPyBTWl8yNTZLIDogU1pfNEspOworCWlmIChlcnIpCisJCXJldHVybiBl cnI7CisKKwlyZXR1cm4gMDsKK30KKwordm9pZCBpbnRlbF9ndF9kcml2ZXJfcmVtb3ZlKHN0cnVj dCBpbnRlbF9ndCAqZ3QpCit7CisJR0VNX0JVR19PTihndC0+YXdha2UpOworCWludGVsX2d0X3Bt X2Rpc2FibGUoZ3QpOworfQorCit2b2lkIGludGVsX2d0X2RyaXZlcl91bnJlZ2lzdGVyKHN0cnVj dCBpbnRlbF9ndCAqZ3QpCit7CisJaW50ZWxfZ3B1X2lwc190ZWFyZG93bigpOworfQorCit2b2lk IGludGVsX2d0X2RyaXZlcl9yZWxlYXNlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCit7CisJLyogUGFy YW5vaWE6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRpc2FibGVkIGV2ZXJ5dGhpbmcgYmVmb3JlIHdlIGV4 aXQuICovCisJaW50ZWxfZ3RfcG1fZGlzYWJsZShndCk7CisKKwlpbnRlbF9jbGVhbnVwX2d0X3Bv d2Vyc2F2ZShndC0+aTkxNSk7CisJaW50ZWxfZ3RfZmluaV9zY3JhdGNoKGd0KTsKK30KKwogdm9p ZCBpbnRlbF9ndF9kcml2ZXJfbGF0ZV9yZWxlYXNlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCiB7CiAJ aW50ZWxfdWNfZHJpdmVyX2xhdGVfcmVsZWFzZSgmZ3QtPnVjKTsKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9p bnRlbF9ndC5oCmluZGV4IDQ5MjBjYjM1MWYxMC4uMTdhZjIxY2I3ZWQzIDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2d0LmgKQEAgLTI5LDYgKzI5LDEyIEBAIHN0YXRpYyBpbmxpbmUgc3RydWN0 IGludGVsX2d0ICpodWNfdG9fZ3Qoc3RydWN0IGludGVsX2h1YyAqaHVjKQogCiB2b2lkIGludGVs X2d0X2luaXRfZWFybHkoc3RydWN0IGludGVsX2d0ICpndCwgc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmk5MTUpOwogdm9pZCBpbnRlbF9ndF9pbml0X2h3KHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICppOTE1KTsKK2ludCBpbnRlbF9ndF9pbml0KHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwordm9pZCBp bnRlbF9ndF9kcml2ZXJfcmVnaXN0ZXIoc3RydWN0IGludGVsX2d0ICpndCk7CisKK3ZvaWQgaW50 ZWxfZ3RfZHJpdmVyX3VucmVnaXN0ZXIoc3RydWN0IGludGVsX2d0ICpndCk7Cit2b2lkIGludGVs X2d0X2RyaXZlcl9yZW1vdmUoc3RydWN0IGludGVsX2d0ICpndCk7Cit2b2lkIGludGVsX2d0X2Ry aXZlcl9yZWxlYXNlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwogCiB2b2lkIGludGVsX2d0X2RyaXZl cl9sYXRlX3JlbGVhc2Uoc3RydWN0IGludGVsX2d0ICpndCk7CiAKQEAgLTQxLDkgKzQ3LDYgQEAg dm9pZCBpbnRlbF9ndF9jaGlwc2V0X2ZsdXNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwogCiB2b2lk IGludGVsX2d0X2luaXRfaGFuZ2NoZWNrKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwogCi1pbnQgaW50 ZWxfZ3RfaW5pdF9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QsIHVuc2lnbmVkIGludCBzaXpl KTsKLXZvaWQgaW50ZWxfZ3RfZmluaV9zY3JhdGNoKHN0cnVjdCBpbnRlbF9ndCAqZ3QpOwotCiBz dGF0aWMgaW5saW5lIHUzMiBpbnRlbF9ndF9zY3JhdGNoX29mZnNldChjb25zdCBzdHJ1Y3QgaW50 ZWxfZ3QgKmd0LAogCQkJCQkgIGVudW0gaW50ZWxfZ3Rfc2NyYXRjaF9maWVsZCBmaWVsZCkKIHsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9wbS5jCmluZGV4IGFhNmNmMDE1MmNlNy4uNmJh MGQyMDY5Zjg3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9w bS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmMKQEAgLTEyNCw2 ICsxMjQsNDIgQEAgdm9pZCBpbnRlbF9ndF9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBi b29sIGZvcmNlKQogCQlfX2ludGVsX2VuZ2luZV9yZXNldChlbmdpbmUsIGZhbHNlKTsKIH0KIAor c3RhdGljIGJvb2wgaXNfbW9ja19kZXZpY2UoY29uc3Qgc3RydWN0IGludGVsX2d0ICpndCkKK3sK KwlyZXR1cm4gSTkxNV9TRUxGVEVTVF9PTkxZKGd0LT5hd2FrZSA9PSAtMSk7Cit9CisKK3ZvaWQg aW50ZWxfZ3RfcG1fZW5hYmxlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCit7CisJc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lOworCWVudW0gaW50ZWxfZW5naW5lX2lkIGlkOworCisJLyogUG93 ZXJzYXZpbmcgaXMgY29udHJvbGxlZCBieSB0aGUgaG9zdCB3aGVuIGluc2lkZSBhIFZNICovCisJ aWYgKGludGVsX3ZncHVfYWN0aXZlKGd0LT5pOTE1KSkKKwkJcmV0dXJuOworCisJaWYgKGlzX21v Y2tfZGV2aWNlKGd0KSkKKwkJcmV0dXJuOworCisJaW50ZWxfZ3RfcG1fZ2V0KGd0KTsKKworCWZv cl9lYWNoX2VuZ2luZShlbmdpbmUsIGd0LT5pOTE1LCBpZCkgeworCQlpbnRlbF9lbmdpbmVfcG1f Z2V0KGVuZ2luZSk7CisJCWVuZ2luZS0+c2VyaWFsKys7IC8qIGZvcmNlIGtlcm5lbCBjb250ZXh0 IHJlbG9hZCAqLworCQlpbnRlbF9lbmdpbmVfcG1fcHV0KGVuZ2luZSk7CisJfQorCisJaW50ZWxf Z3RfcG1fcHV0KGd0KTsKK30KKwordm9pZCBpbnRlbF9ndF9wbV9kaXNhYmxlKHN0cnVjdCBpbnRl bF9ndCAqZ3QpCit7CisJaWYgKGlzX21vY2tfZGV2aWNlKGd0KSkKKwkJcmV0dXJuOworCisJaW50 ZWxfc2FuaXRpemVfZ3RfcG93ZXJzYXZlKGd0LT5pOTE1KTsKK30KKwogaW50IGludGVsX2d0X3Jl c3VtZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndF9wbS5oCmluZGV4IGZiMzlkOTljZDZl ZS4uZDFmM2UyZTIzOTM3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9ndF9wbS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2d0X3BtLmgKQEAg LTQzLDYgKzQzLDggQEAgc3RhdGljIGlubGluZSBpbnQgaW50ZWxfZ3RfcG1fd2FpdF9mb3JfaWRs ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogfQogCiB2b2lkIGludGVsX2d0X3BtX2luaXRfZWFybHko c3RydWN0IGludGVsX2d0ICpndCk7Cit2b2lkIGludGVsX2d0X3BtX2VuYWJsZShzdHJ1Y3QgaW50 ZWxfZ3QgKmd0KTsKK3ZvaWQgaW50ZWxfZ3RfcG1fZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0 KTsKIAogdm9pZCBpbnRlbF9ndF9zYW5pdGl6ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0LCBib29sIGZv cmNlKTsKIGludCBpbnRlbF9ndF9yZXN1bWUoc3RydWN0IGludGVsX2d0ICpndCk7CmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuYwppbmRleCBiZWMyNTk0MmQ3N2QuLjdiMmM4MWE4YmJhYSAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5jCkBAIC0xMjc5LDkgKzEyNzksNiBAQCBzdGF0aWMgaW50IGk5MTVfZHJp dmVyX2h3X3Byb2JlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlwbV9xb3Nf YWRkX3JlcXVlc3QoJmRldl9wcml2LT5wbV9xb3MsIFBNX1FPU19DUFVfRE1BX0xBVEVOQ1ksCiAJ CQkgICBQTV9RT1NfREVGQVVMVF9WQUxVRSk7CiAKLQkvKiBCSU9TIG9mdGVuIGxlYXZlcyBSQzYg ZW5hYmxlZCwgYnV0IGRpc2FibGUgaXQgZm9yIGh3IGluaXQgKi8KLQlpbnRlbF9zYW5pdGl6ZV9n dF9wb3dlcnNhdmUoZGV2X3ByaXYpOwotCiAJaW50ZWxfZ3RfaW5pdF93b3JrYXJvdW5kcyhkZXZf cHJpdik7CiAKIAkvKiBPbiB0aGUgOTQ1Ry9HTSwgdGhlIGNoaXBzZXQgcmVwb3J0cyB0aGUgTVNJ IGNhcGFiaWxpdHkgb24gdGhlCkBAIC0xMzg3LDggKzEzODQsNyBAQCBzdGF0aWMgdm9pZCBpOTE1 X2RyaXZlcl9yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWFj cGlfdmlkZW9fcmVnaXN0ZXIoKTsKIAl9CiAKLQlpZiAoSVNfR0VOKGRldl9wcml2LCA1KSkKLQkJ aW50ZWxfZ3B1X2lwc19pbml0KGRldl9wcml2KTsKKwlpbnRlbF9ndF9kcml2ZXJfcmVnaXN0ZXIo JmRldl9wcml2LT5ndCk7CiAKIAlpbnRlbF9hdWRpb19pbml0KGRldl9wcml2KTsKIApAQCAtMTQz MSw3ICsxNDI3LDcgQEAgc3RhdGljIHZvaWQgaTkxNV9kcml2ZXJfdW5yZWdpc3RlcihzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJICovCiAJZHJtX2ttc19oZWxwZXJfcG9sbF9m aW5pKCZkZXZfcHJpdi0+ZHJtKTsKIAotCWludGVsX2dwdV9pcHNfdGVhcmRvd24oKTsKKwlpbnRl bF9ndF9kcml2ZXJfdW5yZWdpc3RlcigmZGV2X3ByaXYtPmd0KTsKIAlhY3BpX3ZpZGVvX3VucmVn aXN0ZXIoKTsKIAlpbnRlbF9vcHJlZ2lvbl91bnJlZ2lzdGVyKGRldl9wcml2KTsKIApAQCAtMTU3 NSw5ICsxNTcxLDYgQEAgaW50IGk5MTVfZHJpdmVyX3Byb2JlKHN0cnVjdCBwY2lfZGV2ICpwZGV2 LCBjb25zdCBzdHJ1Y3QgcGNpX2RldmljZV9pZCAqZW50KQogb3V0X2NsZWFudXBfaHc6CiAJaTkx NV9kcml2ZXJfaHdfcmVtb3ZlKGRldl9wcml2KTsKIAlpOTE1X2dndHRfZHJpdmVyX3JlbGVhc2Uo ZGV2X3ByaXYpOwotCi0JLyogUGFyYW5vaWE6IG1ha2Ugc3VyZSB3ZSBoYXZlIGRpc2FibGVkIGV2 ZXJ5dGhpbmcgYmVmb3JlIHdlIGV4aXQuICovCi0JaW50ZWxfc2FuaXRpemVfZ3RfcG93ZXJzYXZl KGRldl9wcml2KTsKIG91dF9jbGVhbnVwX21taW86CiAJaTkxNV9kcml2ZXJfbW1pb19yZWxlYXNl KGRldl9wcml2KTsKIG91dF9ydW50aW1lX3BtX3B1dDoKQEAgLTE2NDgsOSArMTY0MSw2IEBAIHN0 YXRpYyB2b2lkIGk5MTVfZHJpdmVyX3JlbGVhc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAog CWk5MTVfZ2d0dF9kcml2ZXJfcmVsZWFzZShkZXZfcHJpdik7CiAKLQkvKiBQYXJhbm9pYTogbWFr ZSBzdXJlIHdlIGhhdmUgZGlzYWJsZWQgZXZlcnl0aGluZyBiZWZvcmUgd2UgZXhpdC4gKi8KLQlp bnRlbF9zYW5pdGl6ZV9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOwotCiAJaTkxNV9kcml2ZXJfbW1p b19yZWxlYXNlKGRldl9wcml2KTsKIAogCWVuYWJsZV9ycG1fd2FrZXJlZl9hc3NlcnRzKHJwbSk7 CkBAIC0xODc5LDcgKzE4NjksNyBAQCBzdGF0aWMgaW50IGk5MTVfZHJtX3Jlc3VtZShzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2KQogCWludCByZXQ7CiAKIAlkaXNhYmxlX3JwbV93YWtlcmVmX2Fzc2Vy dHMoJmRldl9wcml2LT5ydW50aW1lX3BtKTsKLQlpbnRlbF9zYW5pdGl6ZV9ndF9wb3dlcnNhdmUo ZGV2X3ByaXYpOworCWludGVsX2d0X3BtX2Rpc2FibGUoJmRldl9wcml2LT5ndCk7CiAKIAlpOTE1 X2dlbV9zYW5pdGl6ZShkZXZfcHJpdik7CiAKQEAgLTIwMDcsNyArMTk5Nyw3IEBAIHN0YXRpYyBp bnQgaTkxNV9kcm1fcmVzdW1lX2Vhcmx5KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAKIAlpbnRl bF9kaXNwbGF5X3Bvd2VyX3Jlc3VtZV9lYXJseShkZXZfcHJpdik7CiAKLQlpbnRlbF9zYW5pdGl6 ZV9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOworCWludGVsX2d0X3BtX2Rpc2FibGUoJmRldl9wcml2 LT5ndCk7CiAKIAlpbnRlbF9wb3dlcl9kb21haW5zX3Jlc3VtZShkZXZfcHJpdik7CiAKQEAgLTI1 NTEsOSArMjU0MSw2IEBAIHN0YXRpYyBpbnQgaW50ZWxfcnVudGltZV9zdXNwZW5kKHN0cnVjdCBk ZXZpY2UgKmtkZXYpCiAJc3RydWN0IGludGVsX3J1bnRpbWVfcG0gKnJwbSA9ICZkZXZfcHJpdi0+ cnVudGltZV9wbTsKIAlpbnQgcmV0ID0gMDsKIAotCWlmIChXQVJOX09OX09OQ0UoIShkZXZfcHJp di0+Z3RfcG0ucmM2LmVuYWJsZWQgJiYgSEFTX1JDNihkZXZfcHJpdikpKSkKLQkJcmV0dXJuIC1F Tk9ERVY7Ci0KIAlpZiAoV0FSTl9PTl9PTkNFKCFIQVNfUlVOVElNRV9QTShkZXZfcHJpdikpKQog CQlyZXR1cm4gLUVOT0RFVjsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKaW5kZXggOTVlN2M1MmNm OGVkLi4xNDEwMjRjNjZmMzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf Z2VtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMTM3NSwxNyAr MTM3NSw2IEBAIHN0YXRpYyBpbnQgX19pbnRlbF9lbmdpbmVzX3JlY29yZF9kZWZhdWx0cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAlyZXR1cm4gZXJyOwogfQogCi1zdGF0aWMgaW50 Ci1pOTE1X2dlbV9pbml0X3NjcmF0Y2goc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIHVu c2lnbmVkIGludCBzaXplKQotewotCXJldHVybiBpbnRlbF9ndF9pbml0X3NjcmF0Y2goJmk5MTUt Pmd0LCBzaXplKTsKLX0KLQotc3RhdGljIHZvaWQgaTkxNV9nZW1fZmluaV9zY3JhdGNoKHN0cnVj dCBkcm1faTkxNV9wcml2YXRlICppOTE1KQotewotCWludGVsX2d0X2Zpbmlfc2NyYXRjaCgmaTkx NS0+Z3QpOwotfQotCiBzdGF0aWMgaW50IGludGVsX2VuZ2luZXNfdmVyaWZ5X3dvcmthcm91bmRz KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1KQogewogCXN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKmVuZ2luZTsKQEAgLTE0MzYsMTIgKzE0MjUsNyBAQCBpbnQgaTkxNV9nZW1faW5pdChzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJCWdvdG8gZXJyX3VubG9jazsKIAl9CiAK LQlyZXQgPSBpOTE1X2dlbV9pbml0X3NjcmF0Y2goZGV2X3ByaXYsCi0JCQkJICAgIElTX0dFTihk ZXZfcHJpdiwgMikgPyBTWl8yNTZLIDogUEFHRV9TSVpFKTsKLQlpZiAocmV0KSB7Ci0JCUdFTV9C VUdfT04ocmV0ID09IC1FSU8pOwotCQlnb3RvIGVycl9nZ3R0OwotCX0KKwlpbnRlbF9ndF9pbml0 KCZkZXZfcHJpdi0+Z3QpOwogCiAJcmV0ID0gaW50ZWxfZW5naW5lc19zZXR1cChkZXZfcHJpdik7 CiAJaWYgKHJldCkgewpAQCAtMTUyNywxNSArMTUxMSwxMyBAQCBpbnQgaTkxNV9nZW1faW5pdChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBlcnJfdWNfaW5pdDoKIAlpZiAocmV0 ICE9IC1FSU8pIHsKIAkJaW50ZWxfdWNfZmluaSgmZGV2X3ByaXYtPmd0LnVjKTsKLQkJaW50ZWxf Y2xlYW51cF9ndF9wb3dlcnNhdmUoZGV2X3ByaXYpOwogCQlpbnRlbF9lbmdpbmVzX2NsZWFudXAo ZGV2X3ByaXYpOwogCX0KIGVycl9jb250ZXh0OgogCWlmIChyZXQgIT0gLUVJTykKIAkJaTkxNV9n ZW1fY29udGV4dHNfZmluaShkZXZfcHJpdik7CiBlcnJfc2NyYXRjaDoKLQlpOTE1X2dlbV9maW5p X3NjcmF0Y2goZGV2X3ByaXYpOwotZXJyX2dndHQ6CisJaW50ZWxfZ3RfZHJpdmVyX3JlbGVhc2Uo JmRldl9wcml2LT5ndCk7CiBlcnJfdW5sb2NrOgogCWludGVsX3VuY29yZV9mb3JjZXdha2VfcHV0 KCZkZXZfcHJpdi0+dW5jb3JlLCBGT1JDRVdBS0VfQUxMKTsKIAltdXRleF91bmxvY2soJmRldl9w cml2LT5kcm0uc3RydWN0X211dGV4KTsKQEAgLTE1ODcsMTIgKzE1NjksMTAgQEAgdm9pZCBpOTE1 X2dlbV9kcml2ZXJfdW5yZWdpc3RlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSkKIAog dm9pZCBpOTE1X2dlbV9kcml2ZXJfcmVtb3ZlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZf cHJpdikKIHsKLQlHRU1fQlVHX09OKGRldl9wcml2LT5ndC5hd2FrZSk7Ci0KIAlpbnRlbF93YWtl cmVmX2F1dG9fZmluaSgmZGV2X3ByaXYtPmdndHQudXNlcmZhdWx0X3dha2VyZWYpOwogCiAJaTkx NV9nZW1fc3VzcGVuZF9sYXRlKGRldl9wcml2KTsKLQlpbnRlbF9kaXNhYmxlX2d0X3Bvd2Vyc2F2 ZShkZXZfcHJpdik7CisJaW50ZWxfZ3RfZHJpdmVyX3JlbW92ZSgmZGV2X3ByaXYtPmd0KTsKIAog CS8qIEZsdXNoIGFueSBvdXRzdGFuZGluZyB1bnBpbl93b3JrLiAqLwogCWk5MTVfZ2VtX2RyYWlu X3dvcmtxdWV1ZShkZXZfcHJpdik7CkBAIC0xNjEwLDEzICsxNTkwLDExIEBAIHZvaWQgaTkxNV9n ZW1fZHJpdmVyX3JlbGVhc2Uoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCW11 dGV4X2xvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKIAlpbnRlbF9lbmdpbmVzX2Ns ZWFudXAoZGV2X3ByaXYpOwogCWk5MTVfZ2VtX2NvbnRleHRzX2ZpbmkoZGV2X3ByaXYpOwotCWk5 MTVfZ2VtX2Zpbmlfc2NyYXRjaChkZXZfcHJpdik7CisJaW50ZWxfZ3RfZHJpdmVyX3JlbGVhc2Uo JmRldl9wcml2LT5ndCk7CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7CiAKIAlpbnRlbF93YV9saXN0X2ZyZWUoJmRldl9wcml2LT5ndF93YV9saXN0KTsKIAotCWlu dGVsX2NsZWFudXBfZ3RfcG93ZXJzYXZlKGRldl9wcml2KTsKLQogCWludGVsX3VjX2NsZWFudXBf ZmlybXdhcmVzKCZkZXZfcHJpdi0+Z3QudWMpOwogCWk5MTVfZ2VtX2NsZWFudXBfdXNlcnB0cihk ZXZfcHJpdik7CiAJaW50ZWxfdGltZWxpbmVzX2ZpbmkoZGV2X3ByaXYpOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3BtLmMKaW5kZXggNGZhOWJjODNjOGI0Li4wZGFkMDE1YTRmNjggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcG0uYwpAQCAtODY2Nyw3ICs4NjY3LDkgQEAgdm9pZCBpbnRlbF9kaXNhYmxlX2d0X3Bv d2Vyc2F2ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiB7CiAJbXV0ZXhfbG9j aygmZGV2X3ByaXYtPmd0X3BtLnJwcy5sb2NrKTsKIAotCWludGVsX2Rpc2FibGVfcmM2KGRldl9w cml2KTsKKwlpZiAoSEFTX1JDNihkZXZfcHJpdikpCisJCWludGVsX2Rpc2FibGVfcmM2KGRldl9w cml2KTsKKwogCWludGVsX2Rpc2FibGVfcnBzKGRldl9wcml2KTsKIAlpZiAoSEFTX0xMQyhkZXZf cHJpdikpCiAJCWludGVsX2Rpc2FibGVfbGxjX3BzdGF0ZShkZXZfcHJpdik7Ci0tIAoyLjIzLjAK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==