From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 8/8] drm/i915: Support for retrieving MMIO register values alongwith timestamps through perf Date: Wed, 5 Aug 2015 11:25:44 +0530 Message-ID: <1438754144-20435-9-git-send-email-sourab.gupta@intel.com> References: <1438754144-20435-1-git-send-email-sourab.gupta@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga09.intel.com (mga09.intel.com [134.134.136.24]) by gabe.freedesktop.org (Postfix) with ESMTP id 986A172091 for ; Tue, 4 Aug 2015 22:54:08 -0700 (PDT) In-Reply-To: <1438754144-20435-1-git-send-email-sourab.gupta@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: Insoo Woo , Peter Zijlstra , Jabin Wu , Sourab Gupta List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU291cmFiIEd1cHRhIDxzb3VyYWIuZ3VwdGFAaW50ZWwuY29tPgoKVGhpcyBwYXRjaCBh ZGRzIHN1cHBvcnQgZm9yIHJldHJpZXZpbmcgTU1JTyByZWdpc3RlciB2YWx1ZXMgYWxvbmd3aXRo CnRpbWVzdGFtcHMgYW5kIGZvcndhcmRpbmcgdGhlbSB0byB1c2Vyc3BhY2UgdGhyb3VnaCBwZXJm LgpUaGUgdXNlcnNwYWNlIGNhbiByZXF1ZXN0IHVwdG8gOCBNTUlPIHJlZ2lzdGVyIHZhbHVlcyB0 byBiZSBkdW1wZWQuClRoZSBhZGRyZXNzZXMgb2YgdXB0byA4IE1NSU8gcmVnaXN0ZXJzIGNhbiBi ZSBwYXNzZWQgdGhyb3VnaCBwZXJmIGF0dHIKY29uZmlnLiBUaGUgcmVnaXN0ZXJzIGFyZSBjaGVj a2VkIGFnYWluc3QgYSB3aGl0ZWxpc3QgYmVmb3JlIHBhc3NpbmcgdGhlbQpvbi4gVGhlIGNvbW1h bmRzIHRvIGR1bXAgdGhlIHZhbHVlcyBvZiB0aGVzZSBNTUlPIHJlZ2lzdGVycyBhcmUgdGhlbgpp bnNlcnRlZCBpbnRvIHRoZSByaW5nIGFsb25nd2l0aCBjb21tYW5kcyB0byBkdW1wIHRoZSB0aW1l c3RhbXBzLgoKdjI6IEltcGxlbWVudCBzdWdnZXN0aW9ucyBieSBDaHJpcywgcGVydGFpbmluZyB0 byBjb2RlIHJlc3RydWN0dXJpbmcsIHVzaW5nCkJVSUxEX0JVR19PTiBldGMuCgpTaWduZWQtb2Zm LWJ5OiBTb3VyYWIgR3VwdGEgPHNvdXJhYi5ndXB0YUBpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgfCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X29hX3BlcmYuYyB8IDk5ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLS0K IGluY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCAgICAgICAgIHwgMTEgKysrKy0KIDMgZmlsZXMg Y2hhbmdlZCwgMTA0IGluc2VydGlvbnMoKyksIDggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfZHJ2LmgKaW5kZXggYzNlODIzZi4uNWM2ZTM3YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CkBAIC0yMDIyLDcgKzIwMjIsOSBAQCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSB7CiAjZGVmaW5l IEk5MTVfR0VOX1BNVV9TQU1QTEVfUklORwkJKDE8PDApCiAjZGVmaW5lIEk5MTVfR0VOX1BNVV9T QU1QTEVfUElECQkJKDE8PDEpCiAjZGVmaW5lIEk5MTVfR0VOX1BNVV9TQU1QTEVfVEFHCQkJKDE8 PDIpCisjZGVmaW5lIEk5MTVfR0VOX1BNVV9TQU1QTEVfTU1JTwkJKDE8PDMpCiAJCWludCBzYW1w bGVfaW5mb19mbGFnczsKKwkJdTMyIG1taW9fbGlzdFtJOTE1X1BNVV9NTUlPX05VTV07CiAJfSBn ZW5fcG11OwogCiAJdm9pZCAoKmVtaXRfcHJvZmlsaW5nX2RhdGFbSTkxNV9QUk9GSUxFX01BWF0p CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X29hX3BlcmYuYyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5jCmluZGV4IGUwNjVlMDYuLjQxOTdkYmQgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5jCkBAIC0xMiw2ICsxMiw3IEBACiAjZGVmaW5l IFBFUklPRCBtYXhfdCh1NjQsIDEwMDAwLCBOU0VDX1BFUl9TRUMgLyBGUkVRVUVOQ1kpCiAKICNk ZWZpbmUgVFNfREFUQV9TSVpFIHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfdHNfZGF0YSkKKyNkZWZp bmUgTU1JT19EQVRBX1NJWkUgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV9tbWlvX2RhdGEpCiAjZGVm aW5lIENUWF9JTkZPX1NJWkUgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19ub2RlX2N0eF9pZCkK ICNkZWZpbmUgUklOR19JTkZPX1NJWkUgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19ub2RlX3Jp bmdfaWQpCiAjZGVmaW5lIFBJRF9JTkZPX1NJWkUgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19u b2RlX3BpZCkKQEAgLTEyOSw4ICsxMzAsOCBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbl9lbWl0X3Rz X2RhdGEoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0gcmluZy0+ZGV2LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqb2JqID0gZGV2X3ByaXYtPmdlbl9wbXUuYnVmZmVyLm9iajsKIAlz dHJ1Y3QgaTkxNV9nZW5fcG11X25vZGUgKmVudHJ5OwotCXUzMiBhZGRyID0gMDsKLQlpbnQgcmV0 OworCXUzMiBtbWlvX2FkZHIsIGFkZHIgPSAwOworCWludCByZXQsIGksIGNvdW50ID0gMDsKIAog CWVudHJ5ID0ga3phbGxvYyhzaXplb2YoKmVudHJ5KSwgR0ZQX0tFUk5FTCk7CiAJaWYgKGVudHJ5 ID09IE5VTEwpIHsKQEAgLTEzOCw3ICsxMzksMTIgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW5fZW1p dF90c19kYXRhKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxLAogCQlyZXR1cm47CiAJ fQogCi0JcmV0ID0gaW50ZWxfcmluZ19iZWdpbihyaW5nLCA2KTsKKwlmb3IgKGNvdW50ID0gMDsg Y291bnQgPCBJOTE1X1BNVV9NTUlPX05VTTsgY291bnQrKykgeworCQlpZiAoMCA9PSBkZXZfcHJp di0+Z2VuX3BtdS5tbWlvX2xpc3RbY291bnRdKQorCQkJYnJlYWs7CisJfQorCisJcmV0ID0gaW50 ZWxfcmluZ19iZWdpbihyaW5nLCA2ICsgNCpjb3VudCk7CiAJaWYgKHJldCkgewogCQlrZnJlZShl bnRyeSk7CiAJCXJldHVybjsKQEAgLTE3Myw2ICsxNzksNyBAQCBzdGF0aWMgdm9pZCBpOTE1X2dl bl9lbWl0X3RzX2RhdGEoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJc3Bpbl91 bmxvY2soJmRldl9wcml2LT5nZW5fcG11LmxvY2spOwogCiAJYWRkciA9IGRldl9wcml2LT5nZW5f cG11LmJ1ZmZlci5ndHRfb2Zmc2V0ICsgZW50cnktPm9mZnNldDsKKwltbWlvX2FkZHIgPSBhZGRy ICsgVFNfREFUQV9TSVpFOwogCiAJaWYgKHJpbmctPmlkID09IFJDUykgewogCQlpbnRlbF9yaW5n X2VtaXQocmluZywgR0ZYX09QX1BJUEVfQ09OVFJPTCg1KSk7CkBAIC0xOTIsNiArMTk5LDMyIEBA IHN0YXRpYyB2b2lkIGk5MTVfZ2VuX2VtaXRfdHNfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3Jl cXVlc3QgKnJlcSwKIAkJaW50ZWxfcmluZ19lbWl0KHJpbmcsIE1JX05PT1ApOwogCQlpbnRlbF9y aW5nX2VtaXQocmluZywgTUlfTk9PUCk7CiAJfQorCisJLyoKKwkgKiBOb3RlOgorCSAqIDEpIFRo ZSBvcHRpbWl6YXRpb24gdG8gc3RvcmUgdGhlIHJlZ2lzdGVyIGFycmF5IHdpdGggYSBzaW5nbGUK KwkgKiBjb21tYW5kIGRvZXNuJ3Qgc2VlbSB0byBiZSB3b3JraW5nIHdpdGggU1JNIGNvbW1hbmRz LiBIZW5jZSwgaGF2ZSBhCisJICogbG9vcCB3aXRoIGEgc2luZ2xlIFNSTSBjb21tYW5kIHJlcGVh dGVkLiBNaXNzaW5nIGFueXRoaW5nIGhlcmU/CisJICogMikgVGhpcyBmbiBpcyBwcmVzZW50bHkg Y2FsbGVkIGJlZm9yZSBhbmQgYWZ0ZXIgYmF0Y2ggYnVmZmVyLiBBcworCSAqIHN1Y2gsIHRoZXJl IHNob3VsZCBhbHJlYWR5IGJlIHRoZSBDUyBzdGFsbCBjb21tYW5kcyBjYWxsZWQgYWZ0ZXIgQkIu CisJICogSXMgdGhlcmUgYSBuZWVkL25lY2Vzc2l0eSBmb3IgYSBjb21tYW5kIGJhcnJpZXIgdG8g YmUgaW5zZXJ0ZWQgaW4KKwkgKiByaW5nIGhlcmU/IElmIHNvLCB3aGljaCBjb21tYW5kcz8gKENT IFN0YWxsPykKKwkgKi8KKwlmb3IgKGkgPSAwOyBpIDwgSTkxNV9QTVVfTU1JT19OVU07IGkrKykg eworCQlpZiAoMCA9PSBkZXZfcHJpdi0+Z2VuX3BtdS5tbWlvX2xpc3RbaV0pCisJCQlicmVhazsK KworCQlhZGRyID0gbW1pb19hZGRyICsKKwkJCWkgKiBzaXplb2YoZGV2X3ByaXYtPmdlbl9wbXUu bW1pb19saXN0W2ldKTsKKworCQlpbnRlbF9yaW5nX2VtaXQocmluZywKKwkJCQlNSV9TVE9SRV9S RUdJU1RFUl9NRU0oMSkgfAorCQkJCU1JX1NSTV9MUk1fR0xPQkFMX0dUVCk7CisJCWludGVsX3Jp bmdfZW1pdChyaW5nLCBkZXZfcHJpdi0+Z2VuX3BtdS5tbWlvX2xpc3RbaV0pOworCQlpbnRlbF9y aW5nX2VtaXQocmluZywgYWRkcik7CisJCWludGVsX3JpbmdfZW1pdChyaW5nLCBNSV9OT09QKTsK Kwl9CisKIAlpbnRlbF9yaW5nX2FkdmFuY2UocmluZyk7CiAKIAlvYmotPmJhc2Uud3JpdGVfZG9t YWluID0gSTkxNV9HRU1fRE9NQUlOX1JFTkRFUjsKQEAgLTU1Myw3ICs1ODYsNyBAQCBzdGF0aWMg dm9pZCBmb3J3YXJkX29uZV9nZW5fcG11X3NhbXBsZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYsCiB7CiAJc3RydWN0IHBlcmZfc2FtcGxlX2RhdGEgZGF0YTsKIAlzdHJ1Y3QgcGVy Zl9ldmVudCAqZXZlbnQgPSBkZXZfcHJpdi0+Z2VuX3BtdS5leGNsdXNpdmVfZXZlbnQ7Ci0JaW50 IHNuYXBzaG90X3NpemU7CisJaW50IHNuYXBzaG90X3NpemUsIG1taW9fc2l6ZTsKIAl1OCAqc25h cHNob3QsICpjdXJyZW50X3B0cjsKIAlzdHJ1Y3QgZHJtX2k5MTVfdHNfbm9kZV9jdHhfaWQgKmN0 eF9pbmZvOwogCXN0cnVjdCBkcm1faTkxNV90c19ub2RlX3JpbmdfaWQgKnJpbmdfaW5mbzsKQEAg LTU2NSwxMCArNTk4LDE2IEBAIHN0YXRpYyB2b2lkIGZvcndhcmRfb25lX2dlbl9wbXVfc2FtcGxl KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCShSSU5HX0lORk9fU0laRSAh PSA4KSB8fCAoUElEX0lORk9fU0laRSAhPSA4KSB8fAogCQkJKFRBR19JTkZPX1NJWkUgIT0gOCkp OwogCisJaWYgKGRldl9wcml2LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzICYgSTkxNV9HRU5f UE1VX1NBTVBMRV9NTUlPKQorCQltbWlvX3NpemUgPSBNTUlPX0RBVEFfU0laRTsKKwllbHNlCisJ CW1taW9fc2l6ZSA9IDA7CisKIAlzbmFwc2hvdCA9IGRldl9wcml2LT5nZW5fcG11LmJ1ZmZlci5h ZGRyICsgbm9kZS0+b2Zmc2V0OwotCXNuYXBzaG90X3NpemUgPSBUU19EQVRBX1NJWkUgKyBDVFhf SU5GT19TSVpFOworCXNuYXBzaG90X3NpemUgPSBUU19EQVRBX1NJWkUgKyBtbWlvX3NpemUgKyBD VFhfSU5GT19TSVpFOwogCi0JY3R4X2luZm8gPSAoc3RydWN0IGRybV9pOTE1X3RzX25vZGVfY3R4 X2lkICopKHNuYXBzaG90ICsgVFNfREFUQV9TSVpFKTsKKwljdHhfaW5mbyA9IChzdHJ1Y3QgZHJt X2k5MTVfdHNfbm9kZV9jdHhfaWQgKikKKwkJCQkoc25hcHNob3QgKyBtbWlvX3NpemUgKwlUU19E QVRBX1NJWkUpOwogCWN0eF9pbmZvLT5jdHhfaWQgPSBub2RlLT5jdHhfaWQ7CiAJY3VycmVudF9w dHIgPSBzbmFwc2hvdCArIHNuYXBzaG90X3NpemU7CiAKQEAgLTEwNDYsNiArMTA4NSw5IEBAIHN0 YXRpYyBpbnQgaW5pdF9nZW5fcG11X2J1ZmZlcihzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJ aWYgKGRldl9wcml2LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzICYgSTkxNV9HRU5fUE1VX1NB TVBMRV9UQUcpCiAJCW5vZGVfc2l6ZSArPSBUQUdfSU5GT19TSVpFOwogCisJaWYgKGRldl9wcml2 LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzICYgSTkxNV9HRU5fUE1VX1NBTVBMRV9NTUlPKQor CQlub2RlX3NpemUgKz0gTU1JT19EQVRBX1NJWkU7CisKIAkvKiBzaXplIGhhcyB0byBiZSBhbGln bmVkIHRvIDggYnl0ZXMgKi8KIAlub2RlX3NpemUgPSBBTElHTihub2RlX3NpemUsIDgpOwogCWRl dl9wcml2LT5nZW5fcG11LmJ1ZmZlci5ub2RlX3NpemUgPSBub2RlX3NpemU7CkBAIC0xNjQxLDYg KzE2ODMsNDAgQEAgZXJyX3NpemU6CiAJZ290byBvdXQ7CiB9CiAKKworc3RhdGljIGludCBjaGVj a19tbWlvX3doaXRlbGlzdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCisJCQkJ c3RydWN0IGRybV9pOTE1X2dlbl9wbXVfYXR0ciAqZ2VuX2F0dHIpCit7CisKKyNkZWZpbmUgR0VO X1JBTkdFKGwsIGgpIEdFTk1BU0soaCwgbCkKKwlzdGF0aWMgY29uc3Qgc3RydWN0IHJlZ2lzdGVy X3doaXRlbGlzdCB7CisJCXVpbnQ2NF90IG9mZnNldDsKKwkJdWludDMyX3Qgc2l6ZTsKKwkJLyog c3VwcG9ydGVkIGdlbnMsIDB4MTAgZm9yIDQsIDB4MzAgZm9yIDQgYW5kIDUsIGV0Yy4gKi8KKwkJ dWludDMyX3QgZ2VuX2JpdG1hc2s7CisJfSB3aGl0ZWxpc3RbXSA9IHsKKwkJeyBHRU42X0dUX0dG WF9SQzYsIDQsIEdFTl9SQU5HRSg3LCA5KSB9LAorCQl7IEdFTjZfR1RfR0ZYX1JDNnAsIDQsIEdF Tl9SQU5HRSg3LCA5KSB9LAorCX07CisJaW50IGksIGNvdW50OworCisJZm9yIChjb3VudCA9IDA7 IGNvdW50IDwgSTkxNV9QTVVfTU1JT19OVU07IGNvdW50KyspIHsKKwkJaWYgKCFnZW5fYXR0ci0+ bW1pb19saXN0W2NvdW50XSkKKwkJCWJyZWFrOworCisJCWZvciAoaSA9IDA7IGkgPCBBUlJBWV9T SVpFKHdoaXRlbGlzdCk7IGkrKykgeworCQkJaWYgKHdoaXRlbGlzdFtpXS5vZmZzZXQgPT0gZ2Vu X2F0dHItPm1taW9fbGlzdFtjb3VudF0gJiYKKwkJCSAgICAoMSA8PCBJTlRFTF9JTkZPKGRldl9w cml2KS0+Z2VuICYKKwkJCQkJd2hpdGVsaXN0W2ldLmdlbl9iaXRtYXNrKSkKKwkJCQlicmVhazsK KwkJfQorCisJCWlmIChpID09IEFSUkFZX1NJWkUod2hpdGVsaXN0KSkKKwkJCXJldHVybiAtRUlO VkFMOworCX0KKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIGludCBpOTE1X2dlbl9ldmVudF9pbml0 KHN0cnVjdCBwZXJmX2V2ZW50ICpldmVudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPQpAQCAtMTY3MCw2ICsxNzQ2LDE3IEBAIHN0YXRpYyBpbnQgaTkxNV9nZW5fZXZl bnRfaW5pdChzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQpCiAJaWYgKGdlbl9hdHRyLnNhbXBsZV90 YWcpCiAJCWRldl9wcml2LT5nZW5fcG11LnNhbXBsZV9pbmZvX2ZsYWdzIHw9IEk5MTVfR0VOX1BN VV9TQU1QTEVfVEFHOwogCisJaWYgKGdlbl9hdHRyLnNhbXBsZV9tbWlvKSB7CisJCXJldCA9IGNo ZWNrX21taW9fd2hpdGVsaXN0KGRldl9wcml2LCAmZ2VuX2F0dHIpOworCQlpZiAocmV0KQorCQkJ cmV0dXJuIHJldDsKKworCQlkZXZfcHJpdi0+Z2VuX3BtdS5zYW1wbGVfaW5mb19mbGFncyB8PQor CQkJCUk5MTVfR0VOX1BNVV9TQU1QTEVfTU1JTzsKKwkJbWVtY3B5KGRldl9wcml2LT5nZW5fcG11 Lm1taW9fbGlzdCwgZ2VuX2F0dHIubW1pb19saXN0LAorCQkJCXNpemVvZihkZXZfcHJpdi0+Z2Vu X3BtdS5tbWlvX2xpc3QpKTsKKwl9CisKIAkvKiBUbyBhdm9pZCB0aGUgY29tcGxleGl0eSBvZiBo YXZpbmcgdG8gYWNjdXJhdGVseSBmaWx0ZXIKIAkgKiBkYXRhIGFuZCBtYXJzaGFsIHRvIHRoZSBh cHByb3ByaWF0ZSBjbGllbnQKIAkgKiB3ZSBjdXJyZW50bHkgb25seSBhbGxvdyBleGNsdXNpdmUg YWNjZXNzICovCmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNs dWRlL3VhcGkvZHJtL2k5MTVfZHJtLmgKaW5kZXggZGI5MTA5OC4uNDE1M2NkZiAxMDA2NDQKLS0t IGEvaW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaApAQCAtODEsNyArODEsNyBAQAogCiAjZGVmaW5lIEk5MTVfT0FfQVRUUl9TSVpFX1ZF UjAJCTMyICAvKiBzaXplb2YgZmlyc3QgcHVibGlzaGVkIHN0cnVjdCAqLwogCi0jZGVmaW5lIEk5 MTVfR0VOX1BNVV9BVFRSX1NJWkVfVkVSMAk4ICAvKiBzaXplb2YgZmlyc3QgcHVibGlzaGVkIHN0 cnVjdCAqLworI2RlZmluZSBJOTE1X0dFTl9QTVVfQVRUUl9TSVpFX1ZFUjAJNDAgIC8qIHNpemVv ZiBmaXJzdCBwdWJsaXNoZWQgc3RydWN0ICovCiAKIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9v YV9hdHRyIHsKIAlfX3UzMiBzaXplOwpAQCAtMTA1LDcgKzEwNSw5IEBAIHN0cnVjdCBkcm1faTkx NV9nZW5fcG11X2F0dHIgewogCV9fdTMyIHNhbXBsZV9yaW5nOjEsCiAJCXNhbXBsZV9waWQ6MSwK IAkJc2FtcGxlX3RhZzoxLAotCQlfX3Jlc2VydmVkXzE6Mjk7CisJCXNhbXBsZV9tbWlvOjEsCisJ CV9fcmVzZXJ2ZWRfMToyODsKKwlfX3UzMiBtbWlvX2xpc3RbOF07CiB9OwogCiAvKiBIZWFkZXIg Zm9yIFBFUkZfUkVDT1JEX0RFVklDRSB0eXBlIGV2ZW50cyAqLwpAQCAtMTU1LDYgKzE1NywxMSBA QCBzdHJ1Y3QgZHJtX2k5MTVfdHNfZGF0YSB7CiAJX191MzIgdHNfaGlnaDsKIH07CiAKK3N0cnVj dCBkcm1faTkxNV9tbWlvX2RhdGEgeworI2RlZmluZSBJOTE1X1BNVV9NTUlPX05VTQk4CisJX191 MzIgbW1pb1tJOTE1X1BNVV9NTUlPX05VTV07Cit9OworCiBzdHJ1Y3QgZHJtX2k5MTVfdHNfbm9k ZV9jdHhfaWQgewogCV9fdTMyIGN0eF9pZDsKIAlfX3UzMiBwYWQ7Ci0tIAoxLjguNS4xCgpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZy ZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=