From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [RFC 11/12] drm/i915: Remove I915_READ_NOTRACE Date: Fri, 7 Jun 2019 13:08:37 +0100 Message-ID: <20190607120838.20514-12-tvrtko.ursulin@linux.intel.com> References: <20190607120838.20514-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTPS id E901189DB5 for ; Fri, 7 Jun 2019 12:08:54 +0000 (UTC) In-Reply-To: <20190607120838.20514-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 Cc: Jani Nikula List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk9ubHkgYSBm ZXcgY2FsbCBzaXRlcyByZW1haW4gd2hpY2ggaGF2ZSBiZWVuIGNvbnZlcnRlZCB0byB1bmNvcmUg bW1pbwphY2Nlc3NvcnMgYW5kIHNvIHRoZSBtYWNybyBjYW4gYmUgcmVtb3ZlZC4KClNpZ25lZC1v ZmYtYnk6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBpbnRlbC5jb20+Ci0tLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2RlYnVnZnMuYyAgfCAgNCArLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d2dC9maXJtd2FyZS5jIHwgIDUgKystLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYyAgICAgfCAgNiArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAg ICB8ICAxIC0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMgICAgIHwgIDggKysrKy0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICAgICB8IDQzICsrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9nbWJ1cy5jICB8IDEx ICsrKystLS0tCiA3IGZpbGVzIGNoYW5nZWQsIDQzIGluc2VydGlvbnMoKyksIDM1IGRlbGV0aW9u cygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kZWJ1Z2ZzLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZGVidWdmcy5jCmluZGV4IDhhOTYwNmY5MWU2OC4uMmZi N2I3M2IyNjBkIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvZGVidWdmcy5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9kZWJ1Z2ZzLmMKQEAgLTU4LDEyICs1OCwx MiBAQCBzdGF0aWMgaW50IG1taW9fb2Zmc2V0X2NvbXBhcmUodm9pZCAqcHJpdiwKIHN0YXRpYyBp bmxpbmUgaW50IG1taW9fZGlmZl9oYW5kbGVyKHN0cnVjdCBpbnRlbF9ndnQgKmd2dCwKIAkJCQkg ICAgdTMyIG9mZnNldCwgdm9pZCAqZGF0YSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBndnQtPmRldl9wcml2OworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1 ID0gZ3Z0LT5kZXZfcHJpdjsKIAlzdHJ1Y3QgbW1pb19kaWZmX3BhcmFtICpwYXJhbSA9IGRhdGE7 CiAJc3RydWN0IGRpZmZfbW1pbyAqbm9kZTsKIAl1MzIgcHJlZywgdnJlZzsKIAotCXByZWcgPSBJ OTE1X1JFQURfTk9UUkFDRShfTU1JTyhvZmZzZXQpKTsKKwlwcmVnID0gaW50ZWxfdW5jb3JlX3Jl YWRfbm90cmFjZSgmaTkxNS0+dW5jb3JlLCBfTU1JTyhvZmZzZXQpKTsKIAl2cmVnID0gdmdwdV92 cmVnKHBhcmFtLT52Z3B1LCBvZmZzZXQpOwogCiAJaWYgKHByZWcgIT0gdnJlZykgewpkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2Zpcm13YXJlLmMgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndnQvZmlybXdhcmUuYwppbmRleCA0YWMxOGI0NDcyNDcuLjA0OTc3NWU4ZTM1MCAx MDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2Zpcm13YXJlLmMKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2Zpcm13YXJlLmMKQEAgLTY4LDkgKzY4LDEwIEBAIHN0YXRp YyBzdHJ1Y3QgYmluX2F0dHJpYnV0ZSBmaXJtd2FyZV9hdHRyID0gewogCiBzdGF0aWMgaW50IG1t aW9fc25hcHNob3RfaGFuZGxlcihzdHJ1Y3QgaW50ZWxfZ3Z0ICpndnQsIHUzMiBvZmZzZXQsIHZv aWQgKmRhdGEpCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZ3Z0LT5k ZXZfcHJpdjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9IGd2dC0+ZGV2X3ByaXY7 CiAKLQkqKHUzMiAqKShkYXRhICsgb2Zmc2V0KSA9IEk5MTVfUkVBRF9OT1RSQUNFKF9NTUlPKG9m ZnNldCkpOworCSoodTMyICopKGRhdGEgKyBvZmZzZXQpID0gaW50ZWxfdW5jb3JlX3JlYWRfbm90 cmFjZSgmaTkxNS0+dW5jb3JlLAorCQkJCQkJCSAgICBfTU1JTyhvZmZzZXQpKTsKIAlyZXR1cm4g MDsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggMWFmNjc1MWUxYjM2Li44MWZmMmM3 OGZkNTUgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMjcwOCw3ICsyNzA4LDcgQEAgc3Rh dGljIHZvaWQgdmx2X3Jlc3RvcmVfZ3VuaXRfczBpeF9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAJSTkxNV9XUklURShWTFZfR1VOSVRfQ0xPQ0tfR0FURTIsCXMtPmNs b2NrX2dhdGVfZGlzMik7CiB9CiAKLXN0YXRpYyBpbnQgdmx2X3dhaXRfZm9yX3B3X3N0YXR1cyhz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCitzdGF0aWMgaW50IHZsdl93YWl0X2Zv cl9wd19zdGF0dXMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkJICB1MzIgbWFz aywgdTMyIHZhbCkKIHsKIAlpOTE1X3JlZ190IHJlZyA9IFZMVl9HVExDX1BXX1NUQVRVUzsKQEAg LTI3MjIsNyArMjcyMiw5IEBAIHN0YXRpYyBpbnQgdmx2X3dhaXRfZm9yX3B3X3N0YXR1cyhzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJICogVHJhbnNpdGlvbmluZyBiZXR3ZWVu IFJDNiBzdGF0ZXMgc2hvdWxkIGJlIGF0IG1vc3QgMm1zIChzZWUKIAkgKiB2YWxsZXl2aWV3X2Vu YWJsZV9ycHMpIHNvIHVzZSBhIDNtcyB0aW1lb3V0LgogCSAqLwotCXJldCA9IHdhaXRfZm9yKCgo cmVnX3ZhbHVlID0gSTkxNV9SRUFEX05PVFJBQ0UocmVnKSkgJiBtYXNrKSA9PSB2YWwsIDMpOwor CXJldCA9IHdhaXRfZm9yKCgocmVnX3ZhbHVlID0KKwkJCSBpbnRlbF91bmNvcmVfcmVhZF9ub3Ry YWNlKCZpOTE1LT51bmNvcmUsIHJlZykpICYgbWFzaykKKwkJICAgICAgID09IHZhbCwgMyk7CiAK IAkvKiBqdXN0IHRyYWNlIHRoZSBmaW5hbCB2YWx1ZSAqLwogCXRyYWNlX2k5MTVfcmVnX3J3KGZh bHNlLCByZWcsIHJlZ192YWx1ZSwgc2l6ZW9mKHJlZ192YWx1ZSksIHRydWUpOwpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZHJ2LmgKaW5kZXggMWVhMmQ1ZjQyZTUyLi45ZjAyMDhlNDEwZWQgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaApAQCAtMjg1Nyw3ICsyODU3LDYgQEAgZXh0ZXJuIHZvaWQgaW50ZWxfZGlz cGxheV9wcmludF9lcnJvcl9zdGF0ZShzdHJ1Y3QgZHJtX2k5MTVfZXJyb3Jfc3RhdGVfYnVmICpl LAogCiAjZGVmaW5lIEk5MTVfUkVBRChyZWdfXykJIF9fSTkxNV9SRUdfT1AocmVhZCwgZGV2X3By aXYsIChyZWdfXykpCiAjZGVmaW5lIEk5MTVfV1JJVEUocmVnX18sIHZhbF9fKSBfX0k5MTVfUkVH X09QKHdyaXRlLCBkZXZfcHJpdiwgKHJlZ19fKSwgKHZhbF9fKSkKLSNkZWZpbmUgSTkxNV9SRUFE X05PVFJBQ0UocmVnX18pCSBfX0k5MTVfUkVHX09QKHJlYWRfbm90cmFjZSwgZGV2X3ByaXYsIChy ZWdfXykpCiAKICNkZWZpbmUgUE9TVElOR19SRUFEKHJlZ19fKQlfX0k5MTVfUkVHX09QKHBvc3Rp bmdfcmVhZCwgZGV2X3ByaXYsIChyZWdfXykpCiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfcG11LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3BtdS5jCmluZGV4 IDFjY2RhMGVlNGZmNS4uZWI5YzBlMGU1NDVjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3BtdS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcG11LmMKQEAg LTIyNyw5ICsyMjcsMTEgQEAgZnJlcXVlbmN5X3NhbXBsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHVuc2lnbmVkIGludCBwZXJpb2RfbnMpCiAJCWlmIChkZXZfcHJpdi0+Z3Qu YXdha2UpIHsKIAkJCWludGVsX3dha2VyZWZfdCB3YWtlcmVmOwogCi0JCQl3aXRoX2ludGVsX3J1 bnRpbWVfcG1faWZfaW5fdXNlKGRldl9wcml2LCB3YWtlcmVmKQotCQkJCXZhbCA9IGludGVsX2dl dF9jYWdmKGRldl9wcml2LAotCQkJCQkJICAgICBJOTE1X1JFQURfTk9UUkFDRShHRU42X1JQU1RB VDEpKTsKKwkJCXdpdGhfaW50ZWxfcnVudGltZV9wbV9pZl9pbl91c2UoZGV2X3ByaXYsIHdha2Vy ZWYpIHsKKwkJCQl2YWwgPSBpbnRlbF91bmNvcmVfcmVhZF9ub3RyYWNlKCZkZXZfcHJpdi0+dW5j b3JlLAorCQkJCQkJCQlHRU42X1JQU1RBVDEpOworCQkJCXZhbCA9IGludGVsX2dldF9jYWdmKGRl dl9wcml2LCB2YWwpOworCQkJfQogCQl9CiAKIAkJYWRkX3NhbXBsZV9tdWx0KCZkZXZfcHJpdi0+ cG11LnNhbXBsZVtfX0k5MTVfU0FNUExFX0ZSRVFfQUNUXSwKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5j CmluZGV4IGIwOTlhOWRjMjhmZC4uMDg2MjY3OGU2OGI5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMKQEAgLTEwODIsMTMgKzEwODIsMTMgQEAgaW50ZWxfZHBfY2hlY2tfZWRwKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCiBzdGF0aWMgdTMyCiBpbnRlbF9kcF9hdXhfd2FpdF9kb25lKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHApCiB7Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gZHBfdG9faTkxNShpbnRlbF9kcCk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5 MTUgPSBkcF90b19pOTE1KGludGVsX2RwKTsKIAlpOTE1X3JlZ190IGNoX2N0bCA9IGludGVsX2Rw LT5hdXhfY2hfY3RsX3JlZyhpbnRlbF9kcCk7CiAJdTMyIHN0YXR1czsKIAlib29sIGRvbmU7CiAK LSNkZWZpbmUgQyAoKChzdGF0dXMgPSBJOTE1X1JFQURfTk9UUkFDRShjaF9jdGwpKSAmIERQX0FV WF9DSF9DVExfU0VORF9CVVNZKSA9PSAwKQotCWRvbmUgPSB3YWl0X2V2ZW50X3RpbWVvdXQoZGV2 X3ByaXYtPmdtYnVzX3dhaXRfcXVldWUsIEMsCisjZGVmaW5lIEMgKCgoc3RhdHVzID0gaW50ZWxf dW5jb3JlX3JlYWRfbm90cmFjZSgmaTkxNS0+dW5jb3JlLCBjaF9jdGwpKSAmIERQX0FVWF9DSF9D VExfU0VORF9CVVNZKSA9PSAwKQorCWRvbmUgPSB3YWl0X2V2ZW50X3RpbWVvdXQoaTkxNS0+Z21i dXNfd2FpdF9xdWV1ZSwgQywKIAkJCQkgIG1zZWNzX3RvX2ppZmZpZXNfdGltZW91dCgxMCkpOwog CiAJLyoganVzdCB0cmFjZSB0aGUgZmluYWwgdmFsdWUgKi8KQEAgLTEyMjEsOCArMTIyMSw5IEBA IGludGVsX2RwX2F1eF94ZmVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCSAgdTMyIGF1 eF9zZW5kX2N0bF9mbGFncykKIHsKIAlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9k aWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPQorCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0KIAkJCXRv X2k5MTUoaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOworCXN0cnVjdCBpbnRlbF91bmNv cmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CiAJaTkxNV9yZWdfdCBjaF9jdGwsIGNoX2RhdGFb NV07CiAJdTMyIGF1eF9jbG9ja19kaXZpZGVyOwogCWVudW0gaW50ZWxfZGlzcGxheV9wb3dlcl9k b21haW4gYXV4X2RvbWFpbiA9CkBAIC0xMjM4LDcgKzEyMzksNyBAQCBpbnRlbF9kcF9hdXhfeGZl cihzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpF KGNoX2RhdGEpOyBpKyspCiAJCWNoX2RhdGFbaV0gPSBpbnRlbF9kcC0+YXV4X2NoX2RhdGFfcmVn KGludGVsX2RwLCBpKTsKIAotCWF1eF93YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQo ZGV2X3ByaXYsIGF1eF9kb21haW4pOworCWF1eF93YWtlcmVmID0gaW50ZWxfZGlzcGxheV9wb3dl cl9nZXQoaTkxNSwgYXV4X2RvbWFpbik7CiAJcHBzX3dha2VyZWYgPSBwcHNfbG9jayhpbnRlbF9k cCk7CiAKIAkvKgpAQCAtMTI1MywxMyArMTI1NCwxMyBAQCBpbnRlbF9kcF9hdXhfeGZlcihzdHJ1 Y3QgaW50ZWxfZHAgKmludGVsX2RwLAogCSAqIGxvd2VzdCBwb3NzaWJsZSB3YWtldXAgbGF0ZW5j eSBhbmQgc28gcHJldmVudCB0aGUgY3B1IGZyb20gZ29pbmcgaW50bwogCSAqIGRlZXAgc2xlZXAg c3RhdGVzLgogCSAqLwotCXBtX3Fvc191cGRhdGVfcmVxdWVzdCgmZGV2X3ByaXYtPnBtX3Fvcywg MCk7CisJcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCZpOTE1LT5wbV9xb3MsIDApOwogCiAJaW50ZWxf ZHBfY2hlY2tfZWRwKGludGVsX2RwKTsKIAogCS8qIFRyeSB0byB3YWl0IGZvciBhbnkgcHJldmlv dXMgQVVYIGNoYW5uZWwgYWN0aXZpdHkgKi8KIAlmb3IgKHRyeSA9IDA7IHRyeSA8IDM7IHRyeSsr KSB7Ci0JCXN0YXR1cyA9IEk5MTVfUkVBRF9OT1RSQUNFKGNoX2N0bCk7CisJCXN0YXR1cyA9IGlu dGVsX3VuY29yZV9yZWFkX25vdHJhY2UodW5jb3JlLCBjaF9jdGwpOwogCQlpZiAoKHN0YXR1cyAm IERQX0FVWF9DSF9DVExfU0VORF9CVVNZKSA9PSAwKQogCQkJYnJlYWs7CiAJCW1zbGVlcCgxKTsK QEAgLTEyNjksNyArMTI3MCw3IEBAIGludGVsX2RwX2F1eF94ZmVyKHN0cnVjdCBpbnRlbF9kcCAq aW50ZWxfZHAsCiAKIAlpZiAodHJ5ID09IDMpIHsKIAkJc3RhdGljIHUzMiBsYXN0X3N0YXR1cyA9 IC0xOwotCQljb25zdCB1MzIgc3RhdHVzID0gSTkxNV9SRUFEKGNoX2N0bCk7CisJCWNvbnN0IHUz MiBzdGF0dXMgPSBpbnRlbF91bmNvcmVfcmVhZCh1bmNvcmUsIGNoX2N0bCk7CiAKIAkJaWYgKHN0 YXR1cyAhPSBsYXN0X3N0YXR1cykgewogCQkJV0FSTigxLCAiZHBfYXV4X2NoIG5vdCBzdGFydGVk IHN0YXR1cyAweCUwOHhcbiIsCkBAIC0xMjk4LDIxICsxMjk5LDIzIEBAIGludGVsX2RwX2F1eF94 ZmVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCWZvciAodHJ5ID0gMDsgdHJ5IDwgNTsg dHJ5KyspIHsKIAkJCS8qIExvYWQgdGhlIHNlbmQgZGF0YSBpbnRvIHRoZSBhdXggY2hhbm5lbCBk YXRhIHJlZ2lzdGVycyAqLwogCQkJZm9yIChpID0gMDsgaSA8IHNlbmRfYnl0ZXM7IGkgKz0gNCkK LQkJCQlJOTE1X1dSSVRFKGNoX2RhdGFbaSA+PiAyXSwKLQkJCQkJICAgaW50ZWxfZHBfcGFja19h dXgoc2VuZCArIGksCi0JCQkJCQkJICAgICBzZW5kX2J5dGVzIC0gaSkpOworCQkJCWludGVsX3Vu Y29yZV93cml0ZSh1bmNvcmUsCisJCQkJCQkgICBjaF9kYXRhW2kgPj4gMl0sCisJCQkJCQkgICBp bnRlbF9kcF9wYWNrX2F1eChzZW5kICsgaSwKKwkJCQkJCQkJICAgICBzZW5kX2J5dGVzIC0gaSkp OwogCiAJCQkvKiBTZW5kIHRoZSBjb21tYW5kIGFuZCB3YWl0IGZvciBpdCB0byBjb21wbGV0ZSAq LwotCQkJSTkxNV9XUklURShjaF9jdGwsIHNlbmRfY3RsKTsKKwkJCWludGVsX3VuY29yZV93cml0 ZSh1bmNvcmUsIGNoX2N0bCwgc2VuZF9jdGwpOwogCiAJCQlzdGF0dXMgPSBpbnRlbF9kcF9hdXhf d2FpdF9kb25lKGludGVsX2RwKTsKIAogCQkJLyogQ2xlYXIgZG9uZSBzdGF0dXMgYW5kIGFueSBl cnJvcnMgKi8KLQkJCUk5MTVfV1JJVEUoY2hfY3RsLAotCQkJCSAgIHN0YXR1cyB8Ci0JCQkJICAg RFBfQVVYX0NIX0NUTF9ET05FIHwKLQkJCQkgICBEUF9BVVhfQ0hfQ1RMX1RJTUVfT1VUX0VSUk9S IHwKLQkJCQkgICBEUF9BVVhfQ0hfQ1RMX1JFQ0VJVkVfRVJST1IpOworCQkJaW50ZWxfdW5jb3Jl X3dyaXRlKHVuY29yZSwKKwkJCQkJICAgY2hfY3RsLAorCQkJCQkgICBzdGF0dXMgfAorCQkJCQkg ICBEUF9BVVhfQ0hfQ1RMX0RPTkUgfAorCQkJCQkgICBEUF9BVVhfQ0hfQ1RMX1RJTUVfT1VUX0VS Uk9SIHwKKwkJCQkJICAgRFBfQVVYX0NIX0NUTF9SRUNFSVZFX0VSUk9SKTsKIAogCQkJLyogRFAg Q1RTIDEuMiBDb3JlIFJldiAxLjEsIDQuMi4xLjEgJiA0LjIuMS4yCiAJCQkgKiAgIDQwMHVzIGRl bGF5IHJlcXVpcmVkIGZvciBlcnJvcnMgYW5kIHRpbWVvdXRzCkBAIC0xMzc1LDE4ICsxMzc4LDE4 IEBAIGludGVsX2RwX2F1eF94ZmVyKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsCiAJCXJlY3Zf Ynl0ZXMgPSByZWN2X3NpemU7CiAKIAlmb3IgKGkgPSAwOyBpIDwgcmVjdl9ieXRlczsgaSArPSA0 KQotCQlpbnRlbF9kcF91bnBhY2tfYXV4KEk5MTVfUkVBRChjaF9kYXRhW2kgPj4gMl0pLAorCQlp bnRlbF9kcF91bnBhY2tfYXV4KGludGVsX3VuY29yZV9yZWFkKHVuY29yZSwgY2hfZGF0YVtpID4+ IDJdKSwKIAkJCQkgICAgcmVjdiArIGksIHJlY3ZfYnl0ZXMgLSBpKTsKIAogCXJldCA9IHJlY3Zf Ynl0ZXM7CiBvdXQ6Ci0JcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCZkZXZfcHJpdi0+cG1fcW9zLCBQ TV9RT1NfREVGQVVMVF9WQUxVRSk7CisJcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCZpOTE1LT5wbV9x b3MsIFBNX1FPU19ERUZBVUxUX1ZBTFVFKTsKIAogCWlmICh2ZGQpCiAJCWVkcF9wYW5lbF92ZGRf b2ZmKGludGVsX2RwLCBmYWxzZSk7CiAKIAlwcHNfdW5sb2NrKGludGVsX2RwLCBwcHNfd2FrZXJl Zik7Ci0JaW50ZWxfZGlzcGxheV9wb3dlcl9wdXRfYXN5bmMoZGV2X3ByaXYsIGF1eF9kb21haW4s IGF1eF93YWtlcmVmKTsKKwlpbnRlbF9kaXNwbGF5X3Bvd2VyX3B1dF9hc3luYyhpOTE1LCBhdXhf ZG9tYWluLCBhdXhfd2FrZXJlZik7CiAKIAlyZXR1cm4gcmV0OwogfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ21idXMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2dtYnVzLmMKaW5kZXggNWU0YzU0M2U4MmU4Li5hYTg4ZTZlN2NjNjUgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2dtYnVzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfZ21idXMuYwpAQCAtMTg2LDE0ICsxODYsMTUgQEAgc3RhdGljIHZvaWQgYnh0 X2dtYnVzX2Nsb2NrX2dhdGluZyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAK IHN0YXRpYyB1MzIgZ2V0X3Jlc2VydmVkKHN0cnVjdCBpbnRlbF9nbWJ1cyAqYnVzKQogewotCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGJ1cy0+ZGV2X3ByaXY7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUgPSBidXMtPmRldl9wcml2OworCXN0cnVjdCBpbnRlbF91 bmNvcmUgKnVuY29yZSA9ICZpOTE1LT51bmNvcmU7CiAJdTMyIHJlc2VydmVkID0gMDsKIAogCS8q IE9uIG1vc3QgY2hpcHMsIHRoZXNlIGJpdHMgbXVzdCBiZSBwcmVzZXJ2ZWQgaW4gc29mdHdhcmUu ICovCi0JaWYgKCFJU19JODMwKGRldl9wcml2KSAmJiAhSVNfSTg0NUcoZGV2X3ByaXYpKQotCQly ZXNlcnZlZCA9IEk5MTVfUkVBRF9OT1RSQUNFKGJ1cy0+Z3Bpb19yZWcpICYKLQkJCQkJICAgICAo R1BJT19EQVRBX1BVTExVUF9ESVNBQkxFIHwKLQkJCQkJICAgICAgR1BJT19DTE9DS19QVUxMVVBf RElTQUJMRSk7CisJaWYgKCFJU19JODMwKGk5MTUpICYmICFJU19JODQ1RyhpOTE1KSkKKwkJcmVz ZXJ2ZWQgPSBpbnRlbF91bmNvcmVfcmVhZF9ub3RyYWNlKHVuY29yZSwgYnVzLT5ncGlvX3JlZykg JgorCQkJICAgKEdQSU9fREFUQV9QVUxMVVBfRElTQUJMRSB8CisJCQkgICAgR1BJT19DTE9DS19Q VUxMVVBfRElTQUJMRSk7CiAKIAlyZXR1cm4gcmVzZXJ2ZWQ7CiB9Ci0tIAoyLjIwLjEKCl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWls aW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==