From mboxrd@z Thu Jan 1 00:00:00 1970 From: Hans de Goede Subject: [PATCH v4 4/4] drm/i915: Acquire PUNIT->PMIC bus for intel_uncore_forcewake_reset() Date: Sun, 20 Aug 2017 14:59:20 +0200 Message-ID: <20170820125920.27347-4-hdegoede@redhat.com> References: <20170820125920.27347-1-hdegoede@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170820125920.27347-1-hdegoede@redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Daniel Vetter , Jani Nikula , =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= , Imre Deak Cc: Hans de Goede , intel-gfx , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org aW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldCgpIGRvZXMgZm9yY2V3YWtlIHB1dHMgYW5kIGdl dHMgYXMgc3VjaAp3ZSBuZWVkIHRvIG1ha2Ugc3VyZSB0aGF0IG5vLW9uZSB0cmllcyB0byBhY2Nl c3MgdGhlIFBVTklULT5QTUlDIGJ1cwoob24gc3lzdGVtcyB3aGVyZSB0aGlzIGJ1cyBpcyBzaGFy ZWQpIHdoaWxlIGl0IHJ1bnMsIG90aGVyd2lzZSBiYWQKdGhpbmdzIGhhcHBlbi4KCk5vcm1hbGx5 IHRoaXMgaXMgdGFrZW4gY2FyZSBvZiBieSB0aGUgaTkxNV9wbWljX2J1c19hY2Nlc3Nfbm90aWZp ZXIoKQp3aGljaCBkb2VzIGFuIGludGVsX3VuY29yZV9mb3JjZXdha2VfZ2V0KEZPUkNFV0FLRV9B TEwpIHdoZW4gc29tZSBvdGhlcgpkcml2ZXIgdHJpZXMgdG8gYWNjZXNzIHRoZSBQTUlDIGJ1cywg c28gdGhhdCBsYXRlciBmb3JjZXdha2UgZ2V0cyBhcmUKbm8tb3BzIChmb3IgdGhlIGR1cmF0aW9u IG9mIHRoZSBidXMgYWNjZXNzKS4KCkJ1dCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0IGdl dHMgY2FsbGVkIGluIDMgY2FzZXM6CjEpIEJlZm9yZSByZWdpc3RlcmluZyB0aGUgcG1pY19idXNf YWNjZXNzX25vdGlmaWVyCjIpIEFmdGVyIHVucmVnaXN0ZXJpbmcgdGhlIHBtaWNfYnVzX2FjY2Vz c19ub3RpZmllcgozKSBUbyByZXNldCBmb3JjZXdha2Ugc3RhdGUgb24gYSBHUFUgcmVzZXQKCklu IGFsbCAzIGNhc2VzIHRoZSBpOTE1X3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcigpIHByb3RlY3Rp b24gaXMKaW5zdWZmaWNpZW50LgoKVGhpcyBjb21taXQgZml4ZXMgdGhpcyByYWNlIGJ5IGNhbGxp bmcgaW9zZl9tYmlfcHVuaXRfYWNxdWlyZSgpIGJlZm9yZQpjYWxsaW5nIGludGVsX3VuY29yZV9m b3JjZXdha2VfcmVzZXQoKS4gSW4gdGhlIGNhc2Ugd2hlcmUgaXQgaXMgY2FsbGVkCmRpcmVjdGx5 IGFmdGVyIHVucmVnaXN0ZXJpbmcgdGhlIHBtaWNfYnVzX2FjY2Vzc19ub3RpZmllciwgd2UgbmVl ZCB0bwpob2xkIHRoZSBwdW5pdC1sb2NrIG92ZXIgYm90aCBjYWxscyB0byBhdm9pZCBhIHJhY2Ug d2hlcmUKaW50ZWxfdW5jb3JlX2Z3X3JlbGVhc2VfdGltZXIoKSBtYXkgZXhlY3V0ZSBiZXR3ZWVu IHRoZSAyIGNhbGxzLgoKVG8gYWxsb3cgaG9sZGluZyB0aGUgbG9jayBvdmVyIGJvdGggY2FsbHMg d2UgbmVlZCBhbiB1bmxvY2tlZAp2YXJpYW50IG9mIGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19i dXNfYWNjZXNzX25vdGlmaWVyLiBTaW5jZQppbnRlbF91bmNvcmUuYyBpcyB0aGUgb25seSB1c2Vy IG9mIHRoaXMgZnVuY3Rpb24sIHdlIHNpbXBseQptb2RpZnkgaXQgaW4gdGhpcyBjb21taXQuIERv aW5nIHRoaXMgaW4gYSBzZXBhcmF0ZSBjb21taXQgd291bGQKcmVxdWlyZSBmaXJzdCBhZGRpbmcg YW4gdW5sb2NrZWQgdmFyaWFudCwgdGhlbiB0aGlzIGNvbW1pdCBhbmQKdGhlbiByZW1vdmluZyB0 aGUgdW51c2VkIG5vcm1hbCB2YXJpYW50LgoKU2lnbmVkLW9mZi1ieTogSGFucyBkZSBHb2VkZSA8 aGRlZ29lZGVAcmVkaGF0LmNvbT4KUmV2aWV3ZWQtYnk6IEltcmUgRGVhayA8aW1yZS5kZWFrQGlu dGVsLmNvbT4KLS0tCkNoYW5nZXMgaW4gdjI6Ci1SZWJhc2Ugb24gY3VycmVudCAoSnVseSA2dGgg MjAxNykgZHJtLW5leHQKCkNoYW5nZXMgaW4gdjM6Ci1LZWVwIHB1bml0IGFjcXVpcmVkIC8gbG9j a2VkIG92ZXIgdGhlIHVucmVnaXN0ZXIgKyBmb3JjZXdha2VfcmVzZXQKIGNhbGwgY29tYm8gdG8g YXZvaWQgYSByYWNlIGhpdHRpbmcgYmV0d2VlbiB0aGUgMiBjYWxscwotVGhpcyByZXF1aXJlcyBt b2RpZnlpbmcgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIKIHRv IG5vdCB0YWtlIHRoZSBsb2NrIGl0c2VsZiwgc2luY2Ugd2UgYXJlIHRoZSBvbmx5IHVzZXJzIHRo aXMgaXMgZG9uZQogaW4gdGhpcyBzYW1lIGNvbW1pdAoKQ2hhbmdlcyBpbiB2NDoKLUZpeCBtaXNz aW5nIHJlbmFtZSBpbiBkb2MtY29tbWVudAotQWRkIGFuZCB1c2UgaW9zZl9tYmlfYXNzZXJ0X3B1 bml0X2FjcXVpcmVkKCkgaGVscGVyCi1BZGQgbWlzc2luZyBhY3F1aXFyZSBzdXJyb3VuZGluZyBp bnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KCkgaW5zaWRlCiBpbnRlbF91bmNvcmVfY2hlY2tf Zm9yY2V3YWtlX2RvbWFpbnMoKQotQWRkIEltcmUncyBSZXZpZXdlZC1ieQotLS0KIGFyY2gveDg2 L2luY2x1ZGUvYXNtL2lvc2ZfbWJpLmggICAgICAgICAgICAgICB8IDIwICsrKysrKysrKysrKysr KysrLS0tCiBhcmNoL3g4Ni9wbGF0Zm9ybS9pbnRlbC9pb3NmX21iaS5jICAgICAgICAgICAgfCAy MCArKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3Jl LmMgICAgICAgICAgIHwgMTcgKysrKysrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L3NlbGZ0ZXN0cy9pbnRlbF91bmNvcmUuYyB8ICAzICsrKwogNCBmaWxlcyBjaGFuZ2VkLCA0NCBp bnNlcnRpb25zKCspLCAxNiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9hcmNoL3g4Ni9pbmNs dWRlL2FzbS9pb3NmX21iaS5oIGIvYXJjaC94ODYvaW5jbHVkZS9hc20vaW9zZl9tYmkuaAppbmRl eCBjMzEzY2FjMzZmNTYuLjBmMGRlNDMwMzE4MCAxMDA2NDQKLS0tIGEvYXJjaC94ODYvaW5jbHVk ZS9hc20vaW9zZl9tYmkuaAorKysgYi9hcmNoL3g4Ni9pbmNsdWRlL2FzbS9pb3NmX21iaS5oCkBA IC0xMzksMTEgKzEzOSwxNyBAQCB2b2lkIGlvc2ZfbWJpX3B1bml0X3JlbGVhc2Uodm9pZCk7CiBp bnQgaW9zZl9tYmlfcmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqbmIpOwogCiAvKioKLSAqIGlvc2ZfbWJpX3JlZ2lzdGVyX3BtaWNfYnVzX2Fj Y2Vzc19ub3RpZmllciAtIFVucmVnaXN0ZXIgUE1JQyBidXMgbm90aWZpZXIKKyAqIGlvc2ZfbWJp X3JlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl91bmxvY2tlZCAtIFVucmVnaXN0ZXIg UE1JQyBidXMKKyAqICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgIG5vdGlmaWVyCisgKgorICogTm90ZSB0aGUgY2FsbGVyIG11c3QgY2FsbCBpb3Nm X21iaV9wdW5pdF9hY3F1aXJlKCkgYmVmb3JlIGNhbGxpbmcgdGhpcworICogdG8gZW5zdXJlIHRo ZSBidXMgaXMgaW5hY3RpdmUgYmVmb3JlIHVucmVnaXN0ZXJpbmcgKGFuZCBjYWxsCisgKiBpb3Nm X21iaV9wdW5pdF9yZWxlYXNlKCkgYWZ0ZXJ3YXJkcykuCiAgKgogICogQG5iOiBub3RpZmllcl9i bG9jayB0byB1bnJlZ2lzdGVyCiAgKi8KLWludCBpb3NmX21iaV91bnJlZ2lzdGVyX3BtaWNfYnVz X2FjY2Vzc19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKTsKK2ludCBpb3NmX21i aV91bnJlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl91bmxvY2tlZCgKKwlzdHJ1Y3Qg bm90aWZpZXJfYmxvY2sgKm5iKTsKIAogLyoqCiAgKiBpb3NmX21iaV9jYWxsX3BtaWNfYnVzX2Fj Y2Vzc19ub3RpZmllcl9jaGFpbiAtIENhbGwgUE1JQyBidXMgbm90aWZpZXIgY2hhaW4KQEAgLTE1 Myw2ICsxNTksMTEgQEAgaW50IGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25v dGlmaWVyKHN0cnVjdCBub3RpZmllcl9ibG9jayAqbmIpOwogICovCiBpbnQgaW9zZl9tYmlfY2Fs bF9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXJfY2hhaW4odW5zaWduZWQgbG9uZyB2YWwsIHZvaWQg KnYpOwogCisvKioKKyAqIGlvc2ZfbWJpX2Fzc2VydF9wdW5pdF9hY3F1aXJlZCAtIEFzc2VydCB0 aGF0IHRoZSBQLVVuaXQgaGFzIGJlZW4gYWNxdWlyZWQuCisgKi8KK3ZvaWQgaW9zZl9tYmlfYXNz ZXJ0X3B1bml0X2FjcXVpcmVkKHZvaWQpOworCiAjZWxzZSAvKiBDT05GSUdfSU9TRl9NQkkgaXMg bm90IGVuYWJsZWQgKi8KIHN0YXRpYyBpbmxpbmUKIGJvb2wgaW9zZl9tYmlfYXZhaWxhYmxlKHZv aWQpCkBAIC0xOTEsNyArMjAyLDggQEAgaW50IGlvc2ZfbWJpX3JlZ2lzdGVyX3BtaWNfYnVzX2Fj Y2Vzc19ub3RpZmllcihzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQogfQogCiBzdGF0aWMgaW5s aW5lCi1pbnQgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXIoc3Ry dWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKK2ludCBpb3NmX21iaV91bnJlZ2lzdGVyX3BtaWNfYnVz X2FjY2Vzc19ub3RpZmllcl91bmxvY2tlZCgKKwlzdHJ1Y3Qgbm90aWZpZXJfYmxvY2sgKm5iKQog ewogCXJldHVybiAwOwogfQpAQCAtMjAyLDYgKzIxNCw4IEBAIGludCBpb3NmX21iaV9jYWxsX3Bt aWNfYnVzX2FjY2Vzc19ub3RpZmllcl9jaGFpbih1bnNpZ25lZCBsb25nIHZhbCwgdm9pZCAqdikK IAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIGlubGluZSB2b2lkIGlvc2ZfbWJpX2Fzc2VydF9wdW5p dF9hY3F1aXJlZCh2b2lkKSB7fQorCiAjZW5kaWYgLyogQ09ORklHX0lPU0ZfTUJJICovCiAKICNl bmRpZiAvKiBJT1NGX01CSV9TWU1TX0ggKi8KZGlmZiAtLWdpdCBhL2FyY2gveDg2L3BsYXRmb3Jt L2ludGVsL2lvc2ZfbWJpLmMgYi9hcmNoL3g4Ni9wbGF0Zm9ybS9pbnRlbC9pb3NmX21iaS5jCmlu ZGV4IGE5NTJhYzE5OTc0MS4uYTUzNjFmZDExZTZlIDEwMDY0NAotLS0gYS9hcmNoL3g4Ni9wbGF0 Zm9ybS9pbnRlbC9pb3NmX21iaS5jCisrKyBiL2FyY2gveDg2L3BsYXRmb3JtL2ludGVsL2lvc2Zf bWJpLmMKQEAgLTIxOCwxOSArMjE4LDE1IEBAIGludCBpb3NmX21iaV9yZWdpc3Rlcl9wbWljX2J1 c19hY2Nlc3Nfbm90aWZpZXIoc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKIH0KIEVYUE9SVF9T WU1CT0woaW9zZl9tYmlfcmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKTsKIAotaW50 IGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKHN0cnVjdCBub3Rp Zmllcl9ibG9jayAqbmIpCitpbnQgaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nf bm90aWZpZXJfdW5sb2NrZWQoCisJc3RydWN0IG5vdGlmaWVyX2Jsb2NrICpuYikKIHsKLQlpbnQg cmV0OworCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmaW9zZl9tYmlfcHVuaXRfbXV0ZXgpKTsK IAotCS8qIFdhaXQgZm9yIHRoZSBidXMgdG8gZ28gaW5hY3RpdmUgYmVmb3JlIHVucmVnaXN0ZXJp bmcgKi8KLQltdXRleF9sb2NrKCZpb3NmX21iaV9wdW5pdF9tdXRleCk7Ci0JcmV0ID0gYmxvY2tp bmdfbm90aWZpZXJfY2hhaW5fdW5yZWdpc3RlcigKKwlyZXR1cm4gYmxvY2tpbmdfbm90aWZpZXJf Y2hhaW5fdW5yZWdpc3RlcigKIAkJCQkmaW9zZl9tYmlfcG1pY19idXNfYWNjZXNzX25vdGlmaWVy LCBuYik7Ci0JbXV0ZXhfdW5sb2NrKCZpb3NmX21iaV9wdW5pdF9tdXRleCk7Ci0KLQlyZXR1cm4g cmV0OwogfQotRVhQT1JUX1NZTUJPTChpb3NmX21iaV91bnJlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vz c19ub3RpZmllcik7CitFWFBPUlRfU1lNQk9MKGlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNf YWNjZXNzX25vdGlmaWVyX3VubG9ja2VkKTsKIAogaW50IGlvc2ZfbWJpX2NhbGxfcG1pY19idXNf YWNjZXNzX25vdGlmaWVyX2NoYWluKHVuc2lnbmVkIGxvbmcgdmFsLCB2b2lkICp2KQogewpAQCAt MjM5LDYgKzIzNSwxMiBAQCBpbnQgaW9zZl9tYmlfY2FsbF9wbWljX2J1c19hY2Nlc3Nfbm90aWZp ZXJfY2hhaW4odW5zaWduZWQgbG9uZyB2YWwsIHZvaWQgKnYpCiB9CiBFWFBPUlRfU1lNQk9MKGlv c2ZfbWJpX2NhbGxfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyX2NoYWluKTsKIAordm9pZCBpb3Nm X21iaV9hc3NlcnRfcHVuaXRfYWNxdWlyZWQodm9pZCkKK3sKKwlXQVJOX09OKCFtdXRleF9pc19s b2NrZWQoJmlvc2ZfbWJpX3B1bml0X211dGV4KSk7Cit9CitFWFBPUlRfU1lNQk9MKGlvc2ZfbWJp X2Fzc2VydF9wdW5pdF9hY3F1aXJlZCk7CisKICNpZmRlZiBDT05GSUdfSU9TRl9NQklfREVCVUcK IHN0YXRpYyB1MzIJZGJnX21kcjsKIHN0YXRpYyB1MzIJZGJnX21jcjsKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfdW5jb3JlLmMKaW5kZXggZTllZDAyNTE4NDA2Li44MGU3NWMwMjllNTkgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC0yMjksNiArMjI5LDcgQEAgaW50ZWxfdW5jb3Jl X2Z3X3JlbGVhc2VfdGltZXIoc3RydWN0IGhydGltZXIgKnRpbWVyKQogCXJldHVybiBIUlRJTUVS X05PUkVTVEFSVDsKIH0KIAorLyogTm90ZSBjYWxsZXJzIG11c3QgaGF2ZSBhY3F1aXJlZCB0aGUg UFVOSVQtPlBNSUMgYnVzLCBiZWZvcmUgY2FsbGluZyB0aGlzLiAqLwogc3RhdGljIHZvaWQgaW50 ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYsCiAJCQkJCSBib29sIHJlc3RvcmUpCiB7CkBAIC0yMzcsNiArMjM4LDggQEAgc3RhdGljIHZv aWQgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9yZXNldChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiAJaW50IHJldHJ5X2NvdW50ID0gMTAwOwogCWVudW0gZm9yY2V3YWtlX2RvbWFp bnMgZncsIGFjdGl2ZV9kb21haW5zOwogCisJaW9zZl9tYmlfYXNzZXJ0X3B1bml0X2FjcXVpcmVk KCk7CisKIAkvKiBIb2xkIHVuY29yZS5sb2NrIGFjcm9zcyByZXNldCB0byBwcmV2ZW50IGFueSBy ZWdpc3RlciBhY2Nlc3MKIAkgKiB3aXRoIGZvcmNld2FrZSBub3Qgc2V0IGNvcnJlY3RseS4gV2Fp dCB1bnRpbCBhbGwgcGVuZGluZwogCSAqIHRpbWVycyBhcmUgcnVuIGJlZm9yZSBob2xkaW5nLgpA QCAtNDE2LDE0ICs0MTksMTggQEAgc3RhdGljIHZvaWQgX19pbnRlbF91bmNvcmVfZWFybHlfc2Fu aXRpemUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgIEdUX0ZJRk9f Q1RMX1JDNl9QT0xJQ1lfU1RBTEwpOwogCX0KIAorCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUoKTsK IAlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3Jlc2V0KGRldl9wcml2LCByZXN0b3JlX2ZvcmNld2Fr ZSk7CisJaW9zZl9tYmlfcHVuaXRfcmVsZWFzZSgpOwogfQogCiB2b2lkIGludGVsX3VuY29yZV9z dXNwZW5kKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIHsKLQlpb3NmX21iaV91 bnJlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcigKKwlpb3NmX21iaV9wdW5pdF9hY3F1 aXJlKCk7CisJaW9zZl9tYmlfdW5yZWdpc3Rlcl9wbWljX2J1c19hY2Nlc3Nfbm90aWZpZXJfdW5s b2NrZWQoCiAJCSZkZXZfcHJpdi0+dW5jb3JlLnBtaWNfYnVzX2FjY2Vzc19uYik7CiAJaW50ZWxf dW5jb3JlX2ZvcmNld2FrZV9yZXNldChkZXZfcHJpdiwgZmFsc2UpOworCWlvc2ZfbWJpX3B1bml0 X3JlbGVhc2UoKTsKIH0KIAogdm9pZCBpbnRlbF91bmNvcmVfcmVzdW1lX2Vhcmx5KHN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKQEAgLTEyNDYsMTIgKzEyNTMsMTQgQEAgdm9pZCBp bnRlbF91bmNvcmVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAKIHZv aWQgaW50ZWxfdW5jb3JlX2Zpbmkoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQog ewotCWlvc2ZfbWJpX3VucmVnaXN0ZXJfcG1pY19idXNfYWNjZXNzX25vdGlmaWVyKAotCQkmZGV2 X3ByaXYtPnVuY29yZS5wbWljX2J1c19hY2Nlc3NfbmIpOwotCiAJLyogUGFyYW5vaWE6IG1ha2Ug c3VyZSB3ZSBoYXZlIGRpc2FibGVkIGV2ZXJ5dGhpbmcgYmVmb3JlIHdlIGV4aXQuICovCiAJaW50 ZWxfdW5jb3JlX3Nhbml0aXplKGRldl9wcml2KTsKKworCWlvc2ZfbWJpX3B1bml0X2FjcXVpcmUo KTsKKwlpb3NmX21iaV91bnJlZ2lzdGVyX3BtaWNfYnVzX2FjY2Vzc19ub3RpZmllcl91bmxvY2tl ZCgKKwkJJmRldl9wcml2LT51bmNvcmUucG1pY19idXNfYWNjZXNzX25iKTsKIAlpbnRlbF91bmNv cmVfZm9yY2V3YWtlX3Jlc2V0KGRldl9wcml2LCBmYWxzZSk7CisJaW9zZl9tYmlfcHVuaXRfcmVs ZWFzZSgpOwogfQogCiAjZGVmaW5lIEdFTl9SQU5HRShsLCBoKSBHRU5NQVNLKChoKSAtIDEsIChs KSAtIDEpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxf dW5jb3JlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfdW5jb3JlLmMK aW5kZXggMmQwZmVmMmNmY2E2Li41NWQwZWY0ZmJjZWYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF91bmNvcmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9zZWxmdGVzdHMvaW50ZWxfdW5jb3JlLmMKQEAgLTE0OCw3ICsxNDgsMTAgQEAgc3RhdGlj IGludCBpbnRlbF91bmNvcmVfY2hlY2tfZm9yY2V3YWtlX2RvbWFpbnMoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcmkKIAlmb3JfZWFjaF9zZXRfYml0KG9mZnNldCwgdmFsaWQsIEZXX1JB TkdFKSB7CiAJCWk5MTVfcmVnX3QgcmVnID0geyBvZmZzZXQgfTsKIAorCQlpb3NmX21iaV9wdW5p dF9hY3F1aXJlKCk7CiAJCWludGVsX3VuY29yZV9mb3JjZXdha2VfcmVzZXQoZGV2X3ByaXYsIGZh bHNlKTsKKwkJaW9zZl9tYmlfcHVuaXRfcmVsZWFzZSgpOworCiAJCWNoZWNrX2Zvcl91bmNsYWlt ZWRfbW1pbyhkZXZfcHJpdik7CiAKIAkJKHZvaWQpSTkxNV9SRUFEKHJlZyk7Ci0tIAoyLjEzLjQK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZl bCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=