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=-16.7 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=unavailable 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 7796AC63777 for ; Fri, 27 Nov 2020 12:08:16 +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 390CC21D81 for ; Fri, 27 Nov 2020 12:08:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 390CC21D81 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=intel.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 2A1E86EC02; Fri, 27 Nov 2020 12:07:59 +0000 (UTC) Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7969E6EC02; Fri, 27 Nov 2020 12:07:53 +0000 (UTC) IronPort-SDR: JzdbR2pht9mQsezesDTJjb053vn+BY0fgvG4lS4Nja5QqZO77fHp+nde0eah9u2J6K1oM9WX/9 jOfZsUi4GJfQ== X-IronPort-AV: E=McAfee;i="6000,8403,9817"; a="168883371" X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="168883371" X-Amp-Result: SKIPPED(no attachment in message) X-Amp-File-Uploaded: False Received: from orsmga005.jf.intel.com ([10.7.209.41]) by fmsmga102.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:46 -0800 IronPort-SDR: J61yytubp7B7zjuke7ZFqLryweDkMVJsixN5bAwTyCm+TLfnk0mMBUXYot6USJVNRfvEZhw6ey tqdw6X5ZYS7A== X-IronPort-AV: E=Sophos;i="5.78,374,1599548400"; d="scan'208";a="548028565" Received: from mjgleeso-mobl.ger.corp.intel.com (HELO mwauld-desk1.ger.corp.intel.com) ([10.251.85.2]) by orsmga005-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 27 Nov 2020 04:07:45 -0800 From: Matthew Auld To: intel-gfx@lists.freedesktop.org Subject: [RFC PATCH 011/162] drm/i915: Pin timeline map after first timeline pin, v5. Date: Fri, 27 Nov 2020 12:04:47 +0000 Message-Id: <20201127120718.454037-12-matthew.auld@intel.com> X-Mailer: git-send-email 2.26.2 In-Reply-To: <20201127120718.454037-1-matthew.auld@intel.com> References: <20201127120718.454037-1-matthew.auld@intel.com> MIME-Version: 1.0 X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: kernel test robot , dri-devel@lists.freedesktop.org, =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" RnJvbTogTWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNv bT4KCldlJ3JlIHN0YXJ0aW5nIHRvIHJlcXVpcmUgdGhlIHJlc2VydmF0aW9uIGxvY2sgZm9yIHBp bm5pbmcsCnNvIHdhaXQgdW50aWwgd2UgaGF2ZSB0aGF0LgoKVXBkYXRlIHRoZSBzZWxmdGVzdHMg dG8gaGFuZGxlIHRoaXMgY29ycmVjdGx5LCBhbmQgZW5zdXJlIHBpbiBpcwpjYWxsZWQgaW4gbGl2 ZV9od3NwX3JvbGxvdmVyX3VzZXIoKSBhbmQgbW9ja19od3NwX2ZyZWVsaXN0KCkuCgpTaWduZWQt b2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXguaW50ZWwu Y29tPgpSZXBvcnRlZC1ieToga2VybmVsIHRlc3Qgcm9ib3QgPGxrcEBpbnRlbC5jb20+CkNjOiBU aG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51eC5pbnRlbC5jb20+Ci0tLQog ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuYyAgICAgIHwgNDkgKysrKysr KysrKy0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmggICAgICB8 ICAxICsKIC4uLi9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmVfdHlwZXMuaCAgICB8ICAx ICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tfZW5naW5lLmMgICAgICAgICB8IDI0ICsr KysrKy0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L3NlbGZ0ZXN0X3RpbWVsaW5lLmMgICB8IDY0 ICsrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2VsZnRlc3Qu aCAgICAgICAgICB8ICAyICsKIDYgZmlsZXMgY2hhbmdlZCwgOTYgaW5zZXJ0aW9ucygrKSwgNDUg ZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxf dGltZWxpbmUuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKaW5k ZXggYTU4MjI4ZDFjZDNiLi40NzllYjU0NDBiYzYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv aW50ZWxfdGltZWxpbmUuYwpAQCAtMjI5LDEzICsyMjksMzAgQEAgc3RhdGljIHZvaWQgY2FjaGVs aW5lX2ZyZWUoc3RydWN0IGludGVsX3RpbWVsaW5lX2NhY2hlbGluZSAqY2wpCiAJaTkxNV9hY3Rp dmVfcmVsZWFzZSgmY2wtPmFjdGl2ZSk7CiB9CiAKK0k5MTVfU0VMRlRFU1RfRVhQT1JUIGludAor aW50ZWxfdGltZWxpbmVfcGluX21hcChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVsaW5lKQor eworCWlmICghdGltZWxpbmUtPmh3c3BfY2FjaGVsaW5lKSB7CisJCXN0cnVjdCBkcm1faTkxNV9n ZW1fb2JqZWN0ICpvYmogPSB0aW1lbGluZS0+aHdzcF9nZ3R0LT5vYmo7CisJCXUzMiBvZnMgPSBv ZmZzZXRfaW5fcGFnZSh0aW1lbGluZS0+aHdzcF9vZmZzZXQpOworCQl2b2lkICp2YWRkcjsKKwor CQl2YWRkciA9IGk5MTVfZ2VtX29iamVjdF9waW5fbWFwKG9iaiwgSTkxNV9NQVBfV0IpOworCQlp ZiAoSVNfRVJSKHZhZGRyKSkKKwkJCXJldHVybiBQVFJfRVJSKHZhZGRyKTsKKworCQl0aW1lbGlu ZS0+aHdzcF9tYXAgPSB2YWRkcjsKKwkJdGltZWxpbmUtPmh3c3Bfc2Vxbm8gPSBtZW1zZXQodmFk ZHIgKyBvZnMsIDAsIENBQ0hFTElORV9CWVRFUyk7CisJfQorCisJcmV0dXJuIDA7Cit9CisKIHN0 YXRpYyBpbnQgaW50ZWxfdGltZWxpbmVfaW5pdChzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRpbWVs aW5lLAogCQkJICAgICAgIHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCQkgICAgICAgc3RydWN0IGk5 MTVfdm1hICpod3NwLAogCQkJICAgICAgIHVuc2lnbmVkIGludCBvZmZzZXQpCiB7Ci0Jdm9pZCAq dmFkZHI7Ci0KIAlrcmVmX2luaXQoJnRpbWVsaW5lLT5rcmVmKTsKIAlhdG9taWNfc2V0KCZ0aW1l bGluZS0+cGluX2NvdW50LCAwKTsKIApAQCAtMjYwLDE4ICsyNzcsMTUgQEAgc3RhdGljIGludCBp bnRlbF90aW1lbGluZV9pbml0KHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGltZWxpbmUsCiAKIAkJ dGltZWxpbmUtPmh3c3BfY2FjaGVsaW5lID0gY2w7CiAJCXRpbWVsaW5lLT5od3NwX29mZnNldCA9 IGNhY2hlbGluZSAqIENBQ0hFTElORV9CWVRFUzsKLQotCQl2YWRkciA9IHBhZ2VfbWFza19iaXRz KGNsLT52YWRkcik7CisJCXRpbWVsaW5lLT5od3NwX21hcCA9IHBhZ2VfbWFza19iaXRzKGNsLT52 YWRkcik7CisJCXRpbWVsaW5lLT5od3NwX3NlcW5vID0KKwkJCW1lbXNldCh0aW1lbGluZS0+aHdz cF9tYXAgKyB0aW1lbGluZS0+aHdzcF9vZmZzZXQsIDAsCisJCQkgICAgICAgQ0FDSEVMSU5FX0JZ VEVTKTsKIAl9IGVsc2UgewogCQl0aW1lbGluZS0+aHdzcF9vZmZzZXQgPSBvZmZzZXQ7Ci0JCXZh ZGRyID0gaTkxNV9nZW1fb2JqZWN0X3Bpbl9tYXAoaHdzcC0+b2JqLCBJOTE1X01BUF9XQik7Ci0J CWlmIChJU19FUlIodmFkZHIpKQotCQkJcmV0dXJuIFBUUl9FUlIodmFkZHIpOworCQl0aW1lbGlu ZS0+aHdzcF9tYXAgPSBOVUxMOwogCX0KIAotCXRpbWVsaW5lLT5od3NwX3NlcW5vID0KLQkJbWVt c2V0KHZhZGRyICsgdGltZWxpbmUtPmh3c3Bfb2Zmc2V0LCAwLCBDQUNIRUxJTkVfQllURVMpOwot CiAJdGltZWxpbmUtPmh3c3BfZ2d0dCA9IGk5MTVfdm1hX2dldChod3NwKTsKIAlHRU1fQlVHX09O KHRpbWVsaW5lLT5od3NwX29mZnNldCA+PSBod3NwLT5zaXplKTsKIApAQCAtMzA2LDcgKzMyMCw3 IEBAIHN0YXRpYyB2b2lkIGludGVsX3RpbWVsaW5lX2Zpbmkoc3RydWN0IGludGVsX3RpbWVsaW5l ICp0aW1lbGluZSkKIAogCWlmICh0aW1lbGluZS0+aHdzcF9jYWNoZWxpbmUpCiAJCWNhY2hlbGlu ZV9mcmVlKHRpbWVsaW5lLT5od3NwX2NhY2hlbGluZSk7Ci0JZWxzZQorCWVsc2UgaWYgKHRpbWVs aW5lLT5od3NwX21hcCkKIAkJaTkxNV9nZW1fb2JqZWN0X3VucGluX21hcCh0aW1lbGluZS0+aHdz cF9nZ3R0LT5vYmopOwogCiAJaTkxNV92bWFfcHV0KHRpbWVsaW5lLT5od3NwX2dndHQpOwpAQCAt MzQ2LDkgKzM2MCwxOCBAQCBpbnQgaW50ZWxfdGltZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1l bGluZSAqdGwsIHN0cnVjdCBpOTE1X2dlbV93d19jdHggKnd3KQogCWlmIChhdG9taWNfYWRkX3Vu bGVzcygmdGwtPnBpbl9jb3VudCwgMSwgMCkpCiAJCXJldHVybiAwOwogCisJaWYgKCF0bC0+aHdz cF9jYWNoZWxpbmUpIHsKKwkJZXJyID0gaW50ZWxfdGltZWxpbmVfcGluX21hcCh0bCk7CisJCWlm IChlcnIpCisJCQlyZXR1cm4gZXJyOworCX0KKwogCWVyciA9IGk5MTVfZ2d0dF9waW4odGwtPmh3 c3BfZ2d0dCwgd3csIDAsIFBJTl9ISUdIKTsKLQlpZiAoZXJyKQorCWlmIChlcnIpIHsKKwkJaWYg KCF0bC0+aHdzcF9jYWNoZWxpbmUpCisJCQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHRsLT5o d3NwX2dndHQtPm9iaik7CiAJCXJldHVybiBlcnI7CisJfQogCiAJdGwtPmh3c3Bfb2Zmc2V0ID0K IAkJaTkxNV9nZ3R0X29mZnNldCh0bC0+aHdzcF9nZ3R0KSArCkBAIC0zNjAsNiArMzgzLDggQEAg aW50IGludGVsX3RpbWVsaW5lX3BpbihzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBzdHJ1Y3Qg aTkxNV9nZW1fd3dfY3R4ICp3dykKIAlpZiAoYXRvbWljX2ZldGNoX2luYygmdGwtPnBpbl9jb3Vu dCkpIHsKIAkJY2FjaGVsaW5lX3JlbGVhc2UodGwtPmh3c3BfY2FjaGVsaW5lKTsKIAkJX19pOTE1 X3ZtYV91bnBpbih0bC0+aHdzcF9nZ3R0KTsKKwkJaWYgKCF0bC0+aHdzcF9jYWNoZWxpbmUpCisJ CQlpOTE1X2dlbV9vYmplY3RfdW5waW5fbWFwKHRsLT5od3NwX2dndHQtPm9iaik7CiAJfQogCiAJ cmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1l bGluZS5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfdGltZWxpbmUuaAppbmRleCA2 MzRhY2ViZDBjNGIuLjcyNWJhZTE2MjM3YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfdGltZWxpbmUuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF90aW1lbGluZS5oCkBAIC0xMTQsNSArMTE0LDYgQEAgdm9pZCBpbnRlbF9ndF9zaG93X3RpbWVs aW5lcyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCQkJCQkJICBjb25zdCBzdHJ1Y3QgaTkxNV9yZXF1 ZXN0ICpycSwKIAkJCQkJCSAgY29uc3QgY2hhciAqcHJlZml4LAogCQkJCQkJICBpbnQgaW5kZW50 KSk7CitJOTE1X1NFTEZURVNUX0RFQ0xBUkUoaW50IGludGVsX3RpbWVsaW5lX3Bpbl9tYXAoc3Ry dWN0IGludGVsX3RpbWVsaW5lICp0bCkpOwogCiAjZW5kaWYKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lX3R5cGVzLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9pbnRlbF90aW1lbGluZV90eXBlcy5oCmluZGV4IDQ0NzRmNDg3ZjU4OS4uY2FjN2Zh M2RmZDQzIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF90aW1lbGlu ZV90eXBlcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3RpbWVsaW5lX3R5 cGVzLmgKQEAgLTQ1LDYgKzQ1LDcgQEAgc3RydWN0IGludGVsX3RpbWVsaW5lIHsKIAlhdG9taWNf dCBwaW5fY291bnQ7CiAJYXRvbWljX3QgYWN0aXZlX2NvdW50OwogCisJdm9pZCAqaHdzcF9tYXA7 CiAJY29uc3QgdTMyICpod3NwX3NlcW5vOwogCXN0cnVjdCBpOTE1X3ZtYSAqaHdzcF9nZ3R0Owog CXUzMiBod3NwX29mZnNldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21v Y2tfZW5naW5lLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9tb2NrX2VuZ2luZS5jCmluZGV4 IDJmODMwMDE3YzUxZC4uMDE2ZjRmMzQ1NzA2IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndC9tb2NrX2VuZ2luZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L21vY2tf ZW5naW5lLmMKQEAgLTMyLDkgKzMyLDIyIEBACiAjaW5jbHVkZSAibW9ja19lbmdpbmUuaCIKICNp bmNsdWRlICJzZWxmdGVzdHMvbW9ja19yZXF1ZXN0LmgiCiAKLXN0YXRpYyB2b2lkIG1vY2tfdGlt ZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCitzdGF0aWMgaW50IG1vY2tfdGlt ZWxpbmVfcGluKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CisJaW50IGVycjsKKworCWlm ICghdGwtPmh3c3BfY2FjaGVsaW5lKSB7CisJCWlmIChXQVJOX09OKCFpOTE1X2dlbV9vYmplY3Rf dHJ5bG9jayh0bC0+aHdzcF9nZ3R0LT5vYmopKSkKKwkJCXJldHVybiAtRUJVU1k7CisKKwkJZXJy ID0gaW50ZWxfdGltZWxpbmVfcGluX21hcCh0bCk7CisJCWk5MTVfZ2VtX29iamVjdF91bmxvY2so dGwtPmh3c3BfZ2d0dC0+b2JqKTsKKwkJaWYgKGVycikKKwkJCXJldHVybiBlcnI7CisJfQorCiAJ YXRvbWljX2luYygmdGwtPnBpbl9jb3VudCk7CisJcmV0dXJuIDA7CiB9CiAKIHN0YXRpYyB2b2lk IG1vY2tfdGltZWxpbmVfdW5waW4oc3RydWN0IGludGVsX3RpbWVsaW5lICp0bCkKQEAgLTE1Miw2 ICsxNjUsOCBAQCBzdGF0aWMgdm9pZCBtb2NrX2NvbnRleHRfZGVzdHJveShzdHJ1Y3Qga3JlZiAq cmVmKQogCiBzdGF0aWMgaW50IG1vY2tfY29udGV4dF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4 dCAqY2UpCiB7CisJaW50IGVycjsKKwogCWNlLT5yaW5nID0gbW9ja19yaW5nKGNlLT5lbmdpbmUp OwogCWlmICghY2UtPnJpbmcpCiAJCXJldHVybiAtRU5PTUVNOwpAQCAtMTYyLDcgKzE3NywxMiBA QCBzdGF0aWMgaW50IG1vY2tfY29udGV4dF9hbGxvYyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2Up CiAJCXJldHVybiBQVFJfRVJSKGNlLT50aW1lbGluZSk7CiAJfQogCi0JbW9ja190aW1lbGluZV9w aW4oY2UtPnRpbWVsaW5lKTsKKwllcnIgPSBtb2NrX3RpbWVsaW5lX3BpbihjZS0+dGltZWxpbmUp OworCWlmIChlcnIpIHsKKwkJaW50ZWxfdGltZWxpbmVfcHV0KGNlLT50aW1lbGluZSk7CisJCWNl LT50aW1lbGluZSA9IE5VTEw7CisJCXJldHVybiBlcnI7CisJfQogCiAJcmV0dXJuIDA7CiB9CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVzdF90aW1lbGluZS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qvc2VsZnRlc3RfdGltZWxpbmUuYwppbmRleCBmYTNmZWMw NDk1NDIuLjc0MzVhYmY1YTcwMyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Qv c2VsZnRlc3RfdGltZWxpbmUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9zZWxmdGVz dF90aW1lbGluZS5jCkBAIC0zNCw3ICszNCw3IEBAIHN0YXRpYyB1bnNpZ25lZCBsb25nIGh3c3Bf Y2FjaGVsaW5lKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwpCiB7CiAJdW5zaWduZWQgbG9uZyBh ZGRyZXNzID0gKHVuc2lnbmVkIGxvbmcpcGFnZV9hZGRyZXNzKGh3c3BfcGFnZSh0bCkpOwogCi0J cmV0dXJuIChhZGRyZXNzICsgdGwtPmh3c3Bfb2Zmc2V0KSAvIENBQ0hFTElORV9CWVRFUzsKKwly ZXR1cm4gKGFkZHJlc3MgKyBvZmZzZXRfaW5fcGFnZSh0bC0+aHdzcF9vZmZzZXQpKSAvIENBQ0hF TElORV9CWVRFUzsKIH0KIAogI2RlZmluZSBDQUNIRUxJTkVTX1BFUl9QQUdFIChQQUdFX1NJWkUg LyBDQUNIRUxJTkVfQllURVMpCkBAIC01OCw2ICs1OCw3IEBAIHN0YXRpYyB2b2lkIF9fbW9ja19o d3NwX3JlY29yZChzdHJ1Y3QgbW9ja19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAl0bCA9IHhjaGco JnN0YXRlLT5oaXN0b3J5W2lkeF0sIHRsKTsKIAlpZiAodGwpIHsKIAkJcmFkaXhfdHJlZV9kZWxl dGUoJnN0YXRlLT5jYWNoZWxpbmVzLCBod3NwX2NhY2hlbGluZSh0bCkpOworCQlpbnRlbF90aW1l bGluZV91bnBpbih0bCk7CiAJCWludGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJfQogfQpAQCAtNzcs NiArNzgsMTIgQEAgc3RhdGljIGludCBfX21vY2tfaHdzcF90aW1lbGluZShzdHJ1Y3QgbW9ja19o d3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJaWYgKElTX0VSUih0bCkpCiAJCQlyZXR1cm4gUFRSX0VS Uih0bCk7CiAKKwkJZXJyID0gaW50ZWxfdGltZWxpbmVfcGluKHRsLCBOVUxMKTsKKwkJaWYgKGVy cikgeworCQkJaW50ZWxfdGltZWxpbmVfcHV0KHRsKTsKKwkJCXJldHVybiBlcnI7CisJCX0KKwog CQljYWNoZWxpbmUgPSBod3NwX2NhY2hlbGluZSh0bCk7CiAJCWVyciA9IHJhZGl4X3RyZWVfaW5z ZXJ0KCZzdGF0ZS0+Y2FjaGVsaW5lcywgY2FjaGVsaW5lLCB0bCk7CiAJCWlmIChlcnIpIHsKQEAg LTg0LDYgKzkxLDcgQEAgc3RhdGljIGludCBfX21vY2tfaHdzcF90aW1lbGluZShzdHJ1Y3QgbW9j a19od3NwX2ZyZWVsaXN0ICpzdGF0ZSwKIAkJCQlwcl9lcnIoIkhXU1AgY2FjaGVsaW5lICVsdSBh bHJlYWR5IHVzZWQ7IGR1cGxpY2F0ZSBhbGxvY2F0aW9uIVxuIiwKIAkJCQkgICAgICAgY2FjaGVs aW5lKTsKIAkJCX0KKwkJCWludGVsX3RpbWVsaW5lX3VucGluKHRsKTsKIAkJCWludGVsX3RpbWVs aW5lX3B1dCh0bCk7CiAJCQlyZXR1cm4gZXJyOwogCQl9CkBAIC00NTEsNyArNDU5LDcgQEAgc3Rh dGljIGludCBlbWl0X2dndHRfc3RvcmVfZHcoc3RydWN0IGk5MTVfcmVxdWVzdCAqcnEsIHUzMiBh ZGRyLCB1MzIgdmFsdWUpCiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaTkxNV9yZXF1ZXN0ICoKLXRsX3dy aXRlKHN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGwsIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVu Z2luZSwgdTMyIHZhbHVlKQorY2hlY2tlZF90bF93cml0ZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUg KnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsIHUzMiB2YWx1ZSkKIHsKIAlzdHJ1 Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAlpbnQgZXJyOwpAQCAtNDYyLDYgKzQ3MCwxMyBAQCB0bF93 cml0ZShzdHJ1Y3QgaW50ZWxfdGltZWxpbmUgKnRsLCBzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpl bmdpbmUsIHUzMiB2YWx1ZSkKIAkJZ290byBvdXQ7CiAJfQogCisJaWYgKFJFQURfT05DRSgqdGwt Pmh3c3Bfc2Vxbm8pICE9IHRsLT5zZXFubykgeworCQlwcl9lcnIoIlRpbWVsaW5lIGNyZWF0ZWQg d2l0aCBpbmNvcnJlY3QgYnJlYWRjcnVtYiwgZm91bmQgJXgsIGV4cGVjdGVkICV4XG4iLAorCQkg ICAgICAgKnRsLT5od3NwX3NlcW5vLCB0bC0+c2Vxbm8pOworCQlpbnRlbF90aW1lbGluZV91bnBp bih0bCk7CisJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOworCX0KKwogCXJxID0gaW50ZWxfZW5n aW5lX2NyZWF0ZV9rZXJuZWxfcmVxdWVzdChlbmdpbmUpOwogCWlmIChJU19FUlIocnEpKQogCQln b3RvIG91dF91bnBpbjsKQEAgLTQ4MywyNSArNDk4LDYgQEAgdGxfd3JpdGUoc3RydWN0IGludGVs X3RpbWVsaW5lICp0bCwgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lLCB1MzIgdmFsdWUp CiAJcmV0dXJuIHJxOwogfQogCi1zdGF0aWMgc3RydWN0IGludGVsX3RpbWVsaW5lICoKLWNoZWNr ZWRfaW50ZWxfdGltZWxpbmVfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndCAqZ3QpCi17Ci0Jc3RydWN0 IGludGVsX3RpbWVsaW5lICp0bDsKLQotCXRsID0gaW50ZWxfdGltZWxpbmVfY3JlYXRlKGd0KTsK LQlpZiAoSVNfRVJSKHRsKSkKLQkJcmV0dXJuIHRsOwotCi0JaWYgKFJFQURfT05DRSgqdGwtPmh3 c3Bfc2Vxbm8pICE9IHRsLT5zZXFubykgewotCQlwcl9lcnIoIlRpbWVsaW5lIGNyZWF0ZWQgd2l0 aCBpbmNvcnJlY3QgYnJlYWRjcnVtYiwgZm91bmQgJXgsIGV4cGVjdGVkICV4XG4iLAotCQkgICAg ICAgKnRsLT5od3NwX3NlcW5vLCB0bC0+c2Vxbm8pOwotCQlpbnRlbF90aW1lbGluZV9wdXQodGwp OwotCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKLQl9Ci0KLQlyZXR1cm4gdGw7Ci19Ci0KIHN0 YXRpYyBpbnQgbGl2ZV9od3NwX2VuZ2luZSh2b2lkICphcmcpCiB7CiAjZGVmaW5lIE5VTV9USU1F TElORVMgNDA5NgpAQCAtNTM0LDEzICs1MzAsMTMgQEAgc3RhdGljIGludCBsaXZlX2h3c3BfZW5n aW5lKHZvaWQgKmFyZykKIAkJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAJCQlzdHJ1Y3Qg aTkxNV9yZXF1ZXN0ICpycTsKIAotCQkJdGwgPSBjaGVja2VkX2ludGVsX3RpbWVsaW5lX2NyZWF0 ZShndCk7CisJCQl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0ZShndCk7CiAJCQlpZiAoSVNfRVJS KHRsKSkgewogCQkJCWVyciA9IFBUUl9FUlIodGwpOwogCQkJCWJyZWFrOwogCQkJfQogCi0JCQly cSA9IHRsX3dyaXRlKHRsLCBlbmdpbmUsIGNvdW50KTsKKwkJCXJxID0gY2hlY2tlZF90bF93cml0 ZSh0bCwgZW5naW5lLCBjb3VudCk7CiAJCQlpZiAoSVNfRVJSKHJxKSkgewogCQkJCWludGVsX3Rp bWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gUFRSX0VSUihycSk7CkBAIC02MDcsMTQgKzYwMywx NCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9hbHRlcm5hdGUodm9pZCAqYXJnKQogCQkJaWYgKCFp bnRlbF9lbmdpbmVfY2FuX3N0b3JlX2R3b3JkKGVuZ2luZSkpCiAJCQkJY29udGludWU7CiAKLQkJ CXRsID0gY2hlY2tlZF9pbnRlbF90aW1lbGluZV9jcmVhdGUoZ3QpOworCQkJdGwgPSBpbnRlbF90 aW1lbGluZV9jcmVhdGUoZ3QpOwogCQkJaWYgKElTX0VSUih0bCkpIHsKIAkJCQllcnIgPSBQVFJf RVJSKHRsKTsKIAkJCQlnb3RvIG91dDsKIAkJCX0KIAogCQkJaW50ZWxfZW5naW5lX3BtX2dldChl bmdpbmUpOwotCQkJcnEgPSB0bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7CisJCQlycSA9IGNo ZWNrZWRfdGxfd3JpdGUodGwsIGVuZ2luZSwgY291bnQpOwogCQkJaW50ZWxfZW5naW5lX3BtX3B1 dChlbmdpbmUpOwogCQkJaWYgKElTX0VSUihycSkpIHsKIAkJCQlpbnRlbF90aW1lbGluZV9wdXQo dGwpOwpAQCAtMTIzOSw4ICsxMjM1LDEzIEBAIHN0YXRpYyBpbnQgbGl2ZV9od3NwX3JvbGxvdmVy X3VzZXIodm9pZCAqYXJnKQogCQlpZiAoIXRsLT5oYXNfaW5pdGlhbF9icmVhZGNydW1iIHx8ICF0 bC0+aHdzcF9jYWNoZWxpbmUpCiAJCQlnb3RvIG91dDsKIAorCQllcnIgPSBpbnRlbF9jb250ZXh0 X3BpbihjZSk7CisJCWlmIChlcnIpCisJCQlnb3RvIG91dDsKKwogCQl0aW1lbGluZV9yb2xsYmFj ayh0bCk7CiAJCXRpbWVsaW5lX3JvbGxiYWNrKHRsKTsKKwogCQlXUklURV9PTkNFKCoodTMyICop dGwtPmh3c3Bfc2Vxbm8sIHRsLT5zZXFubyk7CiAKIAkJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJ WkUocnEpOyBpKyspIHsKQEAgLTEyNDksNyArMTI1MCw3IEBAIHN0YXRpYyBpbnQgbGl2ZV9od3Nw X3JvbGxvdmVyX3VzZXIodm9pZCAqYXJnKQogCQkJdGhpcyA9IGludGVsX2NvbnRleHRfY3JlYXRl X3JlcXVlc3QoY2UpOwogCQkJaWYgKElTX0VSUih0aGlzKSkgewogCQkJCWVyciA9IFBUUl9FUlIo dGhpcyk7Ci0JCQkJZ290byBvdXQ7CisJCQkJZ290byBvdXRfdW5waW47CiAJCQl9CiAKIAkJCXBy X2RlYnVnKCIlczogY3JlYXRlIGZlbmNlLnNlcW5wOiVkXG4iLApAQCAtMTI2OCwxNyArMTI2OSwx OCBAQCBzdGF0aWMgaW50IGxpdmVfaHdzcF9yb2xsb3Zlcl91c2VyKHZvaWQgKmFyZykKIAkJaWYg KGk5MTVfcmVxdWVzdF93YWl0KHJxWzJdLCAwLCBIWiAvIDUpIDwgMCkgewogCQkJcHJfZXJyKCJX YWl0IGZvciB0aW1lbGluZSB3cmFwIHRpbWVkIG91dCFcbiIpOwogCQkJZXJyID0gLUVJTzsKLQkJ CWdvdG8gb3V0OworCQkJZ290byBvdXRfdW5waW47CiAJCX0KIAogCQlmb3IgKGkgPSAwOyBpIDwg QVJSQVlfU0laRShycSk7IGkrKykgewogCQkJaWYgKCFpOTE1X3JlcXVlc3RfY29tcGxldGVkKHJx W2ldKSkgewogCQkJCXByX2VycigiUHJlLXdyYXAgcmVxdWVzdCBub3QgY29tcGxldGVkIVxuIik7 CiAJCQkJZXJyID0gLUVJTlZBTDsKLQkJCQlnb3RvIG91dDsKKwkJCQlnb3RvIG91dF91bnBpbjsK IAkJCX0KIAkJfQotCitvdXRfdW5waW46CisJCWludGVsX2NvbnRleHRfdW5waW4oY2UpOwogb3V0 OgogCQlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShycSk7IGkrKykKIAkJCWk5MTVfcmVxdWVz dF9wdXQocnFbaV0pOwpAQCAtMTMyMCwxMyArMTMyMiwxMyBAQCBzdGF0aWMgaW50IGxpdmVfaHdz cF9yZWN5Y2xlKHZvaWQgKmFyZykKIAkJCXN0cnVjdCBpbnRlbF90aW1lbGluZSAqdGw7CiAJCQlz dHJ1Y3QgaTkxNV9yZXF1ZXN0ICpycTsKIAotCQkJdGwgPSBjaGVja2VkX2ludGVsX3RpbWVsaW5l X2NyZWF0ZShndCk7CisJCQl0bCA9IGludGVsX3RpbWVsaW5lX2NyZWF0ZShndCk7CiAJCQlpZiAo SVNfRVJSKHRsKSkgewogCQkJCWVyciA9IFBUUl9FUlIodGwpOwogCQkJCWJyZWFrOwogCQkJfQog Ci0JCQlycSA9IHRsX3dyaXRlKHRsLCBlbmdpbmUsIGNvdW50KTsKKwkJCXJxID0gY2hlY2tlZF90 bF93cml0ZSh0bCwgZW5naW5lLCBjb3VudCk7CiAJCQlpZiAoSVNfRVJSKHJxKSkgewogCQkJCWlu dGVsX3RpbWVsaW5lX3B1dCh0bCk7CiAJCQkJZXJyID0gUFRSX0VSUihycSk7CmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NlbGZ0ZXN0LmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X3NlbGZ0ZXN0LmgKaW5kZXggZDUzZDIwN2FiNmViLi5mNTRkZTA0OTliZTcgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc2VsZnRlc3QuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3NlbGZ0ZXN0LmgKQEAgLTEwNyw2ICsxMDcsNyBAQCBpbnQg X19pOTE1X3N1YnRlc3RzKGNvbnN0IGNoYXIgKmNhbGxlciwKIAogI2RlZmluZSBJOTE1X1NFTEZU RVNUX0RFQ0xBUkUoeCkgeAogI2RlZmluZSBJOTE1X1NFTEZURVNUX09OTFkoeCkgdW5saWtlbHko eCkKKyNkZWZpbmUgSTkxNV9TRUxGVEVTVF9FWFBPUlQKIAogI2Vsc2UgLyogIUlTX0VOQUJMRUQo Q09ORklHX0RSTV9JOTE1X1NFTEZURVNUKSAqLwogCkBAIC0xMTYsNiArMTE3LDcgQEAgc3RhdGlj IGlubGluZSBpbnQgaTkxNV9wZXJmX3NlbGZ0ZXN0cyhzdHJ1Y3QgcGNpX2RldiAqcGRldikgeyBy ZXR1cm4gMDsgfQogCiAjZGVmaW5lIEk5MTVfU0VMRlRFU1RfREVDTEFSRSh4KQogI2RlZmluZSBJ OTE1X1NFTEZURVNUX09OTFkoeCkgMAorI2RlZmluZSBJOTE1X1NFTEZURVNUX0VYUE9SVCBzdGF0 aWMKIAogI2VuZGlmCiAKLS0gCjIuMjYuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMu ZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlz dGluZm8vZHJpLWRldmVsCg==