From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 5/7] drm/i915: Move register white-listing to the common workaround framework Date: Fri, 30 Nov 2018 17:44:10 +0000 Message-ID: <20181130174412.15767-6-tvrtko.ursulin@linux.intel.com> References: <20181130174412.15767-1-tvrtko.ursulin@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id D99146E64F for ; Fri, 30 Nov 2018 17:44:24 +0000 (UTC) In-Reply-To: <20181130174412.15767-1-tvrtko.ursulin@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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCkluc3RlYWQg b2YgaGF2aW5nIGEgc2VwYXJhdGUgbGlzdCBvZiB3aGl0ZS1saXN0ZWQgcmVnaXN0ZXJzIHdlIGNh bgp0cml2aWFsbHkgbW92ZSB0aGlzIHRvIHRoZSBjb21tb24gd29ya2Fyb3VuZHMgZnJhbWV3b3Jr LgoKVGhpcyBicmluZ3MgdXMgb25lIHN0ZXAgY2xvc2VyIHRvIHRoZSBnb2FsIG9mIGRyaXZpbmcg YWxsIHdvcmthcm91bmQKY2xhc3NlcyB1c2luZyB0aGUgc2FtZSBjb2RlLgoKdjI6CiAqIFVzZSBH RU1fREVCVUdfV0FSTl9PTiBmb3IgdGhlIHNhbml0eSBjaGVjay4gKENocmlzIFdpbHNvbikKClNp Z25lZC1vZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0t LQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgICAgICAgIHwgIDEgKwog ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgICAgICAgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oICAgICAgIHwgIDEgKwogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYyAgICAgIHwgODMgKysrKysrKystLS0t LS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuaCAgICAgIHwg IDEgKwogLi4uL2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jICAgIHwgNDAg KysrKy0tLS0tCiA2IGZpbGVzIGNoYW5nZWQsIDU3IGluc2VydGlvbnMoKyksIDcwIGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggZWY1ZDIwMmU5 ZDQ1Li40OTY0NjJkNzdlYmMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2VuZ2luZV9jcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2VuZ2luZV9jcy5j CkBAIC03MjUsNiArNzI1LDcgQEAgdm9pZCBpbnRlbF9lbmdpbmVfY2xlYW51cF9jb21tb24oc3Ry dWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCWk5MTVfdGltZWxpbmVfZmluaSgmZW5naW5l LT50aW1lbGluZSk7CiAKIAlpbnRlbF93YV9saXN0X2ZyZWUoJmVuZ2luZS0+d2FfbGlzdCk7CisJ aW50ZWxfd2FfbGlzdF9mcmVlKCZlbmdpbmUtPndoaXRlbGlzdCk7CiB9CiAKIHU2NCBpbnRlbF9l bmdpbmVfZ2V0X2FjdGl2ZV9oZWFkKGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2lu ZSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5kZXggZGZhZmMzZjcxMGQ2Li40ZWVhZDEwNGNk OWMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jCkBAIC0yMzE2LDYgKzIzMTYsNyBAQCBpbnQg bG9naWNhbF9yZW5kZXJfcmluZ19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IAkJCSAgcmV0KTsKIAl9CiAKKwlpbnRlbF93aGl0ZWxpc3Rfd29ya2Fyb3VuZHNfaW5pdChlbmdp bmUpOwogCWludGVsX2VuZ2luZV93b3JrYXJvdW5kc19pbml0KGVuZ2luZSk7CiAKIAlyZXR1cm4g MDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaCBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAppbmRleCBjNWZmM2QzMWNh YjcuLjkxYTc1MGU5MGRjNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf cmluZ2J1ZmZlci5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIu aApAQCAtNDUzLDYgKzQ1Myw3IEBAIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgewogCXN0cnVjdCBp bnRlbF9od19zdGF0dXNfcGFnZSBzdGF0dXNfcGFnZTsKIAlzdHJ1Y3QgaTkxNV9jdHhfd29ya2Fy b3VuZHMgd2FfY3R4OwogCXN0cnVjdCBpOTE1X3dhX2xpc3Qgd2FfbGlzdDsKKwlzdHJ1Y3QgaTkx NV93YV9saXN0IHdoaXRlbGlzdDsKIAlzdHJ1Y3QgaTkxNV92bWEgKnNjcmF0Y2g7CiAKIAl1MzIg ICAgICAgICAgICAgaXJxX2tlZXBfbWFzazsgLyogYWx3YXlzIGtlZXAgdGhlc2UgaW50ZXJydXB0 cyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRzLmMKaW5kZXggNWE0ZDcw ZTAyYjYzLi45YmQwNDRiOGU1NDUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX3dvcmthcm91bmRzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fy b3VuZHMuYwpAQCAtMTAxNSwyOSArMTAxNSwyMCBAQCBib29sIGludGVsX2d0X3dvcmthcm91bmRz X3ZlcmlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJcmV0dXJuIHdhX2xp c3RfdmVyaWZ5KGRldl9wcml2LCAmZGV2X3ByaXYtPmd0X3dhX2xpc3QsIGZyb20pOwogfQogCi1z dHJ1Y3Qgd2hpdGVsaXN0IHsKLQlpOTE1X3JlZ190IHJlZ1tSSU5HX01BWF9OT05QUklWX1NMT1RT XTsKLQl1bnNpZ25lZCBpbnQgY291bnQ7Ci0JdTMyIG5vcGlkOwotfTsKLQotc3RhdGljIHZvaWQg d2hpdGVsaXN0X3JlZyhzdHJ1Y3Qgd2hpdGVsaXN0ICp3LCBpOTE1X3JlZ190IHJlZykKK3N0YXRp YyB2b2lkCit3aGl0ZWxpc3RfcmVnKHN0cnVjdCBpOTE1X3dhX2xpc3QgKndhbCwgaTkxNV9yZWdf dCByZWcpCiB7Ci0JaWYgKEdFTV9ERUJVR19XQVJOX09OKHctPmNvdW50ID49IFJJTkdfTUFYX05P TlBSSVZfU0xPVFMpKQotCQlyZXR1cm47Ci0KLQl3LT5yZWdbdy0+Y291bnQrK10gPSByZWc7Ci19 CisJc3RydWN0IGk5MTVfd2Egd2EgPSB7CisJCS5yZWcgPSByZWcKKwl9OwogCi1zdGF0aWMgdm9p ZCBiZHdfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCi17Ci19CisJaWYgKEdF TV9ERUJVR19XQVJOX09OKHdhbC0+Y291bnQgPj0gUklOR19NQVhfTk9OUFJJVl9TTE9UUykpCisJ CXJldHVybjsKIAotc3RhdGljIHZvaWQgY2h2X3doaXRlbGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVs aXN0ICp3KQoteworCXdhbF9hZGQod2FsLCAmd2EpOwogfQogCi1zdGF0aWMgdm9pZCBnZW45X3do aXRlbGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQorc3RhdGljIHZvaWQgZ2VuOV93aGl0 ZWxpc3RfYnVpbGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqdykKIHsKIAkvKiBXYVZGRVN0YXRlQWZ0 ZXJQaXBlQ29udHJvbHdpdGhNZWRpYVN0YXRlQ2xlYXI6c2tsLGJ4dCxnbGssY2ZsICovCiAJd2hp dGVsaXN0X3JlZyh3LCBHRU45X0NUWF9QUkVFTVBUX1JFRyk7CkBAIC0xMDQ5LDcgKzEwNDAsNyBA QCBzdGF0aWMgdm9pZCBnZW45X3doaXRlbGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQog CXdoaXRlbGlzdF9yZWcodywgR0VOOF9IRENfQ0hJQ0tFTjEpOwogfQogCi1zdGF0aWMgdm9pZCBz a2xfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9pZCBza2xf d2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpOTE1X3dhX2xpc3QgKncpCiB7CiAJZ2VuOV93aGl0ZWxp c3RfYnVpbGQodyk7CiAKQEAgLTEwNTcsMTIgKzEwNDgsMTIgQEAgc3RhdGljIHZvaWQgc2tsX3do aXRlbGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQogCXdoaXRlbGlzdF9yZWcodywgR0VO OF9MM1NRQ1JFRzQpOwogfQogCi1zdGF0aWMgdm9pZCBieHRfd2hpdGVsaXN0X2J1aWxkKHN0cnVj dCB3aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9pZCBieHRfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBp OTE1X3dhX2xpc3QgKncpCiB7CiAJZ2VuOV93aGl0ZWxpc3RfYnVpbGQodyk7CiB9CiAKLXN0YXRp YyB2b2lkIGtibF93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IHdoaXRlbGlzdCAqdykKK3N0YXRpYyB2 b2lkIGtibF93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqdykKIHsKIAlnZW45 X3doaXRlbGlzdF9idWlsZCh3KTsKIApAQCAtMTA3MCw3ICsxMDYxLDcgQEAgc3RhdGljIHZvaWQg a2JsX3doaXRlbGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQogCXdoaXRlbGlzdF9yZWco dywgR0VOOF9MM1NRQ1JFRzQpOwogfQogCi1zdGF0aWMgdm9pZCBnbGtfd2hpdGVsaXN0X2J1aWxk KHN0cnVjdCB3aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9pZCBnbGtfd2hpdGVsaXN0X2J1aWxkKHN0 cnVjdCBpOTE1X3dhX2xpc3QgKncpCiB7CiAJZ2VuOV93aGl0ZWxpc3RfYnVpbGQodyk7CiAKQEAg LTEwNzgsMTggKzEwNjksMTggQEAgc3RhdGljIHZvaWQgZ2xrX3doaXRlbGlzdF9idWlsZChzdHJ1 Y3Qgd2hpdGVsaXN0ICp3KQogCXdoaXRlbGlzdF9yZWcodywgR0VOOV9TTElDRV9DT01NT05fRUNP X0NISUNLRU4xKTsKIH0KIAotc3RhdGljIHZvaWQgY2ZsX3doaXRlbGlzdF9idWlsZChzdHJ1Y3Qg d2hpdGVsaXN0ICp3KQorc3RhdGljIHZvaWQgY2ZsX3doaXRlbGlzdF9idWlsZChzdHJ1Y3QgaTkx NV93YV9saXN0ICp3KQogewogCWdlbjlfd2hpdGVsaXN0X2J1aWxkKHcpOwogfQogCi1zdGF0aWMg dm9pZCBjbmxfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9p ZCBjbmxfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpOTE1X3dhX2xpc3QgKncpCiB7CiAJLyogV2FF bmFibGVQcmVlbXB0aW9uR3JhbnVsYXJpdHlDb250cm9sQnlVTUQ6Y25sICovCiAJd2hpdGVsaXN0 X3JlZyh3LCBHRU44X0NTX0NISUNLRU4xKTsKIH0KIAotc3RhdGljIHZvaWQgaWNsX3doaXRlbGlz dF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQorc3RhdGljIHZvaWQgaWNsX3doaXRlbGlzdF9i dWlsZChzdHJ1Y3QgaTkxNV93YV9saXN0ICp3KQogewogCS8qIFdhQWxsb3dVTURUb01vZGlmeUhh bGZTbGljZUNoaWNrZW43OmljbCAqLwogCXdoaXRlbGlzdF9yZWcodywgR0VOOV9IQUxGX1NMSUNF X0NISUNLRU43KTsKQEAgLTEwOTgsMjIgKzEwODksMjEgQEAgc3RhdGljIHZvaWQgaWNsX3doaXRl bGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQogCXdoaXRlbGlzdF9yZWcodywgR0VOMTBf U0FNUExFUl9NT0RFKTsKIH0KIAotc3RhdGljIHN0cnVjdCB3aGl0ZWxpc3QgKndoaXRlbGlzdF9i dWlsZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCQkJCSBzdHJ1Y3Qgd2hpdGVs aXN0ICp3KQordm9pZCBpbnRlbF93aGl0ZWxpc3Rfd29ya2Fyb3VuZHNfaW5pdChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUg PSBlbmdpbmUtPmk5MTU7CisJc3RydWN0IGk5MTVfd2FfbGlzdCAqdyA9ICZlbmdpbmUtPndoaXRl bGlzdDsKIAogCUdFTV9CVUdfT04oZW5naW5lLT5pZCAhPSBSQ1MpOwogCi0Jdy0+Y291bnQgPSAw OwotCXctPm5vcGlkID0gaTkxNV9tbWlvX3JlZ19vZmZzZXQoUklOR19OT1BJRChlbmdpbmUtPm1t aW9fYmFzZSkpOworCXdhX2luaXRfc3RhcnQodywgIndoaXRlbGlzdCIpOwogCiAJaWYgKElOVEVM X0dFTihpOTE1KSA8IDgpCi0JCXJldHVybiBOVUxMOworCQlyZXR1cm47CiAJZWxzZSBpZiAoSVNf QlJPQURXRUxMKGk5MTUpKQotCQliZHdfd2hpdGVsaXN0X2J1aWxkKHcpOworCQlyZXR1cm47CiAJ ZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhpOTE1KSkKLQkJY2h2X3doaXRlbGlzdF9idWlsZCh3KTsK KwkJcmV0dXJuOwogCWVsc2UgaWYgKElTX1NLWUxBS0UoaTkxNSkpCiAJCXNrbF93aGl0ZWxpc3Rf YnVpbGQodyk7CiAJZWxzZSBpZiAoSVNfQlJPWFRPTihpOTE1KSkKQEAgLTExMzEsMzcgKzExMjEs MzAgQEAgc3RhdGljIHN0cnVjdCB3aGl0ZWxpc3QgKndoaXRlbGlzdF9idWlsZChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJZWxzZQogCQlNSVNTSU5HX0NBU0UoSU5URUxfR0VOKGk5 MTUpKTsKIAotCXJldHVybiB3OworCXdhX2luaXRfZmluaXNoKHcpOwogfQogCi1zdGF0aWMgdm9p ZCB3aGl0ZWxpc3RfYXBwbHkoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAotCQkJICAg IGNvbnN0IHN0cnVjdCB3aGl0ZWxpc3QgKncpCit2b2lkIGludGVsX3doaXRlbGlzdF93b3JrYXJv dW5kc19hcHBseShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZW5naW5lLT5pOTE1OworCWNvbnN0IHN0cnVjdCBp OTE1X3dhX2xpc3QgKndhbCA9ICZlbmdpbmUtPndoaXRlbGlzdDsKIAljb25zdCB1MzIgYmFzZSA9 IGVuZ2luZS0+bW1pb19iYXNlOworCXN0cnVjdCBpOTE1X3dhICp3YTsKIAl1bnNpZ25lZCBpbnQg aTsKIAotCWlmICghdykKKwlpZiAoIXdhbC0+Y291bnQpCiAJCXJldHVybjsKIAotCWludGVsX3Vu Y29yZV9mb3JjZXdha2VfZ2V0KGVuZ2luZS0+aTkxNSwgRk9SQ0VXQUtFX0FMTCk7Ci0KLQlmb3Ig KGkgPSAwOyBpIDwgdy0+Y291bnQ7IGkrKykKLQkJSTkxNV9XUklURV9GVyhSSU5HX0ZPUkNFX1RP X05PTlBSSVYoYmFzZSwgaSksCi0JCQkgICAgICBpOTE1X21taW9fcmVnX29mZnNldCh3LT5yZWdb aV0pKTsKKwlmb3IgKGkgPSAwLCB3YSA9IHdhbC0+bGlzdDsgaSA8IHdhbC0+Y291bnQ7IGkrKywg d2ErKykKKwkJSTkxNV9XUklURShSSU5HX0ZPUkNFX1RPX05PTlBSSVYoYmFzZSwgaSksCisJCQkg ICBpOTE1X21taW9fcmVnX29mZnNldCh3YS0+cmVnKSk7CiAKIAkvKiBBbmQgY2xlYXIgdGhlIHJl c3QganVzdCBpbiBjYXNlIG9mIGdhcmJhZ2UgKi8KIAlmb3IgKDsgaSA8IFJJTkdfTUFYX05PTlBS SVZfU0xPVFM7IGkrKykKLQkJSTkxNV9XUklURV9GVyhSSU5HX0ZPUkNFX1RPX05PTlBSSVYoYmFz ZSwgaSksIHctPm5vcGlkKTsKKwkJSTkxNV9XUklURShSSU5HX0ZPUkNFX1RPX05PTlBSSVYoYmFz ZSwgaSksCisJCQkgICBpOTE1X21taW9fcmVnX29mZnNldChSSU5HX05PUElEKGJhc2UpKSk7CiAK LQlpbnRlbF91bmNvcmVfZm9yY2V3YWtlX3B1dChlbmdpbmUtPmk5MTUsIEZPUkNFV0FLRV9BTEwp OwotfQotCi12b2lkIGludGVsX3doaXRlbGlzdF93b3JrYXJvdW5kc19hcHBseShzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCi17Ci0Jc3RydWN0IHdoaXRlbGlzdCB3OwotCi0Jd2hpdGVs aXN0X2FwcGx5KGVuZ2luZSwgd2hpdGVsaXN0X2J1aWxkKGVuZ2luZSwgJncpKTsKKwlEUk1fREVC VUdfRFJJVkVSKCJBcHBsaWVkICV1ICVzIHdvcmthcm91bmRzXG4iLCB3YWwtPmNvdW50LCB3YWwt Pm5hbWUpOwogfQogCiBzdGF0aWMgdm9pZCByY3NfZW5naW5lX3dhX2luaXQoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfd29ya2Fyb3VuZHMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRz LmgKaW5kZXggZjJhNGU4YzM2MDI3Li5lNmRhMzFmMGNlYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3dvcmthcm91bmRzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfd29ya2Fyb3VuZHMuaApAQCAtMzYsNiArMzYsNyBAQCB2b2lkIGludGVsX2d0X3dv cmthcm91bmRzX2FwcGx5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBib29s IGludGVsX2d0X3dvcmthcm91bmRzX3ZlcmlmeShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQkJIGNvbnN0IGNoYXIgKmZyb20pOwogCit2b2lkIGludGVsX3doaXRlbGlzdF93 b3JrYXJvdW5kc19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiB2b2lkIGlu dGVsX3doaXRlbGlzdF93b3JrYXJvdW5kc19hcHBseShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUpOwogCiB2b2lkIGludGVsX2VuZ2luZV93b3JrYXJvdW5kc19pbml0KHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9z ZWxmdGVzdHMvaW50ZWxfd29ya2Fyb3VuZHMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0 ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jCmluZGV4IDE5NGEzYzMwNTU0ZC4uYWI2OWNiYjg4Njll IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fy b3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9zZWxmdGVzdHMvaW50ZWxfd29ya2Fy b3VuZHMuYwpAQCAtOTQsMTcgKzk0LDIzIEBAIHJlYWRfbm9ucHJpdnMoc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCXJldHVybiBF UlJfUFRSKGVycik7CiB9CiAKLXN0YXRpYyB1MzIgZ2V0X3doaXRlbGlzdF9yZWcoY29uc3Qgc3Ry dWN0IHdoaXRlbGlzdCAqdywgdW5zaWduZWQgaW50IGkpCitzdGF0aWMgdTMyCitnZXRfd2hpdGVs aXN0X3JlZyhjb25zdCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHVuc2lnbmVkIGlu dCBpKQogewotCXJldHVybiBpIDwgdy0+Y291bnQgPyBpOTE1X21taW9fcmVnX29mZnNldCh3LT5y ZWdbaV0pIDogdy0+bm9waWQ7CisJaTkxNV9yZWdfdCByZWcgPSBpIDwgZW5naW5lLT53aGl0ZWxp c3QuY291bnQgPworCQkJIGVuZ2luZS0+d2hpdGVsaXN0Lmxpc3RbaV0ucmVnIDoKKwkJCSBSSU5H X05PUElEKGVuZ2luZS0+bW1pb19iYXNlKTsKKworCXJldHVybiBpOTE1X21taW9fcmVnX29mZnNl dChyZWcpOwogfQogCi1zdGF0aWMgdm9pZCBwcmludF9yZXN1bHRzKGNvbnN0IHN0cnVjdCB3aGl0 ZWxpc3QgKncsIGNvbnN0IHUzMiAqcmVzdWx0cykKK3N0YXRpYyB2b2lkCitwcmludF9yZXN1bHRz KGNvbnN0IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgY29uc3QgdTMyICpyZXN1bHRz KQogewogCXVuc2lnbmVkIGludCBpOwogCiAJZm9yIChpID0gMDsgaSA8IFJJTkdfTUFYX05PTlBS SVZfU0xPVFM7IGkrKykgewotCQl1MzIgZXhwZWN0ZWQgPSBnZXRfd2hpdGVsaXN0X3JlZyh3LCBp KTsKKwkJdTMyIGV4cGVjdGVkID0gZ2V0X3doaXRlbGlzdF9yZWcoZW5naW5lLCBpKTsKIAkJdTMy IGFjdHVhbCA9IHJlc3VsdHNbaV07CiAKIAkJcHJfaW5mbygiUklOR19OT05QUklWWyVkXTogZXhw ZWN0ZWQgMHglMDh4LCBmb3VuZCAweCUwOHhcbiIsCkBAIC0xMTIsOCArMTE4LDcgQEAgc3RhdGlj IHZvaWQgcHJpbnRfcmVzdWx0cyhjb25zdCBzdHJ1Y3Qgd2hpdGVsaXN0ICp3LCBjb25zdCB1MzIg KnJlc3VsdHMpCiAJfQogfQogCi1zdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdChjb25zdCBzdHJ1 Y3Qgd2hpdGVsaXN0ICp3LAotCQkJICAgc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKK3N0 YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCiAJ CQkgICBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKnJlc3VsdHM7CkBAIC0xNDEsMTEgKzE0NiwxMSBAQCBzdGF0aWMgaW50IGNo ZWNrX3doaXRlbGlzdChjb25zdCBzdHJ1Y3Qgd2hpdGVsaXN0ICp3LAogCX0KIAogCWZvciAoaSA9 IDA7IGkgPCBSSU5HX01BWF9OT05QUklWX1NMT1RTOyBpKyspIHsKLQkJdTMyIGV4cGVjdGVkID0g Z2V0X3doaXRlbGlzdF9yZWcodywgaSk7CisJCXUzMiBleHBlY3RlZCA9IGdldF93aGl0ZWxpc3Rf cmVnKGVuZ2luZSwgaSk7CiAJCXUzMiBhY3R1YWwgPSB2YWRkcltpXTsKIAogCQlpZiAoZXhwZWN0 ZWQgIT0gYWN0dWFsKSB7Ci0JCQlwcmludF9yZXN1bHRzKHcsIHZhZGRyKTsKKwkJCXByaW50X3Jl c3VsdHMoZW5naW5lLCB2YWRkcik7CiAJCQlwcl9lcnIoIkludmFsaWQgUklOR19OT05QUklWWyVk XSwgZXhwZWN0ZWQgMHglMDh4LCBmb3VuZCAweCUwOHhcbiIsCiAJCQkgICAgICAgaSwgZXhwZWN0 ZWQsIGFjdHVhbCk7CiAKQEAgLTIxNyw3ICsyMjIsNiBAQCBzd2l0Y2hfdG9fc2NyYXRjaF9jb250 ZXh0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAogc3RhdGljIGludCBjaGVja193 aGl0ZWxpc3RfYWNyb3NzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJ CQkJaW50ICgqcmVzZXQpKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKiksCi0JCQkJCWNvbnN0IHN0 cnVjdCB3aGl0ZWxpc3QgKncsCiAJCQkJCWNvbnN0IGNoYXIgKm5hbWUpCiB7CiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBlbmdpbmUtPmk5MTU7CkBAIC0yMjcsNyArMjMxLDcgQEAg c3RhdGljIGludCBjaGVja193aGl0ZWxpc3RfYWNyb3NzX3Jlc2V0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwKIAlpbnQgZXJyOwogCiAJcHJfaW5mbygiQ2hlY2tpbmcgJWQgd2hpdGVs aXN0ZWQgcmVnaXN0ZXJzIChSSU5HX05PTlBSSVYpIFslc11cbiIsCi0JCXctPmNvdW50LCBuYW1l KTsKKwkJZW5naW5lLT53aGl0ZWxpc3QuY291bnQsIG5hbWUpOwogCiAJaWYgKHdhbnRfc3Bpbikg ewogCQllcnIgPSBpZ3Rfc3Bpbm5lcl9pbml0KCZzcGluLCBpOTE1KTsKQEAgLTIzOSw3ICsyNDMs NyBAQCBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdF9hY3Jvc3NfcmVzZXQoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAogCWlmIChJU19FUlIoY3R4KSkKIAkJcmV0dXJuIFBUUl9FUlIo Y3R4KTsKIAotCWVyciA9IGNoZWNrX3doaXRlbGlzdCh3LCBjdHgsIGVuZ2luZSk7CisJZXJyID0g Y2hlY2tfd2hpdGVsaXN0KGN0eCwgZW5naW5lKTsKIAlpZiAoZXJyKSB7CiAJCXByX2VycigiSW52 YWxpZCB3aGl0ZWxpc3QgKmJlZm9yZSogJXMgcmVzZXQhXG4iLCBuYW1lKTsKIAkJZ290byBvdXQ7 CkBAIC0yNjMsNyArMjY3LDcgQEAgc3RhdGljIGludCBjaGVja193aGl0ZWxpc3RfYWNyb3NzX3Jl c2V0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAkJZ290byBvdXQ7CiAJfQogCi0J ZXJyID0gY2hlY2tfd2hpdGVsaXN0KHcsIGN0eCwgZW5naW5lKTsKKwllcnIgPSBjaGVja193aGl0 ZWxpc3QoY3R4LCBlbmdpbmUpOwogCWlmIChlcnIpIHsKIAkJcHJfZXJyKCJXaGl0ZWxpc3Qgbm90 IHByZXNlcnZlZCBpbiBjb250ZXh0IGFjcm9zcyAlcyByZXNldCFcbiIsCiAJCSAgICAgICBuYW1l KTsKQEAgLTI3Niw3ICsyODAsNyBAQCBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdF9hY3Jvc3Nf cmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCWlmIChJU19FUlIoY3R4KSkK IAkJcmV0dXJuIFBUUl9FUlIoY3R4KTsKIAotCWVyciA9IGNoZWNrX3doaXRlbGlzdCh3LCBjdHgs IGVuZ2luZSk7CisJZXJyID0gY2hlY2tfd2hpdGVsaXN0KGN0eCwgZW5naW5lKTsKIAlpZiAoZXJy KSB7CiAJCXByX2VycigiSW52YWxpZCB3aGl0ZWxpc3QgKmFmdGVyKiAlcyByZXNldCBpbiBmcmVz aCBjb250ZXh0IVxuIiwKIAkJICAgICAgIG5hbWUpOwpAQCAtMjkyLDIyICsyOTYsMTggQEAgc3Rh dGljIGludCBsaXZlX3Jlc2V0X3doaXRlbGlzdCh2b2lkICphcmcpCiB7CiAJc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmk5MTUgPSBhcmc7CiAJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5l ID0gaTkxNS0+ZW5naW5lW1JDU107Ci0Jc3RydWN0IHdoaXRlbGlzdCB3OwogCWludCBlcnIgPSAw OwogCiAJLyogSWYgd2UgcmVzZXQgdGhlIGdwdSwgd2Ugc2hvdWxkIG5vdCBsb3NlIHRoZSBSSU5H X05PTlBSSVYgKi8KIAotCWlmICghZW5naW5lKQotCQlyZXR1cm4gMDsKLQotCWlmICghd2hpdGVs aXN0X2J1aWxkKGVuZ2luZSwgJncpKQorCWlmICghZW5naW5lIHx8IGVuZ2luZS0+d2hpdGVsaXN0 LmNvdW50ID09IDApCiAJCXJldHVybiAwOwogCiAJaWd0X2dsb2JhbF9yZXNldF9sb2NrKGk5MTUp OwogCiAJaWYgKGludGVsX2hhc19yZXNldF9lbmdpbmUoaTkxNSkpIHsKIAkJZXJyID0gY2hlY2tf d2hpdGVsaXN0X2Fjcm9zc19yZXNldChlbmdpbmUsCi0JCQkJCQkgICBkb19lbmdpbmVfcmVzZXQs ICZ3LAorCQkJCQkJICAgZG9fZW5naW5lX3Jlc2V0LAogCQkJCQkJICAgImVuZ2luZSIpOwogCQlp ZiAoZXJyKQogCQkJZ290byBvdXQ7CkBAIC0zMTUsNyArMzE1LDcgQEAgc3RhdGljIGludCBsaXZl X3Jlc2V0X3doaXRlbGlzdCh2b2lkICphcmcpCiAKIAlpZiAoaW50ZWxfaGFzX2dwdV9yZXNldChp OTE1KSkgewogCQllcnIgPSBjaGVja193aGl0ZWxpc3RfYWNyb3NzX3Jlc2V0KGVuZ2luZSwKLQkJ CQkJCSAgIGRvX2RldmljZV9yZXNldCwgJncsCisJCQkJCQkgICBkb19kZXZpY2VfcmVzZXQsCiAJ CQkJCQkgICAiZGV2aWNlIik7CiAJCWlmIChlcnIpCiAJCQlnb3RvIG91dDsKLS0gCjIuMTkuMQoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlz dHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==