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=-13.9 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,UNWANTED_LANGUAGE_BODY, URIBL_BLOCKED,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 5A94CC433E9 for ; Thu, 11 Mar 2021 13:49:52 +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 024BA64F8E for ; Thu, 11 Mar 2021 13:49:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 024BA64F8E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=linux.intel.com 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 DCE9A6ECE2; Thu, 11 Mar 2021 13:49:32 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id 066996ECB4 for ; Thu, 11 Mar 2021 13:48:55 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Thu, 11 Mar 2021 14:41:42 +0100 Message-Id: <20210311134249.588632-3-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.30.1 In-Reply-To: <20210311134249.588632-1-maarten.lankhorst@linux.intel.com> References: <20210311134249.588632-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v8 02/69] drm/i915: Pin timeline map after first timeline pin, v3. 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: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" V2UncmUgc3RhcnRpbmcgdG8gcmVxdWlyZSB0aGUgcmVzZXJ2YXRpb24gbG9jayBmb3IgcGlubmlu ZywKc28gd2FpdCB1bnRpbCB3ZSBoYXZlIHRoYXQuCgpVcGRhdGUgdGhlIHNlbGZ0ZXN0cyB0byBo YW5kbGUgdGhpcyBjb3JyZWN0bHksIGFuZCBlbnN1cmUgcGluIGlzCmNhbGxlZCBpbiBsaXZlX2h3 c3Bfcm9sbG92ZXJfdXNlcigpIGFuZCBtb2NrX2h3c3BfZnJlZWxpc3QoKS4KCkNoYW5nZXMgc2lu Y2UgdjE6Ci0gRml4IE5VTEwgKyBYWCBhcml0aG1hdGljLCB1c2UgY2FzdHMuIChrYnVpbGQpCkNo YW5nZXMgc2luY2UgdjI6Ci0gQ2xlYXIgZW50aXJlIGNhY2hlbGluZSB3aGVuIHBpbm5pbmcuCgpT aWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgpSZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+ ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5p bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAg ICB8IDQwICsrKysrKysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVs aW5lLmggICAgfCAgMiArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jICAg ICAgIHwgMjIgKysrKysrLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxp bmUuYyB8IDYzICsrKysrKysrKysrLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9zZWxmdGVzdC5oICAgICAgICB8ICAyICsKIDUgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9u cygrKSwgNDUgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfdGltZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVs aW5lLmMKaW5kZXggZWZlMjAzMGNmZTVlLi4wMzJlMWQxYjRjNWUgMTAwNjQ0Ci0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYwpAQCAtNTIsMTQgKzUyLDI5IEBAIHN0YXRpYyBpbnQg X190aW1lbGluZV9hY3RpdmUoc3RydWN0IGk5MTVfYWN0aXZlICphY3RpdmUpCiAJcmV0dXJuIDA7 CiB9CiAKK0k5MTVfU0VMRlRFU1RfRVhQT1JUIGludAoraW50ZWxfdGltZWxpbmVfcGluX21hcChz dHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKQoreworCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpvYmogPSB0aW1lbGluZS0+aHdzcF9nZ3R0LT5vYmo7CisJdTMyIG9mcyA9IG9mZnNl dF9pbl9wYWdlKHRpbWVsaW5lLT5od3NwX29mZnNldCk7CisJdm9pZCAqdmFkZHI7CisKKwl2YWRk ciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKG9iaiwgSTkxNV9NQVBfV0IpOworCWlmIChJU19F UlIodmFkZHIpKQorCQlyZXR1cm4gUFRSX0VSUih2YWRkcik7CisKKwl0aW1lbGluZS0+aHdzcF9t YXAgPSB2YWRkcjsKKwl0aW1lbGluZS0+aHdzcF9zZXFubyA9IG1lbXNldCh2YWRkciArIG9mcywg MCwgQ0FDSEVMSU5FX0JZVEVTKTsKKwljbGZsdXNoKHZhZGRyICsgb2ZzKTsKKworCXJldHVybiAw OworfQorCiBzdGF0aWMgaW50IGludGVsX3RpbWVsaW5lX2luaXQoc3RydWN0IGludGVsX3RpbWVs aW5lICp0aW1lbGluZSwKIAkJCSAgICAgICBzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCQkJICAgICAg IHN0cnVjdCBpOTE1X3ZtYSAqaHdzcCwKIAkJCSAgICAgICB1bnNpZ25lZCBpbnQgb2Zmc2V0KQog ewotCXZvaWQgKnZhZGRyOwotCXUzMiAqc2Vxbm87Ci0KIAlrcmVmX2luaXQoJnRpbWVsaW5lLT5r cmVmKTsKIAlhdG9taWNfc2V0KCZ0aW1lbGluZS0+cGluX2NvdW50LCAwKTsKIApAQCAtNzYsMTQg KzkxLDggQEAgc3RhdGljIGludCBpbnRlbF90aW1lbGluZV9pbml0KHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGltZWxpbmUsCiAJCXRpbWVsaW5lLT5od3NwX2dndHQgPSBod3NwOwogCX0KIAotCXZh ZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoaHdzcC0+b2JqLCBJOTE1X01BUF9XQik7Ci0J aWYgKElTX0VSUih2YWRkcikpCi0JCXJldHVybiBQVFJfRVJSKHZhZGRyKTsKLQotCXRpbWVsaW5l LT5od3NwX21hcCA9IHZhZGRyOwotCXNlcW5vID0gdmFkZHIgKyB0aW1lbGluZS0+aHdzcF9vZmZz ZXQ7Ci0JV1JJVEVfT05DRSgqc2Vxbm8sIDApOwotCXRpbWVsaW5lLT5od3NwX3NlcW5vID0gc2Vx bm87CisJdGltZWxpbmUtPmh3c3BfbWFwID0gTlVMTDsKKwl0aW1lbGluZS0+aHdzcF9zZXFubyA9 ICh2b2lkICopKGxvbmcpdGltZWxpbmUtPmh3c3Bfb2Zmc2V0OwogCiAJR0VNX0JVR19PTih0aW1l bGluZS0+aHdzcF9vZmZzZXQgPj0gaHdzcC0+c2l6ZSk7CiAKQEAgLTExMyw3ICsxMjIsOCBAQCBz dGF0aWMgdm9pZCBpbnRlbF90aW1lbGluZV9maW5pKHN0cnVjdCByY3VfaGVhZCAqcmN1KQogCXN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUgPQogCQljb250YWluZXJfb2YocmN1LCBzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUsIHJjdSk7CiAKLQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHRp bWVsaW5lLT5od3NwX2dndHQtPm9iaik7CisJaWYgKHRpbWVsaW5lLT5od3NwX21hcCkKKwkJaTkx NV9nZW1fb2JqZWN0X3VucGluX21hcCh0aW1lbGluZS0+aHdzcF9nZ3R0LT5vYmopOwogCiAJaTkx NV92bWFfcHV0KHRpbWVsaW5lLT5od3NwX2dndHQpOwogCWk5MTVfYWN0aXZlX2ZpbmkoJnRpbWVs aW5lLT5hY3RpdmUpOwpAQCAtMTczLDYgKzE4MywxMiBAQCBpbnQgaW50ZWxfdGltZWxpbmVfcGlu KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsIHN0cnVjdCBpOTE1X2dlbV93d19jdHggKnd3KQog CWlmIChhdG9taWNfYWRkX3VubGVzcygmdGwtPnBpbl9jb3VudCwgMSwgMCkpCiAJCXJldHVybiAw OwogCisJaWYgKCF0bC0+aHdzcF9tYXApIHsKKwkJZXJyID0gaW50ZWxfdGltZWxpbmVfcGluX21h cCh0bCk7CisJCWlmIChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKwogCWVyciA9IGk5MTVfZ2d0 dF9waW4odGwtPmh3c3BfZ2d0dCwgd3csIDAsIFBJTl9ISUdIKTsKIAlpZiAoZXJyKQogCQlyZXR1 cm4gZXJyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxp bmUuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmgKaW5kZXggYjFm ODFkOTQ3ZjhkLi41NzMwOGM0ZDY2NGEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L2ludGVsX3RpbWVsaW5lLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf dGltZWxpbmUuaApAQCAtOTgsNCArOTgsNiBAQCBpbnRlbF90aW1lbGluZV9pc19sYXN0KGNvbnN0 IHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsCiAJcmV0dXJuIGxpc3RfaXNfbGFzdF9yY3UoJnJx LT5saW5rLCAmdGwtPnJlcXVlc3RzKTsKIH0KIAorSTkxNV9TRUxGVEVTVF9ERUNMQVJFKGludCBp bnRlbF90aW1lbGluZV9waW5fbWFwKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpKTsKKwogI2Vu ZGlmCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19lbmdpbmUuYwppbmRleCA1NjYyZjdjMmY3MTku LjQyZmQ4NjY1OGVlNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvbW9ja19l bmdpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jCkBAIC0x Myw5ICsxMywyMCBAQAogI2luY2x1ZGUgIm1vY2tfZW5naW5lLmgiCiAjaW5jbHVkZSAic2VsZnRl c3RzL21vY2tfcmVxdWVzdC5oIgogCi1zdGF0aWMgdm9pZCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQorc3RhdGljIGludCBtb2NrX3RpbWVsaW5lX3BpbihzdHJ1 Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogeworCWludCBlcnI7CisKKwlpZiAoV0FSTl9PTighaTkx NV9nZW1fb2JqZWN0X3RyeWxvY2sodGwtPmh3c3BfZ2d0dC0+b2JqKSkpCisJCXJldHVybiAtRUJV U1k7CisKKwllcnIgPSBpbnRlbF90aW1lbGluZV9waW5fbWFwKHRsKTsKKwlpOTE1X2dlbV9vYmpl Y3RfdW5sb2NrKHRsLT5od3NwX2dndHQtPm9iaik7CisJaWYgKGVycikKKwkJcmV0dXJuIGVycjsK KwogCWF0b21pY19pbmMoJnRsLT5waW5fY291bnQpOworCXJldHVybiAwOwogfQogCiBzdGF0aWMg dm9pZCBtb2NrX3RpbWVsaW5lX3VucGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCkBAIC0x MzMsNiArMTQ0LDggQEAgc3RhdGljIHZvaWQgbW9ja19jb250ZXh0X2Rlc3Ryb3koc3RydWN0IGty ZWYgKnJlZikKIAogc3RhdGljIGludCBtb2NrX2NvbnRleHRfYWxsb2Moc3RydWN0IGludGVsX2Nv bnRleHQgKmNlKQogeworCWludCBlcnI7CisKIAljZS0+cmluZyA9IG1vY2tfcmluZyhjZS0+ZW5n aW5lKTsKIAlpZiAoIWNlLT5yaW5nKQogCQlyZXR1cm4gLUVOT01FTTsKQEAgLTE0Myw3ICsxNTYs MTIgQEAgc3RhdGljIGludCBtb2NrX2NvbnRleHRfYWxsb2Moc3RydWN0IGludGVsX2NvbnRleHQg KmNlKQogCQlyZXR1cm4gUFRSX0VSUihjZS0+dGltZWxpbmUpOwogCX0KIAotCW1vY2tfdGltZWxp bmVfcGluKGNlLT50aW1lbGluZSk7CisJZXJyID0gbW9ja190aW1lbGluZV9waW4oY2UtPnRpbWVs aW5lKTsKKwlpZiAoZXJyKSB7CisJCWludGVsX3RpbWVsaW5lX3B1dChjZS0+dGltZWxpbmUpOwor CQljZS0+dGltZWxpbmUgPSBOVUxMOworCQlyZXR1cm4gZXJyOworCX0KIAogCXJldHVybiAwOwog fQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxpbmUu YyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKaW5kZXggYTRj NzgwNjJlOTJiLi4zMWI0OTJlYjI5ODIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2Vs ZnRlc3RfdGltZWxpbmUuYwpAQCAtMzQsNyArMzQsNyBAQCBzdGF0aWMgdW5zaWduZWQgbG9uZyBo d3NwX2NhY2hlbGluZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsKQogewogCXVuc2lnbmVkIGxv bmcgYWRkcmVzcyA9ICh1bnNpZ25lZCBsb25nKXBhZ2VfYWRkcmVzcyhod3NwX3BhZ2UodGwpKTsK IAotCXJldHVybiAoYWRkcmVzcyArIHRsLT5od3NwX29mZnNldCkgLyBDQUNIRUxJTkVfQllURVM7 CisJcmV0dXJuIChhZGRyZXNzICsgb2Zmc2V0X2luX3BhZ2UodGwtPmh3c3Bfb2Zmc2V0KSkgLyBD QUNIRUxJTkVfQllURVM7CiB9CiAKICNkZWZpbmUgQ0FDSEVMSU5FU19QRVJfUEFHRSAoUEFHRV9T SVpFIC8gQ0FDSEVMSU5FX0JZVEVTKQpAQCAtNTgsNiArNTgsNyBAQCBzdGF0aWMgdm9pZCBfX21v Y2tfaHdzcF9yZWNvcmQoc3RydWN0IG1vY2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJdGwgPSB4 Y2hnKCZzdGF0ZS0+aGlzdG9yeVtpZHhdLCB0bCk7CiAJaWYgKHRsKSB7CiAJCXJhZGl4X3RyZWVf ZGVsZXRlKCZzdGF0ZS0+Y2FjaGVsaW5lcywgaHdzcF9jYWNoZWxpbmUodGwpKTsKKwkJaW50ZWxf dGltZWxpbmVfdW5waW4odGwpOwogCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCX0KIH0KQEAg LTc3LDYgKzc4LDEyIEBAIHN0YXRpYyBpbnQgX19tb2NrX2h3c3BfdGltZWxpbmUoc3RydWN0IG1v Y2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJCWlmIChJU19FUlIodGwpKQogCQkJcmV0dXJuIFBU Ul9FUlIodGwpOwogCisJCWVyciA9IGludGVsX3RpbWVsaW5lX3Bpbih0bCwgTlVMTCk7CisJCWlm IChlcnIpIHsKKwkJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CisJCQlyZXR1cm4gZXJyOworCQl9 CisKIAkJY2FjaGVsaW5lID0gaHdzcF9jYWNoZWxpbmUodGwpOwogCQllcnIgPSByYWRpeF90cmVl X2luc2VydCgmc3RhdGUtPmNhY2hlbGluZXMsIGNhY2hlbGluZSwgdGwpOwogCQlpZiAoZXJyKSB7 CkBAIC04NCw2ICs5MSw3IEBAIHN0YXRpYyBpbnQgX19tb2NrX2h3c3BfdGltZWxpbmUoc3RydWN0 IG1vY2tfaHdzcF9mcmVlbGlzdCAqc3RhdGUsCiAJCQkJcHJfZXJyKCJIV1NQIGNhY2hlbGluZSAl bHUgYWxyZWFkeSB1c2VkOyBkdXBsaWNhdGUgYWxsb2NhdGlvbiFcbiIsCiAJCQkJICAgICAgIGNh Y2hlbGluZSk7CiAJCQl9CisJCQlpbnRlbF90aW1lbGluZV91bnBpbih0bCk7CiAJCQlpbnRlbF90 aW1lbGluZV9wdXQodGwpOwogCQkJcmV0dXJuIGVycjsKIAkJfQpAQCAtNDUxLDcgKzQ1OSw3IEBA IHN0YXRpYyBpbnQgZW1pdF9nZ3R0X3N0b3JlX2R3KHN0cnVjdCBpOTE1X3JlcXVlc3QgKnJxLCB1 MzIgYWRkciwgdTMyIHZhbHVlKQogfQogCiBzdGF0aWMgc3RydWN0IGk5MTVfcmVxdWVzdCAqCi10 bF93cml0ZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICplbmdpbmUsIHUzMiB2YWx1ZSkKK2NoZWNrZWRfdGxfd3JpdGUoc3RydWN0IGludGVsX3RpbWVs aW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUpCiB7CiAJ c3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAJaW50IGVycjsKQEAgLTQ2Miw2ICs0NzAsMTMgQEAg dGxfd3JpdGUoc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lLCB1MzIgdmFsdWUpCiAJCWdvdG8gb3V0OwogCX0KIAorCWlmIChSRUFEX09OQ0Uo KnRsLT5od3NwX3NlcW5vKSAhPSB0bC0+c2Vxbm8pIHsKKwkJcHJfZXJyKCJUaW1lbGluZSBjcmVh dGVkIHdpdGggaW5jb3JyZWN0IGJyZWFkY3J1bWIsIGZvdW5kICV4LCBleHBlY3RlZCAleFxuIiwK KwkJICAgICAgICp0bC0+aHdzcF9zZXFubywgdGwtPnNlcW5vKTsKKwkJaW50ZWxfdGltZWxpbmVf dW5waW4odGwpOworCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKKwl9CisKIAlycSA9IGludGVs X2VuZ2luZV9jcmVhdGVfa2VybmVsX3JlcXVlc3QoZW5naW5lKTsKIAlpZiAoSVNfRVJSKHJxKSkK IAkJZ290byBvdXRfdW5waW47CkBAIC00ODMsMjUgKzQ5OCw2IEBAIHRsX3dyaXRlKHN0cnVjdCBp bnRlbF90aW1lbGluZSAqdGwsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyIHZh bHVlKQogCXJldHVybiBycTsKIH0KIAotc3RhdGljIHN0cnVjdCBpbnRlbF90aW1lbGluZSAqCi1j aGVja2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfZ3QgKmd0KQotewotCXN0 cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7Ci0KLQl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0ZShn dCk7Ci0JaWYgKElTX0VSUih0bCkpCi0JCXJldHVybiB0bDsKLQotCWlmIChSRUFEX09OQ0UoKnRs LT5od3NwX3NlcW5vKSAhPSB0bC0+c2Vxbm8pIHsKLQkJcHJfZXJyKCJUaW1lbGluZSBjcmVhdGVk IHdpdGggaW5jb3JyZWN0IGJyZWFkY3J1bWIsIGZvdW5kICV4LCBleHBlY3RlZCAleFxuIiwKLQkJ ICAgICAgICp0bC0+aHdzcF9zZXFubywgdGwtPnNlcW5vKTsKLQkJaW50ZWxfdGltZWxpbmVfcHV0 KHRsKTsKLQkJcmV0dXJuIEVSUl9QVFIoLUVJTlZBTCk7Ci0JfQotCi0JcmV0dXJuIHRsOwotfQot CiBzdGF0aWMgaW50IGxpdmVfaHdzcF9lbmdpbmUodm9pZCAqYXJnKQogewogI2RlZmluZSBOVU1f VElNRUxJTkVTIDQwOTYKQEAgLTUzNCwxMyArNTMwLDEzIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3Nw X2VuZ2luZSh2b2lkICphcmcpCiAJCQlzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsOwogCQkJc3Ry dWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAKLQkJCXRsID0gY2hlY2tlZF9pbnRlbF90aW1lbGluZV9j cmVhdGUoZ3QpOworCQkJdGwgPSBpbnRlbF90aW1lbGluZV9jcmVhdGUoZ3QpOwogCQkJaWYgKElT X0VSUih0bCkpIHsKIAkJCQllcnIgPSBQVFJfRVJSKHRsKTsKIAkJCQlicmVhazsKIAkJCX0KIAot CQkJcnEgPSB0bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7CisJCQlycSA9IGNoZWNrZWRfdGxf d3JpdGUodGwsIGVuZ2luZSwgY291bnQpOwogCQkJaWYgKElTX0VSUihycSkpIHsKIAkJCQlpbnRl bF90aW1lbGluZV9wdXQodGwpOwogCQkJCWVyciA9IFBUUl9FUlIocnEpOwpAQCAtNjA3LDE0ICs2 MDMsMTQgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfYWx0ZXJuYXRlKHZvaWQgKmFyZykKIAkJCWlm ICghaW50ZWxfZW5naW5lX2Nhbl9zdG9yZV9kd29yZChlbmdpbmUpKQogCQkJCWNvbnRpbnVlOwog Ci0JCQl0bCA9IGNoZWNrZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKGd0KTsKKwkJCXRsID0gaW50 ZWxfdGltZWxpbmVfY3JlYXRlKGd0KTsKIAkJCWlmIChJU19FUlIodGwpKSB7CiAJCQkJZXJyID0g UFRSX0VSUih0bCk7CiAJCQkJZ290byBvdXQ7CiAJCQl9CiAKIAkJCWludGVsX2VuZ2luZV9wbV9n ZXQoZW5naW5lKTsKLQkJCXJxID0gdGxfd3JpdGUodGwsIGVuZ2luZSwgY291bnQpOworCQkJcnEg PSBjaGVja2VkX3RsX3dyaXRlKHRsLCBlbmdpbmUsIGNvdW50KTsKIAkJCWludGVsX2VuZ2luZV9w bV9wdXQoZW5naW5lKTsKIAkJCWlmIChJU19FUlIocnEpKSB7CiAJCQkJaW50ZWxfdGltZWxpbmVf cHV0KHRsKTsKQEAgLTEyNTcsNiArMTI1MywxMCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9yb2xs b3Zlcl91c2VyKHZvaWQgKmFyZykKIAkJaWYgKCF0bC0+aGFzX2luaXRpYWxfYnJlYWRjcnVtYikK IAkJCWdvdG8gb3V0OwogCisJCWVyciA9IGludGVsX2NvbnRleHRfcGluKGNlKTsKKwkJaWYgKGVy cikKKwkJCWdvdG8gb3V0OworCiAJCXRsLT5zZXFubyA9IC00dTsKIAkJV1JJVEVfT05DRSgqKHUz MiAqKXRsLT5od3NwX3NlcW5vLCB0bC0+c2Vxbm8pOwogCkBAIC0xMjY2LDcgKzEyNjYsNyBAQCBz dGF0aWMgaW50IGxpdmVfaHdzcF9yb2xsb3Zlcl91c2VyKHZvaWQgKmFyZykKIAkJCXRoaXMgPSBp bnRlbF9jb250ZXh0X2NyZWF0ZV9yZXF1ZXN0KGNlKTsKIAkJCWlmIChJU19FUlIodGhpcykpIHsK IAkJCQllcnIgPSBQVFJfRVJSKHRoaXMpOwotCQkJCWdvdG8gb3V0OworCQkJCWdvdG8gb3V0X3Vu cGluOwogCQkJfQogCiAJCQlwcl9kZWJ1ZygiJXM6IGNyZWF0ZSBmZW5jZS5zZXFucDolZFxuIiwK QEAgLTEyODUsMTcgKzEyODUsMTggQEAgc3RhdGljIGludCBsaXZlX2h3c3Bfcm9sbG92ZXJfdXNl cih2b2lkICphcmcpCiAJCWlmIChpOTE1X3JlcXVlc3Rfd2FpdChycVsyXSwgMCwgSFogLyA1KSA8 IDApIHsKIAkJCXByX2VycigiV2FpdCBmb3IgdGltZWxpbmUgd3JhcCB0aW1lZCBvdXQhXG4iKTsK IAkJCWVyciA9IC1FSU87Ci0JCQlnb3RvIG91dDsKKwkJCWdvdG8gb3V0X3VucGluOwogCQl9CiAK IAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnEpOyBpKyspIHsKIAkJCWlmICghaTkxNV9y ZXF1ZXN0X2NvbXBsZXRlZChycVtpXSkpIHsKIAkJCQlwcl9lcnIoIlByZS13cmFwIHJlcXVlc3Qg bm90IGNvbXBsZXRlZCFcbiIpOwogCQkJCWVyciA9IC1FSU5WQUw7Ci0JCQkJZ290byBvdXQ7CisJ CQkJZ290byBvdXRfdW5waW47CiAJCQl9CiAJCX0KLQorb3V0X3VucGluOgorCQlpbnRlbF9jb250 ZXh0X3VucGluKGNlKTsKIG91dDoKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUocnEpOyBp KyspCiAJCQlpOTE1X3JlcXVlc3RfcHV0KHJxW2ldKTsKQEAgLTEzMzcsMTMgKzEzMzgsMTMgQEAg c3RhdGljIGludCBsaXZlX2h3c3BfcmVjeWNsZSh2b2lkICphcmcpCiAJCQlzdHJ1Y3QgaW50ZWxf dGltZWxpbmUgKnRsOwogCQkJc3RydWN0IGk5MTVfcmVxdWVzdCAqcnE7CiAKLQkJCXRsID0gY2hl Y2tlZF9pbnRlbF90aW1lbGluZV9jcmVhdGUoZ3QpOworCQkJdGwgPSBpbnRlbF90aW1lbGluZV9j cmVhdGUoZ3QpOwogCQkJaWYgKElTX0VSUih0bCkpIHsKIAkJCQllcnIgPSBQVFJfRVJSKHRsKTsK IAkJCQlicmVhazsKIAkJCX0KIAotCQkJcnEgPSB0bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7 CisJCQlycSA9IGNoZWNrZWRfdGxfd3JpdGUodGwsIGVuZ2luZSwgY291bnQpOwogCQkJaWYgKElT X0VSUihycSkpIHsKIAkJCQlpbnRlbF90aW1lbGluZV9wdXQodGwpOwogCQkJCWVyciA9IFBUUl9F UlIocnEpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zZWxmdGVzdC5o IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zZWxmdGVzdC5oCmluZGV4IGQ1M2QyMDdhYjZl Yi4uZjU0ZGUwNDk5YmU3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3Nl bGZ0ZXN0LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zZWxmdGVzdC5oCkBAIC0x MDcsNiArMTA3LDcgQEAgaW50IF9faTkxNV9zdWJ0ZXN0cyhjb25zdCBjaGFyICpjYWxsZXIsCiAK ICNkZWZpbmUgSTkxNV9TRUxGVEVTVF9ERUNMQVJFKHgpIHgKICNkZWZpbmUgSTkxNV9TRUxGVEVT VF9PTkxZKHgpIHVubGlrZWx5KHgpCisjZGVmaW5lIEk5MTVfU0VMRlRFU1RfRVhQT1JUCiAKICNl bHNlIC8qICFJU19FTkFCTEVEKENPTkZJR19EUk1fSTkxNV9TRUxGVEVTVCkgKi8KIApAQCAtMTE2 LDYgKzExNyw3IEBAIHN0YXRpYyBpbmxpbmUgaW50IGk5MTVfcGVyZl9zZWxmdGVzdHMoc3RydWN0 IHBjaV9kZXYgKnBkZXYpIHsgcmV0dXJuIDA7IH0KIAogI2RlZmluZSBJOTE1X1NFTEZURVNUX0RF Q0xBUkUoeCkKICNkZWZpbmUgSTkxNV9TRUxGVEVTVF9PTkxZKHgpIDAKKyNkZWZpbmUgSTkxNV9T RUxGVEVTVF9FWFBPUlQgc3RhdGljCiAKICNlbmRpZgogCi0tIAoyLjMwLjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxp c3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=