From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH 6/8] drm/i915: Move register white-listing to the common workaround framework Date: Fri, 30 Nov 2018 11:31:59 +0000 Message-ID: <20181130113201.13007-7-tvrtko.ursulin@linux.intel.com> References: <20181130113201.13007-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 mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id 1D06D6E5F9 for ; Fri, 30 Nov 2018 11:32:17 +0000 (UTC) In-Reply-To: <20181130113201.13007-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 YWxsIHdvcmthcm91bmQKY2xhc3NlcyB1c2luZyB0aGUgc2FtZSBjb2RlLgoKU2lnbmVkLW9mZi1i eTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYyAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYyAgICAgICAgICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggICAgICAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF93b3JrYXJvdW5kcy5jICAgICAgfCA4MyArKysrKysrKy0tLS0tLS0tLS0tCiBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5oICAgICAgfCAgMSArCiAuLi4v ZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX3dvcmthcm91bmRzLmMgICAgfCA0MCArKysrLS0tLS0K IDYgZmlsZXMgY2hhbmdlZCwgNTcgaW5zZXJ0aW9ucygrKSwgNzAgZGVsZXRpb25zKC0pCgpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9lbmdpbmVfY3MuYwppbmRleCBlZjVkMjAyZTlkNDUuLjQ5NjQ2 MmQ3N2ViYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2Nz LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZW5naW5lX2NzLmMKQEAgLTcyNSw2 ICs3MjUsNyBAQCB2b2lkIGludGVsX2VuZ2luZV9jbGVhbnVwX2NvbW1vbihzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUpCiAJaTkxNV90aW1lbGluZV9maW5pKCZlbmdpbmUtPnRpbWVsaW5l KTsKIAogCWludGVsX3dhX2xpc3RfZnJlZSgmZW5naW5lLT53YV9saXN0KTsKKwlpbnRlbF93YV9s aXN0X2ZyZWUoJmVuZ2luZS0+d2hpdGVsaXN0KTsKIH0KIAogdTY0IGludGVsX2VuZ2luZV9nZXRf YWN0aXZlX2hlYWQoY29uc3Qgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9scmMuYwppbmRleCBkZmFmYzNmNzEwZDYuLjRlZWFkMTA0Y2Q5YyAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTIzMTYsNiArMjMxNiw3IEBAIGludCBsb2dpY2FsX3Jl bmRlcl9yaW5nX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkJICByZXQp OwogCX0KIAorCWludGVsX3doaXRlbGlzdF93b3JrYXJvdW5kc19pbml0KGVuZ2luZSk7CiAJaW50 ZWxfZW5naW5lX3dvcmthcm91bmRzX2luaXQoZW5naW5lKTsKIAogCXJldHVybiAwOwpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCmluZGV4IGM1ZmYzZDMxY2FiNy4uOTFhNzUw ZTkwZGM0IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVy LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5oCkBAIC00NTMs NiArNDUzLDcgQEAgc3RydWN0IGludGVsX2VuZ2luZV9jcyB7CiAJc3RydWN0IGludGVsX2h3X3N0 YXR1c19wYWdlIHN0YXR1c19wYWdlOwogCXN0cnVjdCBpOTE1X2N0eF93b3JrYXJvdW5kcyB3YV9j dHg7CiAJc3RydWN0IGk5MTVfd2FfbGlzdCB3YV9saXN0OworCXN0cnVjdCBpOTE1X3dhX2xpc3Qg d2hpdGVsaXN0OwogCXN0cnVjdCBpOTE1X3ZtYSAqc2NyYXRjaDsKIAogCXUzMiAgICAgICAgICAg ICBpcnFfa2VlcF9tYXNrOyAvKiBhbHdheXMga2VlcCB0aGVzZSBpbnRlcnJ1cHRzICovCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5jIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuYwppbmRleCBhMjFhMjE4NTVlNmEuLjIx OTY0MjA5ZDk3MCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fy b3VuZHMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5jCkBA IC0xMDMyLDI5ICsxMDMyLDIwIEBAIGJvb2wgaW50ZWxfZ3Rfd29ya2Fyb3VuZHNfdmVyaWZ5KHN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAlyZXR1cm4gd2FfbGlzdF92ZXJpZnko ZGV2X3ByaXYsICZkZXZfcHJpdi0+Z3Rfd2FfbGlzdCwgZnJvbSk7CiB9CiAKLXN0cnVjdCB3aGl0 ZWxpc3QgewotCWk5MTVfcmVnX3QgcmVnW1JJTkdfTUFYX05PTlBSSVZfU0xPVFNdOwotCXVuc2ln bmVkIGludCBjb3VudDsKLQl1MzIgbm9waWQ7Ci19OwotCi1zdGF0aWMgdm9pZCB3aGl0ZWxpc3Rf cmVnKHN0cnVjdCB3aGl0ZWxpc3QgKncsIGk5MTVfcmVnX3QgcmVnKQorc3RhdGljIHZvaWQKK3do aXRlbGlzdF9yZWcoc3RydWN0IGk5MTVfd2FfbGlzdCAqd2FsLCBpOTE1X3JlZ190IHJlZykKIHsK LQlpZiAoR0VNX0RFQlVHX1dBUk5fT04ody0+Y291bnQgPj0gUklOR19NQVhfTk9OUFJJVl9TTE9U UykpCi0JCXJldHVybjsKLQotCXctPnJlZ1t3LT5jb3VudCsrXSA9IHJlZzsKLX0KKwlzdHJ1Y3Qg aTkxNV93YSB3YSA9IHsKKwkJLnJlZyA9IHJlZworCX07CiAKLXN0YXRpYyB2b2lkIGJkd193aGl0 ZWxpc3RfYnVpbGQoc3RydWN0IHdoaXRlbGlzdCAqdykKLXsKLX0KKwlpZiAoR0VNX1dBUk5fT04o d2FsLT5jb3VudCA+PSBSSU5HX01BWF9OT05QUklWX1NMT1RTKSkKKwkJcmV0dXJuOwogCi1zdGF0 aWMgdm9pZCBjaHZfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCi17CisJd2Fs X2FkZCh3YWwsICZ3YSk7CiB9CiAKLXN0YXRpYyB2b2lkIGdlbjlfd2hpdGVsaXN0X2J1aWxkKHN0 cnVjdCB3aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9pZCBnZW45X3doaXRlbGlzdF9idWlsZChzdHJ1 Y3QgaTkxNV93YV9saXN0ICp3KQogewogCS8qIFdhVkZFU3RhdGVBZnRlclBpcGVDb250cm9sd2l0 aE1lZGlhU3RhdGVDbGVhcjpza2wsYnh0LGdsayxjZmwgKi8KIAl3aGl0ZWxpc3RfcmVnKHcsIEdF TjlfQ1RYX1BSRUVNUFRfUkVHKTsKQEAgLTEwNjYsNyArMTA1Nyw3IEBAIHN0YXRpYyB2b2lkIGdl bjlfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCiAJd2hpdGVsaXN0X3JlZyh3 LCBHRU44X0hEQ19DSElDS0VOMSk7CiB9CiAKLXN0YXRpYyB2b2lkIHNrbF93aGl0ZWxpc3RfYnVp bGQoc3RydWN0IHdoaXRlbGlzdCAqdykKK3N0YXRpYyB2b2lkIHNrbF93aGl0ZWxpc3RfYnVpbGQo c3RydWN0IGk5MTVfd2FfbGlzdCAqdykKIHsKIAlnZW45X3doaXRlbGlzdF9idWlsZCh3KTsKIApA QCAtMTA3NCwxMiArMTA2NSwxMiBAQCBzdGF0aWMgdm9pZCBza2xfd2hpdGVsaXN0X2J1aWxkKHN0 cnVjdCB3aGl0ZWxpc3QgKncpCiAJd2hpdGVsaXN0X3JlZyh3LCBHRU44X0wzU1FDUkVHNCk7CiB9 CiAKLXN0YXRpYyB2b2lkIGJ4dF93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IHdoaXRlbGlzdCAqdykK K3N0YXRpYyB2b2lkIGJ4dF93aGl0ZWxpc3RfYnVpbGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqdykK IHsKIAlnZW45X3doaXRlbGlzdF9idWlsZCh3KTsKIH0KIAotc3RhdGljIHZvaWQga2JsX3doaXRl bGlzdF9idWlsZChzdHJ1Y3Qgd2hpdGVsaXN0ICp3KQorc3RhdGljIHZvaWQga2JsX3doaXRlbGlz dF9idWlsZChzdHJ1Y3QgaTkxNV93YV9saXN0ICp3KQogewogCWdlbjlfd2hpdGVsaXN0X2J1aWxk KHcpOwogCkBAIC0xMDg3LDcgKzEwNzgsNyBAQCBzdGF0aWMgdm9pZCBrYmxfd2hpdGVsaXN0X2J1 aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCiAJd2hpdGVsaXN0X3JlZyh3LCBHRU44X0wzU1FDUkVH NCk7CiB9CiAKLXN0YXRpYyB2b2lkIGdsa193aGl0ZWxpc3RfYnVpbGQoc3RydWN0IHdoaXRlbGlz dCAqdykKK3N0YXRpYyB2b2lkIGdsa193aGl0ZWxpc3RfYnVpbGQoc3RydWN0IGk5MTVfd2FfbGlz dCAqdykKIHsKIAlnZW45X3doaXRlbGlzdF9idWlsZCh3KTsKIApAQCAtMTA5NSwxOCArMTA4Niwx OCBAQCBzdGF0aWMgdm9pZCBnbGtfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncp CiAJd2hpdGVsaXN0X3JlZyh3LCBHRU45X1NMSUNFX0NPTU1PTl9FQ09fQ0hJQ0tFTjEpOwogfQog Ci1zdGF0aWMgdm9pZCBjZmxfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3aGl0ZWxpc3QgKncpCitz dGF0aWMgdm9pZCBjZmxfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpOTE1X3dhX2xpc3QgKncpCiB7 CiAJZ2VuOV93aGl0ZWxpc3RfYnVpbGQodyk7CiB9CiAKLXN0YXRpYyB2b2lkIGNubF93aGl0ZWxp c3RfYnVpbGQoc3RydWN0IHdoaXRlbGlzdCAqdykKK3N0YXRpYyB2b2lkIGNubF93aGl0ZWxpc3Rf YnVpbGQoc3RydWN0IGk5MTVfd2FfbGlzdCAqdykKIHsKIAkvKiBXYUVuYWJsZVByZWVtcHRpb25H cmFudWxhcml0eUNvbnRyb2xCeVVNRDpjbmwgKi8KIAl3aGl0ZWxpc3RfcmVnKHcsIEdFTjhfQ1Nf Q0hJQ0tFTjEpOwogfQogCi1zdGF0aWMgdm9pZCBpY2xfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCB3 aGl0ZWxpc3QgKncpCitzdGF0aWMgdm9pZCBpY2xfd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpOTE1 X3dhX2xpc3QgKncpCiB7CiAJLyogV2FBbGxvd1VNRFRvTW9kaWZ5SGFsZlNsaWNlQ2hpY2tlbjc6 aWNsICovCiAJd2hpdGVsaXN0X3JlZyh3LCBHRU45X0hBTEZfU0xJQ0VfQ0hJQ0tFTjcpOwpAQCAt MTExNSwyMiArMTEwNiwyMSBAQCBzdGF0aWMgdm9pZCBpY2xfd2hpdGVsaXN0X2J1aWxkKHN0cnVj dCB3aGl0ZWxpc3QgKncpCiAJd2hpdGVsaXN0X3JlZyh3LCBHRU4xMF9TQU1QTEVSX01PREUpOwog fQogCi1zdGF0aWMgc3RydWN0IHdoaXRlbGlzdCAqd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSwKLQkJCQkJIHN0cnVjdCB3aGl0ZWxpc3QgKncpCit2b2lkIGlu dGVsX3doaXRlbGlzdF93b3JrYXJvdW5kc19pbml0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGVuZ2luZS0+aTkxNTsK KwlzdHJ1Y3QgaTkxNV93YV9saXN0ICp3ID0gJmVuZ2luZS0+d2hpdGVsaXN0OwogCiAJR0VNX0JV R19PTihlbmdpbmUtPmlkICE9IFJDUyk7CiAKLQl3LT5jb3VudCA9IDA7Ci0Jdy0+bm9waWQgPSBp OTE1X21taW9fcmVnX29mZnNldChSSU5HX05PUElEKGVuZ2luZS0+bW1pb19iYXNlKSk7CisJd2Ff aW5pdF9zdGFydCh3LCAid2hpdGVsaXN0Iik7CiAKIAlpZiAoSU5URUxfR0VOKGk5MTUpIDwgOCkK LQkJcmV0dXJuIE5VTEw7CisJCXJldHVybjsKIAllbHNlIGlmIChJU19CUk9BRFdFTEwoaTkxNSkp Ci0JCWJkd193aGl0ZWxpc3RfYnVpbGQodyk7CisJCXJldHVybjsKIAllbHNlIGlmIChJU19DSEVS UllWSUVXKGk5MTUpKQotCQljaHZfd2hpdGVsaXN0X2J1aWxkKHcpOworCQlyZXR1cm47CiAJZWxz ZSBpZiAoSVNfU0tZTEFLRShpOTE1KSkKIAkJc2tsX3doaXRlbGlzdF9idWlsZCh3KTsKIAllbHNl IGlmIChJU19CUk9YVE9OKGk5MTUpKQpAQCAtMTE0OCwzNyArMTEzOCwzMCBAQCBzdGF0aWMgc3Ry dWN0IHdoaXRlbGlzdCAqd2hpdGVsaXN0X2J1aWxkKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwKIAllbHNlCiAJCU1JU1NJTkdfQ0FTRShJTlRFTF9HRU4oaTkxNSkpOwogCi0JcmV0dXJu IHc7CisJd2FfaW5pdF9maW5pc2godyk7CiB9CiAKLXN0YXRpYyB2b2lkIHdoaXRlbGlzdF9hcHBs eShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCi0JCQkgICAgY29uc3Qgc3RydWN0IHdo aXRlbGlzdCAqdykKK3ZvaWQgaW50ZWxfd2hpdGVsaXN0X3dvcmthcm91bmRzX2FwcGx5KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBlbmdpbmUtPmk5MTU7CisJY29uc3Qgc3RydWN0IGk5MTVfd2FfbGlzdCAqd2Fs ID0gJmVuZ2luZS0+d2hpdGVsaXN0OwogCWNvbnN0IHUzMiBiYXNlID0gZW5naW5lLT5tbWlvX2Jh c2U7CisJc3RydWN0IGk5MTVfd2EgKndhOwogCXVuc2lnbmVkIGludCBpOwogCi0JaWYgKCF3KQor CWlmICghd2FsLT5jb3VudCkKIAkJcmV0dXJuOwogCi0JaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9n ZXQoZW5naW5lLT5pOTE1LCBGT1JDRVdBS0VfQUxMKTsKLQotCWZvciAoaSA9IDA7IGkgPCB3LT5j b3VudDsgaSsrKQotCQlJOTE1X1dSSVRFX0ZXKFJJTkdfRk9SQ0VfVE9fTk9OUFJJVihiYXNlLCBp KSwKLQkJCSAgICAgIGk5MTVfbW1pb19yZWdfb2Zmc2V0KHctPnJlZ1tpXSkpOworCWZvciAoaSA9 IDAsIHdhID0gd2FsLT5saXN0OyBpIDwgd2FsLT5jb3VudDsgaSsrLCB3YSsrKQorCQlJOTE1X1dS SVRFKFJJTkdfRk9SQ0VfVE9fTk9OUFJJVihiYXNlLCBpKSwKKwkJCSAgIGk5MTVfbW1pb19yZWdf b2Zmc2V0KHdhLT5yZWcpKTsKIAogCS8qIEFuZCBjbGVhciB0aGUgcmVzdCBqdXN0IGluIGNhc2Ug b2YgZ2FyYmFnZSAqLwogCWZvciAoOyBpIDwgUklOR19NQVhfTk9OUFJJVl9TTE9UUzsgaSsrKQot CQlJOTE1X1dSSVRFX0ZXKFJJTkdfRk9SQ0VfVE9fTk9OUFJJVihiYXNlLCBpKSwgdy0+bm9waWQp OworCQlJOTE1X1dSSVRFKFJJTkdfRk9SQ0VfVE9fTk9OUFJJVihiYXNlLCBpKSwKKwkJCSAgIGk5 MTVfbW1pb19yZWdfb2Zmc2V0KFJJTkdfTk9QSUQoYmFzZSkpKTsKIAotCWludGVsX3VuY29yZV9m b3JjZXdha2VfcHV0KGVuZ2luZS0+aTkxNSwgRk9SQ0VXQUtFX0FMTCk7Ci19Ci0KLXZvaWQgaW50 ZWxfd2hpdGVsaXN0X3dvcmthcm91bmRzX2FwcGx5KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSkKLXsKLQlzdHJ1Y3Qgd2hpdGVsaXN0IHc7Ci0KLQl3aGl0ZWxpc3RfYXBwbHkoZW5naW5l LCB3aGl0ZWxpc3RfYnVpbGQoZW5naW5lLCAmdykpOworCURSTV9ERUJVR19EUklWRVIoIkFwcGxp ZWQgJXUgJXMgd29ya2Fyb3VuZHNcbiIsIHdhbC0+Y291bnQsIHdhbC0+bmFtZSk7CiB9CiAKIHN0 YXRpYyB2b2lkIHJjc19lbmdpbmVfd2FfaW5pdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJvdW5kcy5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfd29ya2Fyb3VuZHMuaAppbmRleCA4ZjY2NGQ4 YjllMDguLjA1NDBkMDA5NTNlYyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfd29ya2Fyb3VuZHMuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF93b3JrYXJv dW5kcy5oCkBAIC0zNiw2ICszNiw3IEBAIHZvaWQgaW50ZWxfZ3Rfd29ya2Fyb3VuZHNfYXBwbHko c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIGJvb2wgaW50ZWxfZ3Rfd29ya2Fy b3VuZHNfdmVyaWZ5KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkgY29u c3QgY2hhciAqZnJvbSk7CiAKK3ZvaWQgaW50ZWxfd2hpdGVsaXN0X3dvcmthcm91bmRzX2luaXQo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKTsKIHZvaWQgaW50ZWxfd2hpdGVsaXN0X3dv cmthcm91bmRzX2FwcGx5KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSk7CiAKIHZvaWQg aW50ZWxfZW5naW5lX3dvcmthcm91bmRzX2luaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5n aW5lKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93 b3JrYXJvdW5kcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvc2VsZnRlc3RzL2ludGVsX3dvcmth cm91bmRzLmMKaW5kZXggYzAwOWViMmFmN2ZjLi40YzA2MzVkYmM1ZmQgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L3NlbGZ0ZXN0cy9pbnRlbF93b3JrYXJvdW5kcy5jCkBAIC05Miwx NyArOTIsMjMgQEAgcmVhZF9ub25wcml2cyhzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJcmV0dXJuIEVSUl9QVFIoZXJyKTsKIH0K IAotc3RhdGljIHUzMiBnZXRfd2hpdGVsaXN0X3JlZyhjb25zdCBzdHJ1Y3Qgd2hpdGVsaXN0ICp3 LCB1bnNpZ25lZCBpbnQgaSkKK3N0YXRpYyB1MzIKK2dldF93aGl0ZWxpc3RfcmVnKGNvbnN0IHN0 cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdW5zaWduZWQgaW50IGkpCiB7Ci0JcmV0dXJu IGkgPCB3LT5jb3VudCA/IGk5MTVfbW1pb19yZWdfb2Zmc2V0KHctPnJlZ1tpXSkgOiB3LT5ub3Bp ZDsKKwlpOTE1X3JlZ190IHJlZyA9IGkgPCBlbmdpbmUtPndoaXRlbGlzdC5jb3VudCA/CisJCQkg ZW5naW5lLT53aGl0ZWxpc3QubGlzdFtpXS5yZWcgOgorCQkJIFJJTkdfTk9QSUQoZW5naW5lLT5t bWlvX2Jhc2UpOworCisJcmV0dXJuIGk5MTVfbW1pb19yZWdfb2Zmc2V0KHJlZyk7CiB9CiAKLXN0 YXRpYyB2b2lkIHByaW50X3Jlc3VsdHMoY29uc3Qgc3RydWN0IHdoaXRlbGlzdCAqdywgY29uc3Qg dTMyICpyZXN1bHRzKQorc3RhdGljIHZvaWQKK3ByaW50X3Jlc3VsdHMoY29uc3Qgc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqZW5naW5lLCBjb25zdCB1MzIgKnJlc3VsdHMpCiB7CiAJdW5zaWduZWQg aW50IGk7CiAKIAlmb3IgKGkgPSAwOyBpIDwgUklOR19NQVhfTk9OUFJJVl9TTE9UUzsgaSsrKSB7 Ci0JCXUzMiBleHBlY3RlZCA9IGdldF93aGl0ZWxpc3RfcmVnKHcsIGkpOworCQl1MzIgZXhwZWN0 ZWQgPSBnZXRfd2hpdGVsaXN0X3JlZyhlbmdpbmUsIGkpOwogCQl1MzIgYWN0dWFsID0gcmVzdWx0 c1tpXTsKIAogCQlwcl9pbmZvKCJSSU5HX05PTlBSSVZbJWRdOiBleHBlY3RlZCAweCUwOHgsIGZv dW5kIDB4JTA4eFxuIiwKQEAgLTExMCw4ICsxMTYsNyBAQCBzdGF0aWMgdm9pZCBwcmludF9yZXN1 bHRzKGNvbnN0IHN0cnVjdCB3aGl0ZWxpc3QgKncsIGNvbnN0IHUzMiAqcmVzdWx0cykKIAl9CiB9 CiAKLXN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KGNvbnN0IHN0cnVjdCB3aGl0ZWxpc3QgKncs Ci0JCQkgICBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LAorc3RhdGljIGludCBjaGVja193 aGl0ZWxpc3Qoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKIAkJCSAgIHN0cnVjdCBpbnRl bF9lbmdpbmVfY3MgKmVuZ2luZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqcmVz dWx0czsKQEAgLTEzOSwxMSArMTQ0LDExIEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0KGNv bnN0IHN0cnVjdCB3aGl0ZWxpc3QgKncsCiAJfQogCiAJZm9yIChpID0gMDsgaSA8IFJJTkdfTUFY X05PTlBSSVZfU0xPVFM7IGkrKykgewotCQl1MzIgZXhwZWN0ZWQgPSBnZXRfd2hpdGVsaXN0X3Jl Zyh3LCBpKTsKKwkJdTMyIGV4cGVjdGVkID0gZ2V0X3doaXRlbGlzdF9yZWcoZW5naW5lLCBpKTsK IAkJdTMyIGFjdHVhbCA9IHZhZGRyW2ldOwogCiAJCWlmIChleHBlY3RlZCAhPSBhY3R1YWwpIHsK LQkJCXByaW50X3Jlc3VsdHModywgdmFkZHIpOworCQkJcHJpbnRfcmVzdWx0cyhlbmdpbmUsIHZh ZGRyKTsKIAkJCXByX2VycigiSW52YWxpZCBSSU5HX05PTlBSSVZbJWRdLCBleHBlY3RlZCAweCUw OHgsIGZvdW5kIDB4JTA4eFxuIiwKIAkJCSAgICAgICBpLCBleHBlY3RlZCwgYWN0dWFsKTsKIApA QCAtMjE1LDcgKzIyMCw2IEBAIHN3aXRjaF90b19zY3JhdGNoX2NvbnRleHQoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAogCiBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdF9hY3Jvc3Nf cmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAogCQkJCQlpbnQgKCpyZXNldCko c3RydWN0IGludGVsX2VuZ2luZV9jcyAqKSwKLQkJCQkJY29uc3Qgc3RydWN0IHdoaXRlbGlzdCAq dywKIAkJCQkJY29uc3QgY2hhciAqbmFtZSkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq aTkxNSA9IGVuZ2luZS0+aTkxNTsKQEAgLTIyNSw3ICsyMjksNyBAQCBzdGF0aWMgaW50IGNoZWNr X3doaXRlbGlzdF9hY3Jvc3NfcmVzZXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLAog CWludCBlcnI7CiAKIAlwcl9pbmZvKCJDaGVja2luZyAlZCB3aGl0ZWxpc3RlZCByZWdpc3RlcnMg KFJJTkdfTk9OUFJJVikgWyVzXVxuIiwKLQkJdy0+Y291bnQsIG5hbWUpOworCQllbmdpbmUtPndo aXRlbGlzdC5jb3VudCwgbmFtZSk7CiAKIAlpZiAod2FudF9zcGluKSB7CiAJCWVyciA9IGlndF9z cGlubmVyX2luaXQoJnNwaW4sIGk5MTUpOwpAQCAtMjM3LDcgKzI0MSw3IEBAIHN0YXRpYyBpbnQg Y2hlY2tfd2hpdGVsaXN0X2Fjcm9zc19yZXNldChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdp bmUsCiAJaWYgKElTX0VSUihjdHgpKQogCQlyZXR1cm4gUFRSX0VSUihjdHgpOwogCi0JZXJyID0g Y2hlY2tfd2hpdGVsaXN0KHcsIGN0eCwgZW5naW5lKTsKKwllcnIgPSBjaGVja193aGl0ZWxpc3Qo Y3R4LCBlbmdpbmUpOwogCWlmIChlcnIpIHsKIAkJcHJfZXJyKCJJbnZhbGlkIHdoaXRlbGlzdCAq YmVmb3JlKiAlcyByZXNldCFcbiIsIG5hbWUpOwogCQlnb3RvIG91dDsKQEAgLTI2MSw3ICsyNjUs NyBAQCBzdGF0aWMgaW50IGNoZWNrX3doaXRlbGlzdF9hY3Jvc3NfcmVzZXQoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqZW5naW5lLAogCQlnb3RvIG91dDsKIAl9CiAKLQllcnIgPSBjaGVja193aGl0 ZWxpc3QodywgY3R4LCBlbmdpbmUpOworCWVyciA9IGNoZWNrX3doaXRlbGlzdChjdHgsIGVuZ2lu ZSk7CiAJaWYgKGVycikgewogCQlwcl9lcnIoIldoaXRlbGlzdCBub3QgcHJlc2VydmVkIGluIGNv bnRleHQgYWNyb3NzICVzIHJlc2V0IVxuIiwKIAkJICAgICAgIG5hbWUpOwpAQCAtMjc0LDcgKzI3 OCw3IEBAIHN0YXRpYyBpbnQgY2hlY2tfd2hpdGVsaXN0X2Fjcm9zc19yZXNldChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUsCiAJaWYgKElTX0VSUihjdHgpKQogCQlyZXR1cm4gUFRSX0VS UihjdHgpOwogCi0JZXJyID0gY2hlY2tfd2hpdGVsaXN0KHcsIGN0eCwgZW5naW5lKTsKKwllcnIg PSBjaGVja193aGl0ZWxpc3QoY3R4LCBlbmdpbmUpOwogCWlmIChlcnIpIHsKIAkJcHJfZXJyKCJJ bnZhbGlkIHdoaXRlbGlzdCAqYWZ0ZXIqICVzIHJlc2V0IGluIGZyZXNoIGNvbnRleHQhXG4iLAog CQkgICAgICAgbmFtZSk7CkBAIC0yOTEsMTUgKzI5NSwxMSBAQCBzdGF0aWMgaW50IGxpdmVfcmVz ZXRfd2hpdGVsaXN0KHZvaWQgKmFyZykKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9 IGFyZzsKIAlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUgPSBpOTE1LT5lbmdpbmVbUkNT XTsKIAlzdHJ1Y3QgaTkxNV9ncHVfZXJyb3IgKmVycm9yID0gJmk5MTUtPmdwdV9lcnJvcjsKLQlz dHJ1Y3Qgd2hpdGVsaXN0IHc7CiAJaW50IGVyciA9IDA7CiAKIAkvKiBJZiB3ZSByZXNldCB0aGUg Z3B1LCB3ZSBzaG91bGQgbm90IGxvc2UgdGhlIFJJTkdfTk9OUFJJViAqLwogCi0JaWYgKCFlbmdp bmUpCi0JCXJldHVybiAwOwotCi0JaWYgKCF3aGl0ZWxpc3RfYnVpbGQoZW5naW5lLCAmdykpCisJ aWYgKCFlbmdpbmUgfHwgZW5naW5lLT53aGl0ZWxpc3QuY291bnQgPT0gMCkKIAkJcmV0dXJuIDA7 CiAKIAlzZXRfYml0KEk5MTVfUkVTRVRfQkFDS09GRiwgJmVycm9yLT5mbGFncyk7CkBAIC0zMDcs NyArMzA3LDcgQEAgc3RhdGljIGludCBsaXZlX3Jlc2V0X3doaXRlbGlzdCh2b2lkICphcmcpCiAK IAlpZiAoaW50ZWxfaGFzX3Jlc2V0X2VuZ2luZShpOTE1KSkgewogCQllcnIgPSBjaGVja193aGl0 ZWxpc3RfYWNyb3NzX3Jlc2V0KGVuZ2luZSwKLQkJCQkJCSAgIGRvX2VuZ2luZV9yZXNldCwgJncs CisJCQkJCQkgICBkb19lbmdpbmVfcmVzZXQsCiAJCQkJCQkgICAiZW5naW5lIik7CiAJCWlmIChl cnIpCiAJCQlnb3RvIG91dDsKQEAgLTMxNSw3ICszMTUsNyBAQCBzdGF0aWMgaW50IGxpdmVfcmVz ZXRfd2hpdGVsaXN0KHZvaWQgKmFyZykKIAogCWlmIChpbnRlbF9oYXNfZ3B1X3Jlc2V0KGk5MTUp KSB7CiAJCWVyciA9IGNoZWNrX3doaXRlbGlzdF9hY3Jvc3NfcmVzZXQoZW5naW5lLAotCQkJCQkJ ICAgZG9fZGV2aWNlX3Jlc2V0LCAmdywKKwkJCQkJCSAgIGRvX2RldmljZV9yZXNldCwKIAkJCQkJ CSAgICJkZXZpY2UiKTsKIAkJaWYgKGVycikKIAkJCWdvdG8gb3V0OwotLSAKMi4xOS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK