From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, UNWANTED_LANGUAGE_BODY,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 8A0D2C433EB for ; Mon, 1 Jun 2020 07:25:31 +0000 (UTC) Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 6993A2076B for ; Mon, 1 Jun 2020 07:25:31 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 6993A2076B Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=chris-wilson.co.uk Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=intel-gfx-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F61C6E157; Mon, 1 Jun 2020 07:25:11 +0000 (UTC) Received: from fireflyinternet.com (mail.fireflyinternet.com [109.228.58.192]) by gabe.freedesktop.org (Postfix) with ESMTPS id 3B43189E50 for ; Mon, 1 Jun 2020 07:25:03 +0000 (UTC) X-Default-Received-SPF: pass (skip=forwardok (res=PASS)) x-ip-name=78.156.65.138; Received: from build.alporthouse.com (unverified [78.156.65.138]) by fireflyinternet.com (Firefly Internet (M1)) with ESMTP id 21356611-1500050 for multiple; Mon, 01 Jun 2020 08:24:53 +0100 From: Chris Wilson To: intel-gfx@lists.freedesktop.org Date: Mon, 1 Jun 2020 08:24:21 +0100 Message-Id: <20200601072446.19548-11-chris@chris-wilson.co.uk> X-Mailer: git-send-email 2.20.1 In-Reply-To: <20200601072446.19548-1-chris@chris-wilson.co.uk> References: <20200601072446.19548-1-chris@chris-wilson.co.uk> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH 11/36] drm/i915/gt: Enable busy-stats for ring-scheduler X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Chris Wilson Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" Q291cGxlIHVwIHRoZSBjb250ZXh0IGluL291dCBhY2NvdW50aW5nIHRvIHJlY29yZCBob3cgbG9u ZyBlYWNoIGVuZ2luZQppcyBidXN5IGhhbmRsaW5nIHJlcXVlc3RzLiBUaGlzIGlzIGV4cG9zZWQg dG8gdXNlcnNwYWNlIGZvciBtb3JlIGFjY3VyYXRlCm1lYXN1cmVtZW50cywgYW5kIGFsc28gZW5h YmxlcyBvdXIgc29mdC1ycHMgdGltZXIuCgpTaWduZWQtb2ZmLWJ5OiBDaHJpcyBXaWxzb24gPGNo cmlzQGNocmlzLXdpbHNvbi5jby51az4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9lbmdpbmVfc3RhdHMuaCAgfCA0OSArKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfbHJjLmMgICAgICAgICAgIHwgMzQgKy0tLS0tLS0KIC4uLi9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmluZ19zY2hlZHVsZXIuYyAgICB8ICA0ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jICB8IDg2ICsrKysrKysrKysrKysrKysrKysKIGRyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3Jwcy5jICAgICAgICB8ICA1ICsrCiA1IGZpbGVz IGNoYW5nZWQsIDE0NSBpbnNlcnRpb25zKCspLCAzMyBkZWxldGlvbnMoLSkKIGNyZWF0ZSBtb2Rl IDEwMDY0NCBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3RhdHMuaAoKZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9zdGF0cy5oIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3N0YXRzLmgKbmV3IGZpbGUgbW9k ZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi41ODQ5MWVhZTM0ODIKLS0tIC9kZXYvbnVsbAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfc3RhdHMuaApAQCAtMCww ICsxLDQ5IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogQ29w eXJpZ2h0IMKpIDIwMjAgSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaWZuZGVmIF9fSU5URUxf RU5HSU5FX1NUQVRTX0hfXworI2RlZmluZSBfX0lOVEVMX0VOR0lORV9TVEFUU19IX18KKworI2lu Y2x1ZGUgPGxpbnV4L2F0b21pYy5oPgorI2luY2x1ZGUgPGxpbnV4L2t0aW1lLmg+CisjaW5jbHVk ZSA8bGludXgvc2VxbG9jay5oPgorCisjaW5jbHVkZSAiaTkxNV9nZW0uaCIgLyogR0VNX0JVR19P TiAqLworI2luY2x1ZGUgImludGVsX2VuZ2luZS5oIgorCitzdGF0aWMgaW5saW5lIHZvaWQgaW50 ZWxfZW5naW5lX2NvbnRleHRfaW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorewor CXVuc2lnbmVkIGxvbmcgZmxhZ3M7CisKKwlpZiAoYXRvbWljX2FkZF91bmxlc3MoJmVuZ2luZS0+ c3RhdHMuYWN0aXZlLCAxLCAwKSkKKwkJcmV0dXJuOworCisJd3JpdGVfc2VxbG9ja19pcnFzYXZl KCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKKwlpZiAoIWF0b21pY19hZGRfdW5sZXNzKCZl bmdpbmUtPnN0YXRzLmFjdGl2ZSwgMSwgMCkpIHsKKwkJZW5naW5lLT5zdGF0cy5zdGFydCA9IGt0 aW1lX2dldCgpOworCQlhdG9taWNfaW5jKCZlbmdpbmUtPnN0YXRzLmFjdGl2ZSk7CisJfQorCXdy aXRlX3NlcXVubG9ja19pcnFyZXN0b3JlKCZlbmdpbmUtPnN0YXRzLmxvY2ssIGZsYWdzKTsKK30K Kworc3RhdGljIGlubGluZSB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0X291dChzdHJ1Y3QgaW50 ZWxfZW5naW5lX2NzICplbmdpbmUpCit7CisJdW5zaWduZWQgbG9uZyBmbGFnczsKKworCUdFTV9C VUdfT04oIWF0b21pY19yZWFkKCZlbmdpbmUtPnN0YXRzLmFjdGl2ZSkpOworCisJaWYgKGF0b21p Y19hZGRfdW5sZXNzKCZlbmdpbmUtPnN0YXRzLmFjdGl2ZSwgLTEsIDEpKQorCQlyZXR1cm47CisK Kwl3cml0ZV9zZXFsb2NrX2lycXNhdmUoJmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOworCWlm IChhdG9taWNfZGVjX2FuZF90ZXN0KCZlbmdpbmUtPnN0YXRzLmFjdGl2ZSkpIHsKKwkJZW5naW5l LT5zdGF0cy50b3RhbCA9CisJCQlrdGltZV9hZGQoZW5naW5lLT5zdGF0cy50b3RhbCwKKwkJCQkg IGt0aW1lX3N1YihrdGltZV9nZXQoKSwgZW5naW5lLT5zdGF0cy5zdGFydCkpOworCX0KKwl3cml0 ZV9zZXF1bmxvY2tfaXJxcmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Cit9CisK KyNlbmRpZiAvKiBfX0lOVEVMX0VOR0lORV9TVEFUU19IX18gKi8KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfbHJjLmMKaW5kZXggNmZjMDk2NmI3NWZmLi4xM2VmNGY1OGNiMDggMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX2xyYy5jCkBAIC0xMzksNiArMTM5LDcgQEAKICNpbmNsdWRlICJpOTE1 X3ZncHUuaCIKICNpbmNsdWRlICJpbnRlbF9jb250ZXh0LmgiCiAjaW5jbHVkZSAiaW50ZWxfZW5n aW5lX3BtLmgiCisjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3N0YXRzLmgiCiAjaW5jbHVkZSAiaW50 ZWxfZ3QuaCIKICNpbmNsdWRlICJpbnRlbF9ndF9wbS5oIgogI2luY2x1ZGUgImludGVsX2d0X3Jl cXVlc3RzLmgiCkBAIC0xMTg3LDM5ICsxMTg4LDYgQEAgZXhlY2xpc3RzX2NvbnRleHRfc3RhdHVz X2NoYW5nZShzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycSwgdW5zaWduZWQgbG9uZyBzdGF0dXMpCiAJ CQkJICAgc3RhdHVzLCBycSk7CiB9CiAKLXN0YXRpYyB2b2lkIGludGVsX2VuZ2luZV9jb250ZXh0 X2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKLXsKLQl1bnNpZ25lZCBsb25nIGZs YWdzOwotCi0JaWYgKGF0b21pY19hZGRfdW5sZXNzKCZlbmdpbmUtPnN0YXRzLmFjdGl2ZSwgMSwg MCkpCi0JCXJldHVybjsKLQotCXdyaXRlX3NlcWxvY2tfaXJxc2F2ZSgmZW5naW5lLT5zdGF0cy5s b2NrLCBmbGFncyk7Ci0JaWYgKCFhdG9taWNfYWRkX3VubGVzcygmZW5naW5lLT5zdGF0cy5hY3Rp dmUsIDEsIDApKSB7Ci0JCWVuZ2luZS0+c3RhdHMuc3RhcnQgPSBrdGltZV9nZXQoKTsKLQkJYXRv bWljX2luYygmZW5naW5lLT5zdGF0cy5hY3RpdmUpOwotCX0KLQl3cml0ZV9zZXF1bmxvY2tfaXJx cmVzdG9yZSgmZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Ci19Ci0KLXN0YXRpYyB2b2lkIGlu dGVsX2VuZ2luZV9jb250ZXh0X291dChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCi17 Ci0JdW5zaWduZWQgbG9uZyBmbGFnczsKLQotCUdFTV9CVUdfT04oIWF0b21pY19yZWFkKCZlbmdp bmUtPnN0YXRzLmFjdGl2ZSkpOwotCi0JaWYgKGF0b21pY19hZGRfdW5sZXNzKCZlbmdpbmUtPnN0 YXRzLmFjdGl2ZSwgLTEsIDEpKQotCQlyZXR1cm47Ci0KLQl3cml0ZV9zZXFsb2NrX2lycXNhdmUo JmVuZ2luZS0+c3RhdHMubG9jaywgZmxhZ3MpOwotCWlmIChhdG9taWNfZGVjX2FuZF90ZXN0KCZl bmdpbmUtPnN0YXRzLmFjdGl2ZSkpIHsKLQkJZW5naW5lLT5zdGF0cy50b3RhbCA9Ci0JCQlrdGlt ZV9hZGQoZW5naW5lLT5zdGF0cy50b3RhbCwKLQkJCQkgIGt0aW1lX3N1YihrdGltZV9nZXQoKSwg ZW5naW5lLT5zdGF0cy5zdGFydCkpOwotCX0KLQl3cml0ZV9zZXF1bmxvY2tfaXJxcmVzdG9yZSgm ZW5naW5lLT5zdGF0cy5sb2NrLCBmbGFncyk7Ci19Ci0KIHN0YXRpYyB2b2lkCiBleGVjbGlzdHNf Y2hlY2tfY29udGV4dChjb25zdCBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2UsCiAJCQljb25zdCBz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9yaW5nX3NjaGVkdWxlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfcmluZ19zY2hlZHVsZXIuYwppbmRleCBjOGNkNDM1ZDFjNTEuLmFhZmY1NTQ4NjVi MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmluZ19zY2hlZHVs ZXIuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yaW5nX3NjaGVkdWxlci5j CkBAIC05LDYgKzksNyBAQAogCiAjaW5jbHVkZSAiaTkxNV9kcnYuaCIKICNpbmNsdWRlICJpbnRl bF9jb250ZXh0LmgiCisjaW5jbHVkZSAiaW50ZWxfZW5naW5lX3N0YXRzLmgiCiAjaW5jbHVkZSAi aW50ZWxfZ3QuaCIKICNpbmNsdWRlICJpbnRlbF9ndF9wbS5oIgogI2luY2x1ZGUgImludGVsX2d0 X3JlcXVlc3RzLmgiCkBAIC01OSw2ICs2MCw3IEBAIHN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0 ICoKIHNjaGVkdWxlX2luKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5 MTVfcmVxdWVzdCAqcnEpCiB7CiAJX19pbnRlbF9ndF9wbV9nZXQoZW5naW5lLT5ndCk7CisJaW50 ZWxfZW5naW5lX2NvbnRleHRfaW4oZW5naW5lKTsKIAlyZXR1cm4gaTkxNV9yZXF1ZXN0X2dldChy cSk7CiB9CiAKQEAgLTcxLDYgKzczLDcgQEAgc2NoZWR1bGVfb3V0KHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZSwgc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEpCiAJCWludGVsX2VuZ2luZV9h ZGRfcmV0aXJlKGVuZ2luZSwgY2UtPnRpbWVsaW5lKTsKIAogCWk5MTVfcmVxdWVzdF9wdXQocnEp OworCWludGVsX2VuZ2luZV9jb250ZXh0X291dChlbmdpbmUpOwogCWludGVsX2d0X3BtX3B1dF9h c3luYyhlbmdpbmUtPmd0KTsKIH0KIApAQCAtNzQ3LDYgKzc1MCw3IEBAIGludCBpbnRlbF9yaW5n X3NjaGVkdWxlcl9zZXR1cChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiAJZW5naW5l LT5sZWdhY3kucmluZyA9IHJpbmc7CiAKIAllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX05F RURTX0JSRUFEQ1JVTUJfVEFTS0xFVDsKKwllbmdpbmUtPmZsYWdzIHw9IEk5MTVfRU5HSU5FX1NV UFBPUlRTX1NUQVRTOwogCiAJLyogRmluYWxseSwgdGFrZSBvd25lcnNoaXAgYW5kIHJlc3BvbnNp YmlsaXR5IGZvciBjbGVhbnVwISAqLwogCWVuZ2luZS0+cmVsZWFzZSA9IHJpbmdfcmVsZWFzZTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5j IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfZW5naW5lX3BtLmMKaW5kZXggY2Jm NmIwNzM1MjcyLi41ZTQ4Yzc1NzFiNGQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X2VuZ2luZV9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3Nl bGZ0ZXN0X2VuZ2luZV9wbS5jCkBAIC03LDYgKzcsOTEgQEAKICNpbmNsdWRlICJpOTE1X3NlbGZ0 ZXN0LmgiCiAjaW5jbHVkZSAic2VsZnRlc3RfZW5naW5lLmgiCiAjaW5jbHVkZSAic2VsZnRlc3Rz L2lndF9hdG9taWMuaCIKKyNpbmNsdWRlICJzZWxmdGVzdHMvaWd0X2ZsdXNoX3Rlc3QuaCIKKyNp bmNsdWRlICJzZWxmdGVzdHMvaWd0X3NwaW5uZXIuaCIKKworc3RhdGljIGludCBsaXZlX2VuZ2lu ZV9idXN5X3N0YXRzKHZvaWQgKmFyZykKK3sKKwlzdHJ1Y3QgaW50ZWxfZ3QgKmd0ID0gYXJnOwor CXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKKwllbnVtIGludGVsX2VuZ2luZV9pZCBp ZDsKKwlzdHJ1Y3QgaWd0X3NwaW5uZXIgc3BpbjsKKwlpbnQgZXJyOworCisJLyoKKwkgKiBDaGVj ayB0aGF0IGlmIGFuIGVuZ2luZSBzdXBwb3J0cyBidXN5LXN0YXRzLCB0aGV5IHRlbGwgdGhlIHRy dXRoLgorCSAqLworCisJaWYgKGlndF9zcGlubmVyX2luaXQoJnNwaW4sIGd0KSkKKwkJcmV0dXJu IC1FTk9NRU07CisKKwlHRU1fQlVHX09OKGludGVsX2d0X3BtX2lzX2F3YWtlKGd0KSk7CisJZm9y X2VhY2hfZW5naW5lKGVuZ2luZSwgZ3QsIGlkKSB7CisJCXN0cnVjdCBpOTE1X3JlcXVlc3QgKnJx OworCQlrdGltZV90IGR0LCBkZTsKKworCQlpZiAoIWludGVsX2VuZ2luZV9zdXBwb3J0c19zdGF0 cyhlbmdpbmUpKQorCQkJY29udGludWU7CisKKwkJaWYgKCFpbnRlbF9lbmdpbmVfY2FuX3N0b3Jl X2R3b3JkKGVuZ2luZSkpCisJCQljb250aW51ZTsKKworCQlpZiAoaW50ZWxfZ3RfcG1fd2FpdF9m b3JfaWRsZShndCkpIHsKKwkJCWVyciA9IC1FQlVTWTsKKwkJCWJyZWFrOworCQl9CisKKwkJZHQg PSBrdGltZV9nZXQoKTsKKwkJZGUgPSBpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShlbmdpbmUp OworCQl1c2xlZXBfcmFuZ2UoMTAwLCAyMDApOworCQlkdCA9IGt0aW1lX3N1YihrdGltZV9nZXQo KSwgZHQpOworCQlkZSA9IGt0aW1lX3N1YihpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShlbmdp bmUpLCBkZSk7CisJCWlmIChkZSA+IDEwKSB7CisJCQlwcl9lcnIoIiVzOiByZXBvcnRlZCAlbGxk bnMgWyVkJSVdIGJ1c3luZXNzIHdoaWxlIHNsZWVwaW5nIFtmb3IgJWxsZG5zXVxuIiwKKwkJCSAg ICAgICBlbmdpbmUtPm5hbWUsCisJCQkgICAgICAgZGUsIChpbnQpZGl2NjRfdTY0KDEwMCAqIGRl LCBkdCksIGR0KTsKKwkJCWVyciA9IC1FSU5WQUw7CisJCQlicmVhazsKKwkJfQorCisJCXJxID0g aWd0X3NwaW5uZXJfY3JlYXRlX3JlcXVlc3QoJnNwaW4sCisJCQkJCQllbmdpbmUtPmtlcm5lbF9j b250ZXh0LAorCQkJCQkJTUlfTk9PUCk7CisJCWlmIChJU19FUlIocnEpKSB7CisJCQllcnIgPSBQ VFJfRVJSKHJxKTsKKwkJCWJyZWFrOworCQl9CisJCWk5MTVfcmVxdWVzdF9hZGQocnEpOworCisJ CWlmICghaWd0X3dhaXRfZm9yX3NwaW5uZXIoJnNwaW4sIHJxKSkgeworCQkJaW50ZWxfZ3Rfc2V0 X3dlZGdlZChlbmdpbmUtPmd0KTsKKwkJCWVyciA9IC1FVElNRTsKKwkJCWJyZWFrOworCQl9CisK KwkJZHQgPSBrdGltZV9nZXQoKTsKKwkJZGUgPSBpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGltZShl bmdpbmUpOworCQl1c2xlZXBfcmFuZ2UoMTAwLCAyMDApOworCQlkdCA9IGt0aW1lX3N1YihrdGlt ZV9nZXQoKSwgZHQpOworCQlkZSA9IGt0aW1lX3N1YihpbnRlbF9lbmdpbmVfZ2V0X2J1c3lfdGlt ZShlbmdpbmUpLCBkZSk7CisJCWlmICgxMDAgKiBkZSA8IDk1ICogZHQpIHsKKwkJCXByX2Vycigi JXM6IHJlcG9ydGVkIG9ubHkgJWxsZG5zIFslZCUlXSBidXN5bmVzcyB3aGlsZSBzcGlubmluZyBb Zm9yICVsbGRuc11cbiIsCisJCQkgICAgICAgZW5naW5lLT5uYW1lLAorCQkJICAgICAgIGRlLCAo aW50KWRpdjY0X3U2NCgxMDAgKiBkZSwgZHQpLCBkdCk7CisJCQllcnIgPSAtRUlOVkFMOworCQkJ YnJlYWs7CisJCX0KKworCQlpZ3Rfc3Bpbm5lcl9lbmQoJnNwaW4pOworCQlpZiAoaWd0X2ZsdXNo X3Rlc3QoZ3QtPmk5MTUpKSB7CisJCQllcnIgPSAtRUlPOworCQkJYnJlYWs7CisJCX0KKwl9CisK KwlpZ3Rfc3Bpbm5lcl9maW5pKCZzcGluKTsKKwlyZXR1cm4gZXJyOworfQogCiBzdGF0aWMgaW50 IGxpdmVfZW5naW5lX3BtKHZvaWQgKmFyZykKIHsKQEAgLTc3LDYgKzE2Miw3IEBAIHN0YXRpYyBp bnQgbGl2ZV9lbmdpbmVfcG0odm9pZCAqYXJnKQogaW50IGxpdmVfZW5naW5lX3BtX3NlbGZ0ZXN0 cyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQogewogCXN0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zdWJ0 ZXN0IHRlc3RzW10gPSB7CisJCVNVQlRFU1QobGl2ZV9lbmdpbmVfYnVzeV9zdGF0cyksCiAJCVNV QlRFU1QobGl2ZV9lbmdpbmVfcG0pLAogCX07CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0X3Jwcy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRl c3RfcnBzLmMKaW5kZXggNTA0OWMzZGQwOGE2Li41ZTM2NGZiMzFhZWEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3Jwcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L3NlbGZ0ZXN0X3Jwcy5jCkBAIC0xMjUyLDYgKzEyNTIsMTEgQEAgaW50IGxpdmVf cnBzX2R5bmFtaWModm9pZCAqYXJnKQogCWlmIChpZ3Rfc3Bpbm5lcl9pbml0KCZzcGluLCBndCkp CiAJCXJldHVybiAtRU5PTUVNOwogCisJaWYgKGludGVsX3Jwc19oYXNfaW50ZXJydXB0cyhycHMp KQorCQlwcl9pbmZvKCJSUFMgaGFzIGludGVycnVwdCBzdXBwb3J0XG4iKTsKKwlpZiAoaW50ZWxf cnBzX3VzZXNfdGltZXIocnBzKSkKKwkJcHJfaW5mbygiUlBTIGhhcyB0aW1lciBzdXBwb3J0XG4i KTsKKwogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGd0LCBpZCkgewogCQlzdHJ1Y3QgaTkxNV9y ZXF1ZXN0ICpycTsKIAkJc3RydWN0IHsKLS0gCjIuMjAuMQoKX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1n ZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21h aWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==