From mboxrd@z Thu Jan 1 00:00:00 1970 From: sourab.gupta@intel.com Subject: [RFC 2/8] drm/i915: Add mechanism for forwarding the timestamp data through perf Date: Wed, 5 Aug 2015 11:25:38 +0530 Message-ID: <1438754144-20435-3-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 mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id D8AEC72089 for ; Tue, 4 Aug 2015 22:53:50 -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 ZGRzIHRoZSBtZWNoYW5pc20gZm9yIGZvcndhcmRpbmcgdGhlIHRpbWVzdGFtcCBkYXRhIHRvCnVz ZXJzcGFjZSB1c2luZyB0aGUgR2VuIFBNVSBwZXJmIGV2ZW50IGludGVyZmFjZS4KClRoZSB0aW1l c3RhbXBzIHdpbGwgYmUgY2FwdHVyZWQgaW4gYSBnZW0gYnVmZmVyIG9iamVjdC4gVGhlIG1ldGFk YXRhCmluZm9ybWF0aW9uIChjdHggZ2xvYmFsIGlkIHJpZ2h0IG5vdykgcGVydGFpbmluZyB0byBz bmFwc2hvdCBpcyBtYWludGFpbmVkCmluIGEgbGlzdCwgd2hvc2UgZWFjaCBub2RlIGhhcyBvZmZz ZXRzIGludG8gdGhlIGdlbSBidWZmZXIgb2JqZWN0IGZvciBlYWNoCnNuYXBzaG90IGNhcHR1cmVk LgpJbiBvcmRlciB0byB0cmFjayB3aGV0aGVyIHRoZSBncHUgaGFzIGNvbXBsZXRlZCBwcm9jZXNz aW5nIHRoZSBub2RlLAphIGZpZWxkIHBlcnRhaW5pbmcgdG8gY29ycmVzcG9uZGluZyBnZW0gcmVx dWVzdCBpcyBhZGRlZC4gVGhlIHJlcXVlc3QgaXMKZXhwZWN0ZWQgdG8gYmUgcmVmZXJlbmNlZCB3 aGVuZXZlciB0aGUgZ3B1IGNvbW1hbmQgaXMgc3VibWl0dGVkLgoKRWFjaCBzbmFwc2hvdCBjb2xs ZWN0ZWQgaXMgZm9yd2FyZGVkIGFzIGEgc2VwYXJhdGUgcGVyZiBzYW1wbGUuIFRoZSBwZXJmCnNh bXBsZSB3aWxsIGhhdmUgcmF3IHRpbWVzdGFtcCBkYXRhIGZvbGxvd2VkIGJ5IG1ldGFkYXRhIGlu Zm9ybWF0aW9uCnBlcnRhaW5pbmcgdG8gdGhhdCBzYW1wbGUuCldoaWxlIGZvcndhcmRpbmcgdGhl IHNhbXBsZXMsIHdlIGNoZWNrIHdoZXRoZXIgdGhlIGdlbSByZXF1ZXN0IGlzIGNvbXBsZXRlZAph bmQgZGVyZWZlcmVuY2UgdGhlIGNvcnJlc3BvbmRpbmcgcmVxdWVzdC4gVGhlIG5lZWQgdG8gZGVy ZWZlcmVuY2UgdGhlCnJlcXVlc3QgbmVjZXNzaXRhdGVzIGEgd29ya2VyIGhlcmUsIHdoaWNoIHdp bGwgYmUgc2NoZWR1bGVkIHdoZW4gdGhlCmhydGltZXIgdHJpZ2dlcnMuCldoaWxlIGZsdXNoaW5n IHRoZSBzYW1wbGVzLCB3ZSBoYXZlIHRvIHdhaXQgZm9yIHRoZSByZXF1ZXN0cyBhbHJlYWR5CnNj aGVkdWxlZCwgYmVmb3JlIGZvcndhcmRpbmcgdGhlIHNhbXBsZXMuIFRoaXMgd2FpdCBpcyBkb25l IGluIGEgbG9ja2xlc3MKZmFzaGlvbi4KCnYyOiBDaGFuZ2VzIGhlcmUgcGVydGFpbmluZyB0byAo YXMgc3VnZ2VzdGVkIGJ5IENocmlzKToKICAgIC0gRm9yd2FyZGluZyBmdW5jdGlvbmFsaXR5IGlt cGxlbWVudGVkIGluIGEgc2VwYXJhdGUgZm4uIFRoZSB3b3JrIGl0ZW0KICAgICAgKHNjaGVkdWxl ZCBmcm9tIGhydGltZXIvZXZlbnQgc3RvcCkgd291bGQgYmUgY2FsbGluZyB0aGF0IGZ1bmN0aW9u LgogICAgICBUaGUgZXZlbnQgZmx1c2ggd291bGQgZGlyZWN0bHkgY2FsbCB0aGlzIGZvcndhcmRp bmcgZm4uIFRoaXMgbWVldHMKICAgICAgdGhlIGZsdXNoIHNlbWFudGljcy4KICAgIC0gdXNlIHNw aW5fbG9jayBpbnN0ZWFkIG9mIHNwaW5fbG9ja19pcnFzYXZlCiAgICAtIENvZGUgcmVzdHJ1Y3R1 cmluZyAmIGJldHRlciBub21lbmNsYXR1cmUKClNpZ25lZC1vZmYtYnk6IFNvdXJhYiBHdXB0YSA8 c291cmFiLmd1cHRhQGludGVsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oICAgICB8ICAxMSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5jIHwg MTMxICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKystLQogaW5jbHVkZS91YXBpL2Ry bS9pOTE1X2RybS5oICAgICAgICAgfCAgMTAgKysrCiAzIGZpbGVzIGNoYW5nZWQsIDE0NyBpbnNl cnRpb25zKCspLCA1IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDY2 ZjllZTkuLjA4MjM1NTgyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE2NzYsNiArMTY3 NiwxMyBAQCBzdHJ1Y3QgaTkxNV9vYV9yY3Nfbm9kZSB7CiAJdTMyIHRhZzsKIH07CiAKK3N0cnVj dCBpOTE1X2dlbl9wbXVfbm9kZSB7CisJc3RydWN0IGxpc3RfaGVhZCBoZWFkOworCXN0cnVjdCBk cm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxOworCXUzMiBvZmZzZXQ7CisJdTMyIGN0eF9pZDsKK307 CisKIGV4dGVybiBjb25zdCBzdHJ1Y3QgaTkxNV9vYV9yZWcgaTkxNV9vYV8zZF9tdXhfY29uZmln X2hzd1tdOwogZXh0ZXJuIGNvbnN0IGludCBpOTE1X29hXzNkX211eF9jb25maWdfaHN3X2xlbjsK IGV4dGVybiBjb25zdCBzdHJ1Y3QgaTkxNV9vYV9yZWcgaTkxNV9vYV8zZF9iX2NvdW50ZXJfY29u ZmlnX2hzd1tdOwpAQCAtMjAwMCw3ICsyMDA3LDExIEBAIHN0cnVjdCBkcm1faTkxNV9wcml2YXRl IHsKIAkJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpvYmo7CiAJCQl1MzIgZ3R0X29mZnNl dDsKIAkJCXU4ICphZGRyOworCQkJdTMyIG5vZGVfc2l6ZTsKKwkJCXUzMiBub2RlX2NvdW50Owog CQl9IGJ1ZmZlcjsKKwkJc3RydWN0IGxpc3RfaGVhZCBub2RlX2xpc3Q7CisJCXN0cnVjdCB3b3Jr X3N0cnVjdCBmb3J3YXJkX3dvcms7CiAJfSBnZW5fcG11OwogCiAJdm9pZCAoKmVtaXRfcHJvZmls aW5nX2RhdGFbSTkxNV9QUk9GSUxFX01BWF0pCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X29hX3BlcmYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5j CmluZGV4IDM3ZmYwYTkuLjNhZGQ4NjIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfb2FfcGVyZi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfb2FfcGVyZi5j CkBAIC0xMSw2ICsxMSw5IEBACiAjZGVmaW5lIEZSRVFVRU5DWSAyMDAKICNkZWZpbmUgUEVSSU9E IG1heF90KHU2NCwgMTAwMDAsIE5TRUNfUEVSX1NFQyAvIEZSRVFVRU5DWSkKIAorI2RlZmluZSBU U19EQVRBX1NJWkUgc2l6ZW9mKHN0cnVjdCBkcm1faTkxNV90c19kYXRhKQorI2RlZmluZSBDVFhf SU5GT19TSVpFIHNpemVvZihzdHJ1Y3QgZHJtX2k5MTVfdHNfbm9kZV9jdHhfaWQpCisKIHN0YXRp YyB1MzIgaTkxNV9vYV9ldmVudF9wYXJhbm9pZCA9IHRydWU7CiAKIHN0YXRpYyBpbnQgaHN3X3Bl cmZfZm9ybWF0X3NpemVzW10gPSB7CkBAIC00MTQsMTEgKzQxNywxMTMgQEAgc3RhdGljIHZvaWQg Zm9yd2FyZF9vYV9yY3Nfd29ya19mbihzdHJ1Y3Qgd29ya19zdHJ1Y3QgKl9fd29yaykKIAlmb3J3 YXJkX29hX3Jjc19zbmFwc2hvdHMoZGV2X3ByaXYpOwogfQogCitzdGF0aWMgaW50IGk5MTVfZ2Vu X3BtdV93YWl0X2dwdShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJc3Ry dWN0IGk5MTVfZ2VuX3BtdV9ub2RlICpsYXN0X2VudHJ5ID0gTlVMTDsKKwlpbnQgcmV0OworCisJ LyoKKwkgKiBXYWl0IGZvciB0aGUgbGFzdCBzY2hlZHVsZWQgcmVxdWVzdCB0byBjb21wbGV0ZS4g VGhpcyB3b3VsZAorCSAqIGltcGxpY2l0bHkgd2FpdCBmb3IgdGhlIHByaW9yIHN1Ym1pdHRlZCBy ZXF1ZXN0cy4gVGhlIHJlZmNvdW50CisJICogb2YgdGhlIHJlcXVlc3RzIGlzIG5vdCBkZWNyZW1l bnRlZCBoZXJlLgorCSAqLworCXNwaW5fbG9jaygmZGV2X3ByaXYtPmdlbl9wbXUubG9jayk7CisK KwlpZiAoIWxpc3RfZW1wdHkoJmRldl9wcml2LT5nZW5fcG11Lm5vZGVfbGlzdCkpIHsKKwkJbGFz dF9lbnRyeSA9IGxpc3RfbGFzdF9lbnRyeSgmZGV2X3ByaXYtPmdlbl9wbXUubm9kZV9saXN0LAor CQkJc3RydWN0IGk5MTVfZ2VuX3BtdV9ub2RlLCBoZWFkKTsKKwl9CisJc3Bpbl91bmxvY2soJmRl dl9wcml2LT5nZW5fcG11LmxvY2spOworCisJaWYgKCFsYXN0X2VudHJ5KQorCQlyZXR1cm4gMDsK KworCXJldCA9IF9faTkxNV93YWl0X3JlcXVlc3QobGFzdF9lbnRyeS0+cmVxLCBhdG9taWNfcmVh ZCgKKwkJCSZkZXZfcHJpdi0+Z3B1X2Vycm9yLnJlc2V0X2NvdW50ZXIpLAorCQkJdHJ1ZSwgTlVM TCwgTlVMTCk7CisJaWYgKHJldCkgeworCQlEUk1fRVJST1IoImZhaWxlZCB0byB3YWl0XG4iKTsK KwkJcmV0dXJuIHJldDsKKwl9CisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2b2lkIGZvcndhcmRf b25lX2dlbl9wbXVfc2FtcGxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKKwkJ CQlzdHJ1Y3QgaTkxNV9nZW5fcG11X25vZGUgKm5vZGUpCit7CisJc3RydWN0IHBlcmZfc2FtcGxl X2RhdGEgZGF0YTsKKwlzdHJ1Y3QgcGVyZl9ldmVudCAqZXZlbnQgPSBkZXZfcHJpdi0+Z2VuX3Bt dS5leGNsdXNpdmVfZXZlbnQ7CisJaW50IHNuYXBzaG90X3NpemU7CisJdTggKnNuYXBzaG90Owor CXN0cnVjdCBkcm1faTkxNV90c19ub2RlX2N0eF9pZCAqY3R4X2luZm87CisJc3RydWN0IHBlcmZf cmF3X3JlY29yZCByYXc7CisKKwlCVUlMRF9CVUdfT04oVFNfREFUQV9TSVpFICE9IDgpOworCUJV SUxEX0JVR19PTihDVFhfSU5GT19TSVpFICE9IDgpOworCisJc25hcHNob3QgPSBkZXZfcHJpdi0+ Z2VuX3BtdS5idWZmZXIuYWRkciArIG5vZGUtPm9mZnNldDsKKwlzbmFwc2hvdF9zaXplID0gVFNf REFUQV9TSVpFICsgQ1RYX0lORk9fU0laRTsKKworCWN0eF9pbmZvID0gKHN0cnVjdCBkcm1faTkx NV90c19ub2RlX2N0eF9pZCAqKShzbmFwc2hvdCArIFRTX0RBVEFfU0laRSk7CisJY3R4X2luZm8t PmN0eF9pZCA9IG5vZGUtPmN0eF9pZDsKKworCS8qIE5vdGU6IHRoZSByYXcgc2FtcGxlIGNvbnNp c3RzIG9mIGEgdTMyIHNpemUgbWVtYmVyIGFuZCByYXcgZGF0YS4gVGhlCisJICogY29tYmluZWQg c2l6ZSBvZiB0aGVzZSB0d28gZmllbGRzIGlzIHJlcXVpcmVkIHRvIGJlIDggYnl0ZSBhbGlnbmVk LgorCSAqIFRoZSBzaXplIG9mIHJhdyBkYXRhIGZpZWxkIGlzIGFzc3VtZWQgdG8gYmUgOCBieXRl IGFsaWduZWQgYWxyZWFkeS4KKwkgKiBUaGVyZWZvcmUsIGFkZGluZyA0IGJ5dGVzIHRvIHRoZSBy YXcgc2FtcGxlIHNpemUgaGVyZS4KKwkgKi8KKwlCVUlMRF9CVUdfT04oKChzbmFwc2hvdF9zaXpl ICsgNCArIHNpemVvZihyYXcuc2l6ZSkpICUgOCkgIT0gMCk7CisKKwlwZXJmX3NhbXBsZV9kYXRh X2luaXQoJmRhdGEsIDAsIGV2ZW50LT5ody5sYXN0X3BlcmlvZCk7CisJcmF3LnNpemUgPSBzbmFw c2hvdF9zaXplICsgNDsKKwlyYXcuZGF0YSA9IHNuYXBzaG90OworCisJZGF0YS5yYXcgPSAmcmF3 OworCXBlcmZfZXZlbnRfb3ZlcmZsb3coZXZlbnQsICZkYXRhLCAmZGV2X3ByaXYtPmdlbl9wbXUu ZHVtbXlfcmVncyk7Cit9CisKKy8qCisgKiBSb3V0aW5lIHRvIGZvcndhcmQgdGhlIHNhbXBsZXMg dG8gcGVyZi4gVGhpcyBtYXkgYmUgY2FsbGVkIGZyb20gdGhlIGV2ZW50CisgKiBmbHVzaCBhbmQg d29ya2VyIHRocmVhZC4gVGhpcyBmdW5jdGlvbiBtYXkgc2xlZXAsIGhlbmNlIGNhbid0IGJlIGNh bGxlZCBmcm9tCisgKiBhdG9taWMgY29udGV4dHMgZGlyZWN0bHkuCisgKi8KIHN0YXRpYyB2b2lk IGZvcndhcmRfZ2VuX3BtdV9zbmFwc2hvdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQogewotCVdBUk5fT04oIWRldl9wcml2LT5nZW5fcG11LmJ1ZmZlci5hZGRyKTsKKwlzdHJ1 Y3QgaTkxNV9nZW5fcG11X25vZGUgKmVudHJ5LCAqbmV4dDsKKwlMSVNUX0hFQUQoZGVmZXJyZWRf bGlzdF9mcmVlKTsKKwlpbnQgcmV0OwogCi0JLyogVE9ETzogcm91dGluZSBmb3IgZm9yd2FyZGlu ZyBzbmFwc2hvdHMgdG8gdXNlcnNwYWNlICovCisJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZlCisJ CShlbnRyeSwgbmV4dCwgJmRldl9wcml2LT5nZW5fcG11Lm5vZGVfbGlzdCwgaGVhZCkgeworCQlp ZiAoIWk5MTVfZ2VtX3JlcXVlc3RfY29tcGxldGVkKGVudHJ5LT5yZXEsIHRydWUpKQorCQkJYnJl YWs7CisKKwkJZm9yd2FyZF9vbmVfZ2VuX3BtdV9zYW1wbGUoZGV2X3ByaXYsIGVudHJ5KTsKKwor CQlzcGluX2xvY2soJmRldl9wcml2LT5nZW5fcG11LmxvY2spOworCQlsaXN0X21vdmVfdGFpbCgm ZW50cnktPmhlYWQsICZkZWZlcnJlZF9saXN0X2ZyZWUpOworCQlzcGluX3VubG9jaygmZGV2X3By aXYtPmdlbl9wbXUubG9jayk7CisJfQorCisJcmV0ID0gaTkxNV9tdXRleF9sb2NrX2ludGVycnVw dGlibGUoZGV2X3ByaXYtPmRldik7CisJaWYgKHJldCkKKwkJcmV0dXJuOworCXdoaWxlICghbGlz dF9lbXB0eSgmZGVmZXJyZWRfbGlzdF9mcmVlKSkgeworCQllbnRyeSA9IGxpc3RfZmlyc3RfZW50 cnkoJmRlZmVycmVkX2xpc3RfZnJlZSwKKwkJCQkJc3RydWN0IGk5MTVfZ2VuX3BtdV9ub2RlLCBo ZWFkKTsKKwkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShlbnRyeS0+cmVxKTsKKwkJbGlz dF9kZWwoJmVudHJ5LT5oZWFkKTsKKwkJa2ZyZWUoZW50cnkpOworCX0KKwltdXRleF91bmxvY2so JmRldl9wcml2LT5kZXYtPnN0cnVjdF9tdXRleCk7Cit9CisKK3N0YXRpYyB2b2lkIGZvcndhcmRf Z2VuX3BtdV93b3JrX2ZuKHN0cnVjdCB3b3JrX3N0cnVjdCAqX193b3JrKQoreworCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CisJCWNvbnRhaW5lcl9vZihfX3dvcmssIHR5cGVv ZigqZGV2X3ByaXYpLCBnZW5fcG11LmZvcndhcmRfd29yayk7CisKKwlmb3J3YXJkX2dlbl9wbXVf c25hcHNob3RzKGRldl9wcml2KTsKIH0KIAogc3RhdGljIHZvaWQKQEAgLTc1Miw3ICs4NTcsNyBA QCBzdGF0aWMgaW50IGluaXRfZ2VuX3BtdV9idWZmZXIoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50 KQogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9CiAJCWNvbnRhaW5lcl9vZihl dmVudC0+cG11LCB0eXBlb2YoKmRldl9wcml2KSwgZ2VuX3BtdS5wbXUpOwogCXN0cnVjdCBkcm1f aTkxNV9nZW1fb2JqZWN0ICpibzsKLQlpbnQgcmV0OworCWludCByZXQsIG5vZGVfc2l6ZTsKIAog CUJVR19PTihkZXZfcHJpdi0+Z2VuX3BtdS5idWZmZXIub2JqKTsKIApAQCAtNzY0LDYgKzg2OSwx NCBAQCBzdGF0aWMgaW50IGluaXRfZ2VuX3BtdV9idWZmZXIoc3RydWN0IHBlcmZfZXZlbnQgKmV2 ZW50KQogCWRldl9wcml2LT5nZW5fcG11LmJ1ZmZlci5ndHRfb2Zmc2V0ID0KIAkJCQlpOTE1X2dl bV9vYmpfZ2d0dF9vZmZzZXQoYm8pOwogCWRldl9wcml2LT5nZW5fcG11LmJ1ZmZlci5hZGRyID0g dm1hcF9vYV9idWZmZXIoYm8pOworCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+Z2VuX3BtdS5u b2RlX2xpc3QpOworCisJbm9kZV9zaXplID0gVFNfREFUQV9TSVpFICsgQ1RYX0lORk9fU0laRTsK KworCS8qIHNpemUgaGFzIHRvIGJlIGFsaWduZWQgdG8gOCBieXRlcyAqLworCW5vZGVfc2l6ZSA9 IEFMSUdOKG5vZGVfc2l6ZSwgOCk7CisJZGV2X3ByaXYtPmdlbl9wbXUuYnVmZmVyLm5vZGVfc2l6 ZSA9IG5vZGVfc2l6ZTsKKwlkZXZfcHJpdi0+Z2VuX3BtdS5idWZmZXIubm9kZV9jb3VudCA9IGJv LT5iYXNlLnNpemUgLyBub2RlX3NpemU7CiAKIAlEUk1fREVCVUdfRFJJVkVSKCJHZW4gUE1VIEJ1 ZmZlciBpbml0aWFsaXplZCwgdmFkZHIgPSAlcCIsCiAJCQkgZGV2X3ByaXYtPmdlbl9wbXUuYnVm ZmVyLmFkZHIpOwpAQCAtNzc2LDcgKzg4OSw3IEBAIHN0YXRpYyBlbnVtIGhydGltZXJfcmVzdGFy dCBocnRpbWVyX3NhbXBsZV9nZW4oc3RydWN0IGhydGltZXIgKmhydGltZXIpCiAJc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmk5MTUgPQogCQljb250YWluZXJfb2YoaHJ0aW1lciwgdHlwZW9mKCpp OTE1KSwgZ2VuX3BtdS50aW1lcik7CiAKLQlmb3J3YXJkX2dlbl9wbXVfc25hcHNob3RzKGk5MTUp OworCXNjaGVkdWxlX3dvcmsoJmk5MTUtPmdlbl9wbXUuZm9yd2FyZF93b3JrKTsKIAogCWhydGlt ZXJfZm9yd2FyZF9ub3coaHJ0aW1lciwgbnNfdG9fa3RpbWUoUEVSSU9EKSk7CiAJcmV0dXJuIEhS VElNRVJfUkVTVEFSVDsKQEAgLTEzNTMsNyArMTQ2Niw3IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2Vu X2V2ZW50X3N0b3Aoc3RydWN0IHBlcmZfZXZlbnQgKmV2ZW50LCBpbnQgZmxhZ3MpCiAJc3Bpbl91 bmxvY2soJmRldl9wcml2LT5nZW5fcG11LmxvY2spOwogCiAJaHJ0aW1lcl9jYW5jZWwoJmRldl9w cml2LT5nZW5fcG11LnRpbWVyKTsKLQlmb3J3YXJkX2dlbl9wbXVfc25hcHNob3RzKGRldl9wcml2 KTsKKwlzY2hlZHVsZV93b3JrKCZkZXZfcHJpdi0+Z2VuX3BtdS5mb3J3YXJkX3dvcmspOwogCiAJ ZXZlbnQtPmh3LnN0YXRlID0gUEVSRl9IRVNfU1RPUFBFRDsKIH0KQEAgLTEzODQsNiArMTQ5Nywx MSBAQCBzdGF0aWMgaW50IGk5MTVfZ2VuX2V2ZW50X2ZsdXNoKHN0cnVjdCBwZXJmX2V2ZW50ICpl dmVudCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSA9CiAJCWNvbnRhaW5lcl9v ZihldmVudC0+cG11LCB0eXBlb2YoKmk5MTUpLCBnZW5fcG11LnBtdSk7CisJaW50IHJldDsKKwor CXJldCA9IGk5MTVfZ2VuX3BtdV93YWl0X2dwdShpOTE1KTsKKwlpZiAocmV0KQorCQlyZXR1cm4g cmV0OwogCiAJZm9yd2FyZF9nZW5fcG11X3NuYXBzaG90cyhpOTE1KTsKIAlyZXR1cm4gMDsKQEAg LTE1MzUsNiArMTY1Myw3IEBAIHZvaWQgaTkxNV9nZW5fcG11X3JlZ2lzdGVyKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJaHJ0aW1lcl9pbml0KCZpOTE1LT5nZW5fcG11LnRpbWVyLCBDTE9DS19N T05PVE9OSUMsIEhSVElNRVJfTU9ERV9SRUwpOwogCWk5MTUtPmdlbl9wbXUudGltZXIuZnVuY3Rp b24gPSBocnRpbWVyX3NhbXBsZV9nZW47CiAKKwlJTklUX1dPUksoJmk5MTUtPmdlbl9wbXUuZm9y d2FyZF93b3JrLCBmb3J3YXJkX2dlbl9wbXVfd29ya19mbik7CiAJc3Bpbl9sb2NrX2luaXQoJmk5 MTUtPmdlbl9wbXUubG9jayk7CiAKIAlpOTE1LT5nZW5fcG11LnBtdS5jYXBhYmlsaXRpZXMgID0g UEVSRl9QTVVfQ0FQX0lTX0RFVklDRTsKQEAgLTE1NjQsNiArMTY4Myw4IEBAIHZvaWQgaTkxNV9n ZW5fcG11X3VucmVnaXN0ZXIoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAoaTkxNS0+Z2Vu X3BtdS5wbXUuZXZlbnRfaW5pdCA9PSBOVUxMKQogCQlyZXR1cm47CiAKKwljYW5jZWxfd29ya19z eW5jKCZpOTE1LT5nZW5fcG11LmZvcndhcmRfd29yayk7CisKIAlwZXJmX3BtdV91bnJlZ2lzdGVy KCZpOTE1LT5nZW5fcG11LnBtdSk7CiAJaTkxNS0+Z2VuX3BtdS5wbXUuZXZlbnRfaW5pdCA9IE5V TEw7CiB9CmRpZmYgLS1naXQgYS9pbmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggYi9pbmNsdWRl L3VhcGkvZHJtL2k5MTVfZHJtLmgKaW5kZXggYWJlNTgyNi4uNGExOWM5YiAxMDA2NDQKLS0tIGEv aW5jbHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9k cm0uaApAQCAtMTQwLDYgKzE0MCwxNiBAQCBzdHJ1Y3QgZHJtX2k5MTVfb2Ffbm9kZV90YWcgewog CV9fdTMyIHBhZDsKIH07CiAKK3N0cnVjdCBkcm1faTkxNV90c19kYXRhIHsKKwlfX3UzMiB0c19s b3c7CisJX191MzIgdHNfaGlnaDsKK307CisKK3N0cnVjdCBkcm1faTkxNV90c19ub2RlX2N0eF9p ZCB7CisJX191MzIgY3R4X2lkOworCV9fdTMyIHBhZDsKK307CisKIC8qIEVhY2ggcmVnaW9uIGlz IGEgbWluaW11bSBvZiAxNmssIGFuZCB0aGVyZSBhcmUgYXQgbW9zdCAyNTUgb2YgdGhlbS4KICAq LwogI2RlZmluZSBJOTE1X05SX1RFWF9SRUdJT05TIDI1NQkvKiB0YWJsZSBzaXplIDJrIC0gbWF4 aW11bSBkdWUgdG8gdXNlCi0tIAoxLjguNS4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=