From mboxrd@z Thu Jan 1 00:00:00 1970 From: John.C.Harrison@Intel.com Subject: [PATCH v4 30/38] drm/i915: Added scheduler statistic reporting to debugfs Date: Mon, 11 Jan 2016 18:42:59 +0000 Message-ID: <1452537788-32136-31-git-send-email-John.C.Harrison@Intel.com> References: <1448278774-31376-1-git-send-email-John.C.Harrison@Intel.com> <1452537788-32136-1-git-send-email-John.C.Harrison@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 1043E6E517 for ; Mon, 11 Jan 2016 10:43:41 -0800 (PST) In-Reply-To: <1452537788-32136-1-git-send-email-John.C.Harrison@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 RnJvbTogSm9obiBIYXJyaXNvbiA8Sm9obi5DLkhhcnJpc29uQEludGVsLmNvbT4KCkl0IGlzIHVz ZWZ1bCBmb3Iga25vdyB3aGF0IHRoZSBzY2hlZHVsZXIgaXMgZG9pbmcgZm9yIGJvdGggZGVidWdn aW5nCmFuZCBwZXJmb3JtYW5jZSBhbmFseXNpcyBwdXJwb3Nlcy4gVGhpcyBjaGFuZ2UgYWRkcyBh IGJ1bmNoIG9mCmNvdW50ZXJzIGFuZCBzdWNoIHRoYXQga2VlcCB0cmFjayBvZiB2YXJpb3VzIHNj aGVkdWxlciBvcGVyYXRpb25zCihiYXRjaGVzIHN1Ym1pdHRlZCwgY29tcGxldGVkLCBmbHVzaCBy ZXF1ZXN0cywgZXRjLikuIFRoZSBkYXRhIGNhbgp0aGVuIGJlIHJlYWQgaW4gdXNlcmxhbmQgdmlh IHRoZSBkZWJ1Z2ZzIG1lY2hhbmlzbS4KCnYyOiBVcGRhdGVkIHRvIG1hdGNoIGNoYW5nZXMgdG8g c2NoZWR1bGVyIGltcGxlbWVudGF0aW9uLgoKdjM6IFVwZGF0ZWQgZm9yIGNoYW5nZXMgdG8ga2ls bCBjb2RlIGFuZCBmbHVzaCBjb2RlLgoKdjQ6IFJlbW92ZWQgdGhlIGZlbmNlL3N5bmMgY29kZSBh cyB0aGF0IHdpbGwgYmUgcGFydCBvZiBhIHNlcGFyYXRlCnBhdGNoIHNlcmllcy4gV3JhcHBlZCBh IGxvbmcgbGluZSB0byBrZWVwIHRoZSBzdHlsZSBjaGVja2VyIGhhcHB5LgoKRm9yOiBWSVotMTU4 NwpTaWduZWQtb2ZmLWJ5OiBKb2huIEhhcnJpc29uIDxKb2huLkMuSGFycmlzb25ASW50ZWwuY29t PgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jICAgICAgICB8IDczICsr KysrKysrKysrKysrKysrKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fZXhlY2J1ZmZlci5jIHwgIDIgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVs ZXIuYyAgICAgIHwgNzAgKysrKysrKysrKysrKysrKysrKysrKysrKystLQogZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIuaCAgICAgIHwgMzEgKysrKysrKysrKysrKwogNCBmaWxl cyBjaGFuZ2VkLCAxNzEgaW5zZXJ0aW9ucygrKSwgNSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCmluZGV4IDYxMWU2OTEuLjczZDBmOTcgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZGVidWdmcy5jCkBAIC0zNjAyLDYgKzM2MDIsNzggQEAgc3RhdGljIGludCBpOTE1 X2RycnNfc3RhdHVzKHN0cnVjdCBzZXFfZmlsZSAqbSwgdm9pZCAqdW51c2VkKQogCXJldHVybiAw OwogfQogCitzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX2luZm8oc3RydWN0IHNlcV9maWxlICpt LCB2b2lkICp1bnVzZWQpCit7CisJc3RydWN0IGRybV9pbmZvX25vZGUgKm5vZGUgPSAoc3RydWN0 IGRybV9pbmZvX25vZGUgKikgbS0+cHJpdmF0ZTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0g bm9kZS0+bWlub3ItPmRldjsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk ZXYtPmRldl9wcml2YXRlOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlciAgICpzY2hlZHVsZXIgPSBk ZXZfcHJpdi0+c2NoZWR1bGVyOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0cyAqc3RhdHMg PSBzY2hlZHVsZXItPnN0YXRzOworCXN0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0c19ub2RlcyBu b2RlX3N0YXRzW0k5MTVfTlVNX1JJTkdTXTsKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n OworCWNoYXIgICBzdHJbNTAgKiAoSTkxNV9OVU1fUklOR1MgKyAxKV0sIG5hbWVbNTBdLCAqcHRy OworCWludCByZXQsIGksIHI7CisKKwlyZXQgPSBtdXRleF9sb2NrX2ludGVycnVwdGlibGUoJmRl di0+bW9kZV9jb25maWcubXV0ZXgpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKyNkZWZp bmUgUFJJTlRfVkFSKG5hbWUsIGZtdCwgdmFyKQkJCQkJXAorCWRvIHsJCQkJCQkJCVwKKwkJc3By aW50ZihzdHIsICIlLTIycyIsIG5hbWUpOwkJCQlcCisJCXB0ciA9IHN0ciArIHN0cmxlbihzdHIp OwkJCQlcCisJCWZvcl9lYWNoX3JpbmcocmluZywgZGV2X3ByaXYsIHIpIHsJCQlcCisJCQlzcHJp bnRmKHB0ciwgIiAlMTAiIGZtdCwgdmFyKTsJCQlcCisJCQlwdHIgKz0gc3RybGVuKHB0cik7CQkJ CVwKKwkJfQkJCQkJCQlcCisJCXNlcV9wcmludGYobSwgIiVzXG4iLCBzdHIpOwkJCQlcCisJfSB3 aGlsZSAoMCkKKworCVBSSU5UX1ZBUigiUmluZyBuYW1lOiIsICAgICAgICAgICAgICJzIiwgZGV2 X3ByaXYtPnJpbmdbcl0ubmFtZSk7CisJUFJJTlRfVkFSKCIgIFJpbmcgc2Vxbm8iLCAgICAgICAg ICAgImQiLCByaW5nLT5nZXRfc2Vxbm8ocmluZywgZmFsc2UpKTsKKwlzZXFfcHV0YyhtLCAnXG4n KTsKKworCXNlcV9wdXRzKG0sICJCYXRjaCBzdWJtaXNzaW9uczpcbiIpOworCVBSSU5UX1ZBUigi ICBRdWV1ZWQiLCAgICAgICAgICAgICAgICJ1Iiwgc3RhdHNbcl0ucXVldWVkKTsKKwlQUklOVF9W QVIoIiAgU3VibWl0dGVkIiwgICAgICAgICAgICAidSIsIHN0YXRzW3JdLnN1Ym1pdHRlZCk7CisJ UFJJTlRfVkFSKCIgIENvbXBsZXRlZCIsICAgICAgICAgICAgInUiLCBzdGF0c1tyXS5jb21wbGV0 ZWQpOworCVBSSU5UX1ZBUigiICBFeHBpcmVkIiwgICAgICAgICAgICAgICJ1Iiwgc3RhdHNbcl0u ZXhwaXJlZCk7CisJc2VxX3B1dGMobSwgJ1xuJyk7CisKKwlzZXFfcHV0cyhtLCAiRmx1c2ggY291 bnRzOlxuIik7CisJUFJJTlRfVkFSKCIgIEJ5IG9iamVjdCIsICAgICAgICAgICAgInUiLCBzdGF0 c1tyXS5mbHVzaF9vYmopOworCVBSSU5UX1ZBUigiICBCeSByZXF1ZXN0IiwgICAgICAgICAgICJ1 Iiwgc3RhdHNbcl0uZmx1c2hfcmVxKTsKKwlQUklOVF9WQVIoIiAgQnkgc3RhbXAiLCAgICAgICAg ICAgICAidSIsIHN0YXRzW3JdLmZsdXNoX3N0YW1wKTsKKwlQUklOVF9WQVIoIiAgQmxhbmtldCIs ICAgICAgICAgICAgICAidSIsIHN0YXRzW3JdLmZsdXNoX2FsbCk7CisJUFJJTlRfVkFSKCIgIEVu dHJpZXMgYnVtcGVkIiwgICAgICAgInUiLCBzdGF0c1tyXS5mbHVzaF9idW1wKTsKKwlQUklOVF9W QVIoIiAgRW50cmllcyBzdWJtaXR0ZWQiLCAgICAidSIsIHN0YXRzW3JdLmZsdXNoX3N1Ym1pdCk7 CisJc2VxX3B1dGMobSwgJ1xuJyk7CisKKwlzZXFfcHV0cyhtLCAiTWlzY2VsbGFuZW91czpcbiIp OworCVBSSU5UX1ZBUigiICBFeGVjRWFybHkgcmV0cnkiLCAgICAgICJ1Iiwgc3RhdHNbcl0uZXhl Y19lYXJseSk7CisJUFJJTlRfVkFSKCIgIEV4ZWNGaW5hbCByZXF1ZXVlIiwgICAgInUiLCBzdGF0 c1tyXS5leGVjX2FnYWluKTsKKwlQUklOVF9WQVIoIiAgRXhlY0ZpbmFsIGtpbGxlZCIsICAgICAi dSIsIHN0YXRzW3JdLmV4ZWNfZGVhZCk7CisJUFJJTlRfVkFSKCIgIEh1bmcgZmx5aW5nIiwgICAg ICAgICAgInUiLCBzdGF0c1tyXS5raWxsX2ZseWluZyk7CisJUFJJTlRfVkFSKCIgIEh1bmcgcXVl dWVkIiwgICAgICAgICAgInUiLCBzdGF0c1tyXS5raWxsX3F1ZXVlZCk7CisJc2VxX3B1dGMobSwg J1xuJyk7CisKKwlzZXFfcHV0cyhtLCAiUXVldWUgY29udGVudHM6XG4iKTsKKwlmb3JfZWFjaF9y aW5nKHJpbmcsIGRldl9wcml2LCBpKQorCQlpOTE1X3NjaGVkdWxlcl9xdWVyeV9zdGF0cyhyaW5n LCBub2RlX3N0YXRzICsgcmluZy0+aWQpOworCisJZm9yIChpID0gMDsgaSA8IChpOTE1X3Nxc19N QVggKyAxKTsgaSsrKSB7CisJCXNwcmludGYobmFtZSwgIiAgJXMiLCBpOTE1X3NjaGVkdWxlcl9x dWV1ZV9zdGF0dXNfc3RyKGkpKTsKKwkJUFJJTlRfVkFSKG5hbWUsICJkIiwgbm9kZV9zdGF0c1ty XS5jb3VudHNbaV0pOworCX0KKwlzZXFfcHV0YyhtLCAnXG4nKTsKKworI3VuZGVmIFBSSU5UX1ZB UgorCisJbXV0ZXhfdW5sb2NrKCZkZXYtPm1vZGVfY29uZmlnLm11dGV4KTsKKworCXJldHVybiAw OworfQorCiBzdHJ1Y3QgcGlwZV9jcmNfaW5mbyB7CiAJY29uc3QgY2hhciAqbmFtZTsKIAlzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2OwpAQCAtNTU3MCw2ICs1NjQyLDcgQEAgc3RhdGljIGNvbnN0IHN0 cnVjdCBkcm1faW5mb19saXN0IGk5MTVfZGVidWdmc19saXN0W10gPSB7CiAJeyJpOTE1X3NlbWFw aG9yZV9zdGF0dXMiLCBpOTE1X3NlbWFwaG9yZV9zdGF0dXMsIDB9LAogCXsiaTkxNV9zaGFyZWRf ZHBsbHNfaW5mbyIsIGk5MTVfc2hhcmVkX2RwbGxzX2luZm8sIDB9LAogCXsiaTkxNV9kcF9tc3Rf aW5mbyIsIGk5MTVfZHBfbXN0X2luZm8sIDB9LAorCXsiaTkxNV9zY2hlZHVsZXJfaW5mbyIsIGk5 MTVfc2NoZWR1bGVyX2luZm8sIDB9LAogCXsiaTkxNV93YV9yZWdpc3RlcnMiLCBpOTE1X3dhX3Jl Z2lzdGVycywgMH0sCiAJeyJpOTE1X2RkYl9pbmZvIiwgaTkxNV9kZGJfaW5mbywgMH0sCiAJeyJp OTE1X3NzZXVfc3RhdHVzIiwgaTkxNV9zc2V1X3N0YXR1cywgMH0sCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbV9leGVjYnVmZmVyLmMKaW5kZXggNjMzNjQ3OS4uYTc1MmI3ZiAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fZXhlY2J1ZmZlci5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2V4ZWNidWZmZXIuYwpAQCAtMTc0Myw2ICsxNzQz LDggQEAgZXJyOgogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgpOwogCiBwcmVfbXV0 ZXhfZXJyOgorCWRldl9wcml2LT5zY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5leGVjX2Vhcmx5 Kys7CisKIAlyZXR1cm4gcmV0OwogfQogCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NjaGVkdWxlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zY2hlZHVsZXIu YwppbmRleCAyYjRiNzRmLi42NjZlMTQyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X3NjaGVkdWxlci5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1 bGVyLmMKQEAgLTEyMSw2ICsxMjEsOSBAQCBjb25zdCBjaGFyICppOTE1X3NjaGVkdWxlcl9xdWV1 ZV9zdGF0dXNfc3RyKAogCWNhc2UgaTkxNV9zcXNfZGVhZDoKIAlyZXR1cm4gIkRlYWQiOwogCisJ Y2FzZSBpOTE1X3Nxc19NQVg6CisJcmV0dXJuICJJbnZhbGlkIjsKKwogCWRlZmF1bHQ6CiAJYnJl YWs7CiAJfQpAQCAtMjY3LDEyICsyNzAsMTUgQEAgaW50IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2V4 ZWNidWZmZXIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpxZSkKIAlpZiAoaTkx NS5zY2hlZHVsZXJfb3ZlcnJpZGUgJiBpOTE1X3NvX2RpcmVjdF9zdWJtaXQpIHsKIAkJaW50IHJl dDsKIAorCQlzY2hlZHVsZXItPnN0YXRzW3FlLT5wYXJhbXMucmluZy0+aWRdLnF1ZXVlZCsrOwor CiAJCXRyYWNlX2k5MTVfc2NoZWR1bGVyX3F1ZXVlKHFlLT5wYXJhbXMucmluZywgcWUpOwogCiAJ CWludGVsX3JpbmdfcmVzZXJ2ZWRfc3BhY2VfY2FuY2VsKHFlLT5wYXJhbXMucmVxdWVzdC0+cmlu Z2J1Zik7CiAKIAkJc2NoZWR1bGVyLT5mbGFnc1txZS0+cGFyYW1zLnJpbmctPmlkXSB8PSBpOTE1 X3NmX3N1Ym1pdHRpbmc7CiAJCXJldCA9IGRldl9wcml2LT5ndC5leGVjYnVmX2ZpbmFsKCZxZS0+ cGFyYW1zKTsKKwkJc2NoZWR1bGVyLT5zdGF0c1txZS0+cGFyYW1zLnJpbmctPmlkXS5zdWJtaXR0 ZWQrKzsKIAkJc2NoZWR1bGVyLT5mbGFnc1txZS0+cGFyYW1zLnJpbmctPmlkXSAmPSB+aTkxNV9z Zl9zdWJtaXR0aW5nOwogCiAJCS8qCkBAIC0zMDMsNiArMzA5LDggQEAgaW50IGk5MTVfc2NoZWR1 bGVyX3F1ZXVlX2V4ZWNidWZmZXIoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpx ZSkKIAkJaWYgKHFlLT5wYXJhbXMuZGlzcGF0Y2hfZmxhZ3MgJiBJOTE1X0RJU1BBVENIX1NFQ1VS RSkKIAkJCWk5MTVfZ2VtX2V4ZWNidWZmX3JlbGVhc2VfYmF0Y2hfb2JqKHFlLT5wYXJhbXMuYmF0 Y2hfb2JqKTsKIAorCQlzY2hlZHVsZXItPnN0YXRzW3FlLT5wYXJhbXMucmluZy0+aWRdLmV4cGly ZWQrKzsKKwogCQlyZXR1cm4gMDsKIAl9CiAKQEAgLTM4Niw2ICszOTQsOCBAQCBpbnQgaTkxNV9z Y2hlZHVsZXJfcXVldWVfZXhlY2J1ZmZlcihzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50 cnkgKnFlKQogCQlub3RfZmx5aW5nID0gaTkxNV9zY2hlZHVsZXJfY291bnRfZmx5aW5nKHNjaGVk dWxlciwgcmluZykgPAogCQkJCQkJCSBzY2hlZHVsZXItPm1pbl9mbHlpbmc7CiAKKwlzY2hlZHVs ZXItPnN0YXRzW3JpbmctPmlkXS5xdWV1ZWQrKzsKKwogCXRyYWNlX2k5MTVfc2NoZWR1bGVyX3F1 ZXVlKHJpbmcsIG5vZGUpOwogCXRyYWNlX2k5MTVfc2NoZWR1bGVyX25vZGVfc3RhdGVfY2hhbmdl KHJpbmcsIG5vZGUpOwogCkBAIC00OTcsMTMgKzUwNywxNyBAQCBzdGF0aWMgdm9pZCBpOTE1X3Nj aGVkdWxlcl9ub2RlX3JlcXVldWUoc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICpu b2RlKQogICogR2l2ZSB1cCBvbiBhIG5vZGUgY29tcGxldGVseS4gRm9yIGV4YW1wbGUsIGJlY2F1 c2UgaXQgaXMgY2F1c2luZyB0aGUKICAqIHJpbmcgdG8gaGFuZyBvciBpcyB1c2luZyBzb21lIHJl c291cmNlIHRoYXQgbm8gbG9uZ2VyIGV4aXN0cy4KICAqLwotc3RhdGljIHZvaWQgaTkxNV9zY2hl ZHVsZXJfbm9kZV9raWxsKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRyeSAqbm9kZSkK K3N0YXRpYyB2b2lkIGk5MTVfc2NoZWR1bGVyX25vZGVfa2lsbChzdHJ1Y3QgaTkxNV9zY2hlZHVs ZXIgKnNjaGVkdWxlciwKKwkJCQkgICAgIHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1ZV9lbnRy eSAqbm9kZSkKIHsKIAlXQVJOX09OKCFub2RlKTsKIAlXQVJOX09OKEk5MTVfU1FTX0lTX0NPTVBM RVRFKG5vZGUpKTsKIAotCWlmIChJOTE1X1NRU19JU19GTFlJTkcobm9kZSkpCisJaWYgKEk5MTVf U1FTX0lTX0ZMWUlORyhub2RlKSkgewogCQl0cmFjZV9pOTE1X3NjaGVkdWxlcl91bmZseShub2Rl LT5wYXJhbXMucmluZywgbm9kZSk7CisJCXNjaGVkdWxlci0+c3RhdHNbbm9kZS0+cGFyYW1zLnJp bmctPmlkXS5raWxsX2ZseWluZysrOworCX0gZWxzZQorCQlzY2hlZHVsZXItPnN0YXRzW25vZGUt PnBhcmFtcy5yaW5nLT5pZF0ua2lsbF9xdWV1ZWQrKzsKIAogCW5vZGUtPnN0YXR1cyA9IGk5MTVf c3FzX2RlYWQ7CiAJdHJhY2VfaTkxNV9zY2hlZHVsZXJfbm9kZV9zdGF0ZV9jaGFuZ2Uobm9kZS0+ cGFyYW1zLnJpbmcsIG5vZGUpOwpAQCAtNTM2LDEwICs1NTAsMTMgQEAgYm9vbCBpOTE1X3NjaGVk dWxlcl9ub3RpZnlfcmVxdWVzdChzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkKIAlX QVJOX09OKCFJOTE1X1NRU19JU19GTFlJTkcobm9kZSkpOwogCiAJLyogTm9kZSB3YXMgaW4gZmxp Z2h0IHNvIG1hcmsgaXQgYXMgY29tcGxldGUuICovCi0JaWYgKHJlcS0+Y2FuY2VsbGVkKQorCWlm IChyZXEtPmNhbmNlbGxlZCkgewogCQlub2RlLT5zdGF0dXMgPSBpOTE1X3Nxc19kZWFkOwotCWVs c2UKKwkJc2NoZWR1bGVyLT5zdGF0c1tyZXEtPnJpbmctPmlkXS5raWxsX2ZseWluZysrOworCX0g ZWxzZSB7CiAJCW5vZGUtPnN0YXR1cyA9IGk5MTVfc3FzX2NvbXBsZXRlOworCQlzY2hlZHVsZXIt PnN0YXRzW3JlcS0+cmluZy0+aWRdLmNvbXBsZXRlZCsrOworCX0KIAogCXRyYWNlX2k5MTVfc2No ZWR1bGVyX25vZGVfc3RhdGVfY2hhbmdlKHJlcS0+cmluZywgbm9kZSk7CiAKQEAgLTY2OSw2ICs2 ODYsNyBAQCBzdGF0aWMgaW50IGk5MTVfc2NoZWR1bGVyX3JlbW92ZShzdHJ1Y3QgaW50ZWxfZW5n aW5lX2NzICpyaW5nKQogCiAJCWxpc3RfZGVsKCZub2RlLT5saW5rKTsKIAkJbGlzdF9hZGQoJm5v ZGUtPmxpbmssICZyZW1vdmUpOworCQlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5leHBpcmVk Kys7CiAKIAkJLyogU3RyaXAgdGhlIGRlcGVuZGVuY3kgaW5mbyB3aGlsZSB0aGUgbXV0ZXggaXMg c3RpbGwgbG9ja2VkICovCiAJCWk5MTVfc2NoZWR1bGVyX3JlbW92ZV9kZXBlbmRlbnQoc2NoZWR1 bGVyLCBub2RlKTsKQEAgLTkwNyw2ICs5MjUsMzYgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxl cl9kdW1wX2xvY2tlZChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCXJldHVybiAwOwog fQogCitpbnQgaTkxNV9zY2hlZHVsZXJfcXVlcnlfc3RhdHMoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqcmluZywKKwkJCSAgICAgICBzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfc3RhdHNfbm9kZXMgKnN0 YXRzKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHJpbmctPmRldi0+ ZGV2X3ByaXZhdGU7CisJc3RydWN0IGk5MTVfc2NoZWR1bGVyICAgKnNjaGVkdWxlciA9IGRldl9w cml2LT5zY2hlZHVsZXI7CisJc3RydWN0IGk5MTVfc2NoZWR1bGVyX3F1ZXVlX2VudHJ5ICAqbm9k ZTsKKwl1bnNpZ25lZCBsb25nICAgZmxhZ3M7CisKKwltZW1zZXQoc3RhdHMsIDB4MDAsIHNpemVv Zigqc3RhdHMpKTsKKworCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdz KTsKKworCWxpc3RfZm9yX2VhY2hfZW50cnkobm9kZSwgJnNjaGVkdWxlci0+bm9kZV9xdWV1ZVty aW5nLT5pZF0sIGxpbmspIHsKKwkJaWYgKG5vZGUtPnN0YXR1cyA+PSBpOTE1X3Nxc19NQVgpIHsK KwkJCURSTV9ERUJVR19EUklWRVIoIkludmFsaWQgbm9kZSBzdGF0ZTogJWQhIFt1bmlxID0gJWQs IHNlcW5vID0gJWRdXG4iLAorCQkJCQkgbm9kZS0+c3RhdHVzLCBub2RlLT5wYXJhbXMucmVxdWVz dC0+dW5pcSwKKwkJCQkJIG5vZGUtPnBhcmFtcy5yZXF1ZXN0LT5zZXFubyk7CisKKwkJCXN0YXRz LT5jb3VudHNbaTkxNV9zcXNfTUFYXSsrOworCQkJY29udGludWU7CisJCX0KKworCQlzdGF0cy0+ Y291bnRzW25vZGUtPnN0YXR1c10rKzsKKwl9CisKKwlzcGluX3VubG9ja19pcnFyZXN0b3JlKCZz Y2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKKworCXJldHVybiAwOworfQorCiBpbnQgaTkxNV9zY2hl ZHVsZXJfZmx1c2hfc3RhbXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJCSAgICAg ICB1bnNpZ25lZCBsb25nIHRhcmdldCwKIAkJCSAgICAgICBib29sIGlzX2xvY2tlZCkKQEAgLTkz NSw2ICs5ODMsNyBAQCBpbnQgaTkxNV9zY2hlZHVsZXJfZmx1c2hfc3RhbXAoc3RydWN0IGludGVs X2VuZ2luZV9jcyAqcmluZywKIAl9CiAKIAlzcGluX2xvY2tfaXJxc2F2ZSgmc2NoZWR1bGVyLT5s b2NrLCBmbGFncyk7CisJc2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uZmx1c2hfc3RhbXArKzsK IAlpOTE1X3NjaGVkdWxlcl9wcmlvcml0eV9idW1wX2NsZWFyKHNjaGVkdWxlcik7CiAJbGlzdF9m b3JfZWFjaF9lbnRyeShub2RlLCAmc2NoZWR1bGVyLT5ub2RlX3F1ZXVlW3JpbmctPmlkXSwgbGlu aykgewogCQlpZiAoIUk5MTVfU1FTX0lTX1FVRVVFRChub2RlKSkKQEAgLTk0NSwxMiArOTk0LDE1 IEBAIGludCBpOTE1X3NjaGVkdWxlcl9mbHVzaF9zdGFtcChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLAogCiAJCWZsdXNoX2NvdW50ID0gaTkxNV9zY2hlZHVsZXJfcHJpb3JpdHlfYnVtcChz Y2hlZHVsZXIsCiAJCQkJCW5vZGUsIHNjaGVkdWxlci0+cHJpb3JpdHlfbGV2ZWxfbWF4KTsKKwkJ c2NoZWR1bGVyLT5zdGF0c1tyaW5nLT5pZF0uZmx1c2hfYnVtcCArPSBmbHVzaF9jb3VudDsKIAl9 CiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWR1bGVyLT5sb2NrLCBmbGFncyk7CiAKIAlp ZiAoZmx1c2hfY291bnQpIHsKIAkJRFJNX0RFQlVHX0RSSVZFUigiPCVzPiBCdW1wZWQgJWQgZW50 cmllc1xuIiwgcmluZy0+bmFtZSwgZmx1c2hfY291bnQpOwogCQlmbHVzaF9jb3VudCA9IGk5MTVf c2NoZWR1bGVyX3N1Ym1pdF9tYXhfcHJpb3JpdHkocmluZywgaXNfbG9ja2VkKTsKKwkJaWYgKGZs dXNoX2NvdW50ID4gMCkKKwkJCXNjaGVkdWxlci0+c3RhdHNbcmluZy0+aWRdLmZsdXNoX3N1Ym1p dCArPSBmbHVzaF9jb3VudDsKIAl9CiAKIAlyZXR1cm4gZmx1c2hfY291bnQ7CkBAIC05NzcsNiAr MTAyOSw4IEBAIGludCBpOTE1X3NjaGVkdWxlcl9mbHVzaChzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nLCBib29sIGlzX2xvY2tlZCkKIAogCVdBUk5fT04oaXNfbG9ja2VkICYmIChzY2hlZHVs ZXItPmZsYWdzW3JpbmctPmlkXSAmIGk5MTVfc2Zfc3VibWl0dGluZykpOwogCisJc2NoZWR1bGVy LT5zdGF0c1tyaW5nLT5pZF0uZmx1c2hfYWxsKys7CisKIAlkbyB7CiAJCWZvdW5kID0gZmFsc2U7 CiAJCXNwaW5fbG9ja19pcnFzYXZlKCZzY2hlZHVsZXItPmxvY2ssIGZsYWdzKTsKQEAgLTk5MSw2 ICsxMDQ1LDcgQEAgaW50IGk5MTVfc2NoZWR1bGVyX2ZsdXNoKHN0cnVjdCBpbnRlbF9lbmdpbmVf Y3MgKnJpbmcsIGJvb2wgaXNfbG9ja2VkKQogCiAJCWlmIChmb3VuZCkgewogCQkJcmV0ID0gaTkx NV9zY2hlZHVsZXJfc3VibWl0KHJpbmcsIGlzX2xvY2tlZCk7CisJCQlzY2hlZHVsZXItPnN0YXRz W3JpbmctPmlkXS5mbHVzaF9zdWJtaXQrKzsKIAkJCWlmIChyZXQgPCAwKQogCQkJCXJldHVybiBy ZXQ7CiAKQEAgLTEyMTQsNiArMTI2OSw4IEBAIHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfc3Vi bWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgd2FzX2xvY2tlZCkKIAkJICov CiAJCWk5MTVfc2NoZWR1bGVyX2ZseV9ub2RlKG5vZGUpOwogCisJCXNjaGVkdWxlci0+c3RhdHNb cmluZy0+aWRdLnN1Ym1pdHRlZCsrOworCiAJCXNjaGVkdWxlci0+ZmxhZ3NbcmluZy0+aWRdIHw9 IGk5MTVfc2Zfc3VibWl0dGluZzsKIAkJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmc2NoZWR1bGVy LT5sb2NrLCBmbGFncyk7CiAJCXJldCA9IGRldl9wcml2LT5ndC5leGVjYnVmX2ZpbmFsKCZub2Rl LT5wYXJhbXMpOwpAQCAtMTIzNCw2ICsxMjkxLDcgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxl cl9zdWJtaXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgYm9vbCB3YXNfbG9ja2VkKQog CQkJY2FzZSBFTk9FTlQ6CiAJCQkJLyogRmF0YWwgZXJyb3JzLiBLaWxsIHRoZSBub2RlLiAqLwog CQkJCXJlcXVldWUgPSAtMTsKKwkJCQlzY2hlZHVsZXItPnN0YXRzW3JpbmctPmlkXS5leGVjX2Rl YWQrKzsKIAkJCWJyZWFrOwogCiAJCQljYXNlIEVBR0FJTjoKQEAgLTEyNDMsNiArMTMwMSw3IEBA IHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfc3VibWl0KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3Mg KnJpbmcsIGJvb2wgd2FzX2xvY2tlZCkKIAkJCWNhc2UgRVJFU1RBUlRTWVM6CiAJCQljYXNlIEVJ TlRSOgogCQkJCS8qIFN1cHBvc2VkbHkgcmVjb3ZlcmFibGUgZXJyb3JzLiAqLworCQkJCXNjaGVk dWxlci0+c3RhdHNbcmluZy0+aWRdLmV4ZWNfYWdhaW4rKzsKIAkJCWJyZWFrOwogCiAJCQlkZWZh dWx0OgpAQCAtMTI1Miw2ICsxMzExLDcgQEAgc3RhdGljIGludCBpOTE1X3NjaGVkdWxlcl9zdWJt aXQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywgYm9vbCB3YXNfbG9ja2VkKQogCQkJCSAq LwogCQkJCURSTV9ERUJVR19EUklWRVIoIjwlcz4gR290IHVuZXhwZWN0ZWQgZXJyb3IgZnJvbSBl eGVjZmluYWwoKTogJWQhXG4iLAogCQkJCQkJIHJpbmctPm5hbWUsIHJldCk7CisJCQkJc2NoZWR1 bGVyLT5zdGF0c1tyaW5nLT5pZF0uZXhlY19hZ2FpbisrOwogCQkJYnJlYWs7CiAJCQl9CiAKQEAg LTEyNzEsNyArMTMzMSw3IEBAIHN0YXRpYyBpbnQgaTkxNV9zY2hlZHVsZXJfc3VibWl0KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsIGJvb2wgd2FzX2xvY2tlZCkKIAkJCQkgKi8KIAkJCQli cmVhazsKIAkJCX0gZWxzZSBpZiAocmVxdWV1ZSA9PSAtMSkKLQkJCQlpOTE1X3NjaGVkdWxlcl9u b2RlX2tpbGwobm9kZSk7CisJCQkJaTkxNV9zY2hlZHVsZXJfbm9kZV9raWxsKHNjaGVkdWxlciwg bm9kZSk7CiAJCX0KIAogCQkvKiBLZWVwIGxhdW5jaGluZyB1bnRpbCB0aGUgc2t5IGlzIHN1ZmZp Y2llbnRseSBmdWxsLiAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z Y2hlZHVsZXIuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2NoZWR1bGVyLmgKaW5kZXgg OTkwZjA5NC4uZWZmNWQ4ZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9z Y2hlZHVsZXIuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NjaGVkdWxlci5oCkBA IC03MCw2ICs3MCwzMiBAQCBzdHJ1Y3QgaTkxNV9zY2hlZHVsZXJfcXVldWVfZW50cnkgewogfTsK IGNvbnN0IGNoYXIgKmk5MTVfcWVfc3RhdGVfc3RyKHN0cnVjdCBpOTE1X3NjaGVkdWxlcl9xdWV1 ZV9lbnRyeSAqbm9kZSk7CiAKK3N0cnVjdCBpOTE1X3NjaGVkdWxlcl9zdGF0c19ub2RlcyB7CisJ dWludDMyX3QJY291bnRzW2k5MTVfc3FzX01BWCArIDFdOworfTsKKworc3RydWN0IGk5MTVfc2No ZWR1bGVyX3N0YXRzIHsKKwkvKiBCYXRjaCBidWZmZXIgY291bnRzOiAqLworCXVpbnQzMl90ICAg ICAgICAgICAgcXVldWVkOworCXVpbnQzMl90ICAgICAgICAgICAgc3VibWl0dGVkOworCXVpbnQz Ml90ICAgICAgICAgICAgY29tcGxldGVkOworCXVpbnQzMl90ICAgICAgICAgICAgZXhwaXJlZDsK KworCS8qIE90aGVyIHN0dWZmOiAqLworCXVpbnQzMl90ICAgICAgICAgICAgZmx1c2hfb2JqOwor CXVpbnQzMl90ICAgICAgICAgICAgZmx1c2hfcmVxOworCXVpbnQzMl90ICAgICAgICAgICAgZmx1 c2hfc3RhbXA7CisJdWludDMyX3QgICAgICAgICAgICBmbHVzaF9hbGw7CisJdWludDMyX3QgICAg ICAgICAgICBmbHVzaF9idW1wOworCXVpbnQzMl90ICAgICAgICAgICAgZmx1c2hfc3VibWl0Owor CisJdWludDMyX3QgICAgICAgICAgICBleGVjX2Vhcmx5OworCXVpbnQzMl90ICAgICAgICAgICAg ZXhlY19hZ2FpbjsKKwl1aW50MzJfdCAgICAgICAgICAgIGV4ZWNfZGVhZDsKKwl1aW50MzJfdCAg ICAgICAgICAgIGtpbGxfZmx5aW5nOworCXVpbnQzMl90ICAgICAgICAgICAga2lsbF9xdWV1ZWQ7 Cit9OworCiBzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgewogCXN0cnVjdCBsaXN0X2hlYWQgICAgbm9k ZV9xdWV1ZVtJOTE1X05VTV9SSU5HU107CiAJdWludDMyX3QgICAgICAgICAgICBmbGFnc1tJOTE1 X05VTV9SSU5HU107CkBAIC04MSw2ICsxMDcsOSBAQCBzdHJ1Y3QgaTkxNV9zY2hlZHVsZXIgewog CWludDMyX3QgICAgICAgICAgICAgcHJpb3JpdHlfbGV2ZWxfcHJlZW1wdDsKIAl1aW50MzJfdCAg ICAgICAgICAgIG1pbl9mbHlpbmc7CiAJdWludDMyX3QgICAgICAgICAgICBmaWxlX3F1ZXVlX21h eDsKKworCS8qIFN0YXRpc3RpY3M6ICovCisJc3RydWN0IGk5MTVfc2NoZWR1bGVyX3N0YXRzICAg ICBzdGF0c1tJOTE1X05VTV9SSU5HU107CiB9OwogCiAvKiBGbGFnIGJpdHMgZm9yIGk5MTVfc2No ZWR1bGVyOjpmbGFncyAqLwpAQCAtMTE5LDYgKzE0OCw4IEBAIGludCAgICAgICAgIGk5MTVfc2No ZWR1bGVyX2R1bXAoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIGludCAgICAgICAgIGk5 MTVfc2NoZWR1bGVyX2R1bXBfYWxsKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGNvbnN0IGNoYXIg Km1zZyk7CiBib29sICAgICAgICBpOTE1X3NjaGVkdWxlcl9pc19yZXF1ZXN0X3RyYWNrZWQoc3Ry dWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEsCiAJCQkJCSAgICAgIGJvb2wgKmNvbXBsZXRl ZCwgYm9vbCAqYnVzeSk7CitpbnQgICAgICAgICBpOTE1X3NjaGVkdWxlcl9xdWVyeV9zdGF0cyhz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAorCQkJCSAgICAgICBzdHJ1Y3QgaTkxNV9zY2hl ZHVsZXJfc3RhdHNfbm9kZXMgKnN0YXRzKTsKIGJvb2wgICAgICAgIGk5MTVfc2NoZWR1bGVyX2Zp bGVfcXVldWVfaXNfZnVsbChzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwogCiAjZW5kaWYgIC8qIF9J OTE1X1NDSEVEVUxFUl9IXyAqLwotLSAKMS45LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==