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.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 F138AC433DB for ; Tue, 23 Mar 2021 15:59: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 BC20C619D0 for ; Tue, 23 Mar 2021 15:59:16 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org BC20C619D0 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=dri-devel-bounces@lists.freedesktop.org Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id EBB626EC48; Tue, 23 Mar 2021 15:58:07 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id B14C16EC29 for ; Tue, 23 Mar 2021 15:57:45 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Subject: [PATCH v9 26/70] drm/i915: Make lrc_init_wa_ctx compatible with ww locking, v3. Date: Tue, 23 Mar 2021 16:50:15 +0100 Message-Id: <20210323155059.628690-27-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.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: =?UTF-8?q?Thomas=20Hellstr=C3=B6m?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" TWFrZSBjcmVhdGlvbiBzZXBhcmF0ZSBmcm9tIHBpbm5pbmcsIGluIG9yZGVyIHRvIHRha2UgdGhl IGxvY2sgb25seQpvbmNlLCBhbmQgcGluIHRoZSBtYXBwaW5nIHdpdGggdGhlIGxvY2sgaGVsZC4K CkNoYW5nZXMgc2luY2UgdjE6Ci0gUmViYXNlIG9uIHRvcCBvZiB1cHN0cmVhbSBjaGFuZ2VzLgpD aGFuZ2VzIHNpbmNlIHYyOgotIEZ1bGx5IGNsZWFyIHdhX2N0eCBvbiBlcnJvci4KClNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgfCA0 OSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM4IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMK aW5kZXggODUwOGI4ZDcwMWMxLi5hMmI5MTZkMjdhMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2xyYy5jCkBAIC0xNDIxLDcgKzE0MjEsNyBAQCBnZW4xMF9pbml0X2luZGlyZWN0Y3R4X2Ji KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAogI2RlZmluZSBD VFhfV0FfQkJfU0laRSAoUEFHRV9TSVpFKQogCi1zdGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHgo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorc3RhdGljIGludCBscmNfY3JlYXRlX3dh X2N0eChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKQEAgLTE0MzcsMTAgKzE0 MzcsNiBAQCBzdGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogCQlnb3RvIGVycjsKIAl9CiAKLQllcnIgPSBpOTE1X2dndHRfcGluKHZtYSwg TlVMTCwgMCwgUElOX0hJR0gpOwotCWlmIChlcnIpCi0JCWdvdG8gZXJyOwotCiAJZW5naW5lLT53 YV9jdHgudm1hID0gdm1hOwogCXJldHVybiAwOwogCkBAIC0xNDUyLDkgKzE0NDgsNiBAQCBzdGF0 aWMgaW50IGxyY19zZXR1cF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog dm9pZCBscmNfZmluaV93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewog CWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZlbmdpbmUtPndhX2N0eC52bWEsIDApOwotCi0J LyogQ2FsbGVkIG9uIGVycm9yIHVud2luZCwgY2xlYXIgYWxsIGZsYWdzIHRvIHByZXZlbnQgZnVy dGhlciB1c2UgKi8KLQltZW1zZXQoJmVuZ2luZS0+d2FfY3R4LCAwLCBzaXplb2YoZW5naW5lLT53 YV9jdHgpKTsKIH0KIAogdHlwZWRlZiB1MzIgKigqd2FfYmJfZnVuY190KShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsIHUzMiAqYmF0Y2gpOwpAQCAtMTQ2Niw2ICsxNDU5LDcgQEAgdm9p ZCBscmNfaW5pdF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkmd2Ff Y3R4LT5pbmRpcmVjdF9jdHgsICZ3YV9jdHgtPnBlcl9jdHgKIAl9OwogCXdhX2JiX2Z1bmNfdCB3 YV9iYl9mbltBUlJBWV9TSVpFKHdhX2JiKV07CisJc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsK IAl2b2lkICpiYXRjaCwgKmJhdGNoX3B0cjsKIAl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgZXJyOwpA QCAtMTQ5NCw3ICsxNDg4LDcgQEAgdm9pZCBscmNfaW5pdF93YV9jdHgoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCQlyZXR1cm47CiAJfQogCi0JZXJyID0gbHJjX3NldHVwX3dhX2N0 eChlbmdpbmUpOworCWVyciA9IGxyY19jcmVhdGVfd2FfY3R4KGVuZ2luZSk7CiAJaWYgKGVycikg ewogCQkvKgogCQkgKiBXZSBjb250aW51ZSBldmVuIGlmIHdlIGZhaWwgdG8gaW5pdGlhbGl6ZSBX QSBiYXRjaApAQCAtMTUwNyw3ICsxNTAxLDIyIEBAIHZvaWQgbHJjX2luaXRfd2FfY3R4KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJcmV0dXJuOwogCX0KIAorCWlmICghZW5naW5l LT53YV9jdHgudm1hKQorCQlyZXR1cm47CisKKwlpOTE1X2dlbV93d19jdHhfaW5pdCgmd3csIHRy dWUpOworcmV0cnk6CisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2sod2FfY3R4LT52bWEtPm9i aiwgJnd3KTsKKwlpZiAoIWVycikKKwkJZXJyID0gaTkxNV9nZ3R0X3Bpbih3YV9jdHgtPnZtYSwg Jnd3LCAwLCBQSU5fSElHSCk7CisJaWYgKGVycikKKwkJZ290byBlcnI7CisKIAliYXRjaCA9IGk5 MTVfZ2VtX29iamVjdF9waW5fbWFwKHdhX2N0eC0+dm1hLT5vYmosIEk5MTVfTUFQX1dCKTsKKwlp ZiAoSVNfRVJSKGJhdGNoKSkgeworCQllcnIgPSBQVFJfRVJSKGJhdGNoKTsKKwkJZ290byBlcnJf dW5waW47CisJfQogCiAJLyoKIAkgKiBFbWl0IHRoZSB0d28gd29ya2Fyb3VuZCBiYXRjaCBidWZm ZXJzLCByZWNvcmRpbmcgdGhlIG9mZnNldCBmcm9tIHRoZQpAQCAtMTUzMiw4ICsxNTQxLDI2IEBA IHZvaWQgbHJjX2luaXRfd2FfY3R4KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlf X2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21hcCh3YV9jdHgtPnZtYS0+b2JqKTsKIAogCS8qIFZl cmlmeSB0aGF0IHdlIGNhbiBoYW5kbGUgZmFpbHVyZSB0byBzZXR1cCB0aGUgd2FfY3R4ICovCi0J aWYgKGVyciB8fCBpOTE1X2luamVjdF9wcm9iZV9lcnJvcihlbmdpbmUtPmk5MTUsIC1FTk9ERVYp KQotCQlscmNfZmluaV93YV9jdHgoZW5naW5lKTsKKwlpZiAoIWVycikKKwkJZXJyID0gaTkxNV9p bmplY3RfcHJvYmVfZXJyb3IoZW5naW5lLT5pOTE1LCAtRU5PREVWKTsKKworZXJyX3VucGluOgor CWlmIChlcnIpCisJCWk5MTVfdm1hX3VucGluKHdhX2N0eC0+dm1hKTsKK2VycjoKKwlpZiAoZXJy ID09IC1FREVBRExLKSB7CisJCWVyciA9IGk5MTVfZ2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJ CWlmICghZXJyKQorCQkJZ290byByZXRyeTsKKwl9CisJaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3 KTsKKworCWlmIChlcnIpIHsKKwkJaTkxNV92bWFfcHV0KGVuZ2luZS0+d2FfY3R4LnZtYSk7CisK KwkJLyogQ2xlYXIgYWxsIGZsYWdzIHRvIHByZXZlbnQgZnVydGhlciB1c2UgKi8KKwkJbWVtc2V0 KHdhX2N0eCwgMCwgc2l6ZW9mKCp3YV9jdHgpKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIHN0X3J1 bnRpbWVfdW5kZXJmbG93KHN0cnVjdCBpbnRlbF9jb250ZXh0X3N0YXRzICpzdGF0cywgczMyIGR0 KQotLSAKMi4zMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2 ZWwK 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.8 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS,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 DC7A0C433E0 for ; Tue, 23 Mar 2021 15:52:26 +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 993FF61963 for ; Tue, 23 Mar 2021 15:52:25 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 993FF61963 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 183B16EB8B; Tue, 23 Mar 2021 15:52:25 +0000 (UTC) Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id BC0506EAAD for ; Tue, 23 Mar 2021 15:51:16 +0000 (UTC) From: Maarten Lankhorst To: intel-gfx@lists.freedesktop.org Date: Tue, 23 Mar 2021 16:50:15 +0100 Message-Id: <20210323155059.628690-27-maarten.lankhorst@linux.intel.com> X-Mailer: git-send-email 2.31.0 In-Reply-To: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> References: <20210323155059.628690-1-maarten.lankhorst@linux.intel.com> MIME-Version: 1.0 Subject: [Intel-gfx] [PATCH v9 26/70] drm/i915: Make lrc_init_wa_ctx compatible with ww locking, 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?= , dri-devel@lists.freedesktop.org Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" TWFrZSBjcmVhdGlvbiBzZXBhcmF0ZSBmcm9tIHBpbm5pbmcsIGluIG9yZGVyIHRvIHRha2UgdGhl IGxvY2sgb25seQpvbmNlLCBhbmQgcGluIHRoZSBtYXBwaW5nIHdpdGggdGhlIGxvY2sgaGVsZC4K CkNoYW5nZXMgc2luY2UgdjE6Ci0gUmViYXNlIG9uIHRvcCBvZiB1cHN0cmVhbSBjaGFuZ2VzLgpD aGFuZ2VzIHNpbmNlIHYyOgotIEZ1bGx5IGNsZWFyIHdhX2N0eCBvbiBlcnJvci4KClNpZ25lZC1v ZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5j b20+ClJldmlld2VkLWJ5OiBUaG9tYXMgSGVsbHN0csO2bSA8dGhvbWFzLmhlbGxzdHJvbUBsaW51 eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMgfCA0 OSArKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDM4IGluc2Vy dGlvbnMoKyksIDExIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d0L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfbHJjLmMK aW5kZXggODUwOGI4ZDcwMWMxLi5hMmI5MTZkMjdhMzkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2xyYy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX2xyYy5jCkBAIC0xNDIxLDcgKzE0MjEsNyBAQCBnZW4xMF9pbml0X2luZGlyZWN0Y3R4X2Ji KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwgdTMyICpiYXRjaCkKIAogI2RlZmluZSBD VFhfV0FfQkJfU0laRSAoUEFHRV9TSVpFKQogCi1zdGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHgo c3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQorc3RhdGljIGludCBscmNfY3JlYXRlX3dh X2N0eChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUpCiB7CiAJc3RydWN0IGRybV9pOTE1 X2dlbV9vYmplY3QgKm9iajsKIAlzdHJ1Y3QgaTkxNV92bWEgKnZtYTsKQEAgLTE0MzcsMTAgKzE0 MzcsNiBAQCBzdGF0aWMgaW50IGxyY19zZXR1cF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9j cyAqZW5naW5lKQogCQlnb3RvIGVycjsKIAl9CiAKLQllcnIgPSBpOTE1X2dndHRfcGluKHZtYSwg TlVMTCwgMCwgUElOX0hJR0gpOwotCWlmIChlcnIpCi0JCWdvdG8gZXJyOwotCiAJZW5naW5lLT53 YV9jdHgudm1hID0gdm1hOwogCXJldHVybiAwOwogCkBAIC0xNDUyLDkgKzE0NDgsNiBAQCBzdGF0 aWMgaW50IGxyY19zZXR1cF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog dm9pZCBscmNfZmluaV93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogewog CWk5MTVfdm1hX3VucGluX2FuZF9yZWxlYXNlKCZlbmdpbmUtPndhX2N0eC52bWEsIDApOwotCi0J LyogQ2FsbGVkIG9uIGVycm9yIHVud2luZCwgY2xlYXIgYWxsIGZsYWdzIHRvIHByZXZlbnQgZnVy dGhlciB1c2UgKi8KLQltZW1zZXQoJmVuZ2luZS0+d2FfY3R4LCAwLCBzaXplb2YoZW5naW5lLT53 YV9jdHgpKTsKIH0KIAogdHlwZWRlZiB1MzIgKigqd2FfYmJfZnVuY190KShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsIHUzMiAqYmF0Y2gpOwpAQCAtMTQ2Niw2ICsxNDU5LDcgQEAgdm9p ZCBscmNfaW5pdF93YV9jdHgoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQogCQkmd2Ff Y3R4LT5pbmRpcmVjdF9jdHgsICZ3YV9jdHgtPnBlcl9jdHgKIAl9OwogCXdhX2JiX2Z1bmNfdCB3 YV9iYl9mbltBUlJBWV9TSVpFKHdhX2JiKV07CisJc3RydWN0IGk5MTVfZ2VtX3d3X2N0eCB3dzsK IAl2b2lkICpiYXRjaCwgKmJhdGNoX3B0cjsKIAl1bnNpZ25lZCBpbnQgaTsKIAlpbnQgZXJyOwpA QCAtMTQ5NCw3ICsxNDg4LDcgQEAgdm9pZCBscmNfaW5pdF93YV9jdHgoc3RydWN0IGludGVsX2Vu Z2luZV9jcyAqZW5naW5lKQogCQlyZXR1cm47CiAJfQogCi0JZXJyID0gbHJjX3NldHVwX3dhX2N0 eChlbmdpbmUpOworCWVyciA9IGxyY19jcmVhdGVfd2FfY3R4KGVuZ2luZSk7CiAJaWYgKGVycikg ewogCQkvKgogCQkgKiBXZSBjb250aW51ZSBldmVuIGlmIHdlIGZhaWwgdG8gaW5pdGlhbGl6ZSBX QSBiYXRjaApAQCAtMTUwNyw3ICsxNTAxLDIyIEBAIHZvaWQgbHJjX2luaXRfd2FfY3R4KHN0cnVj dCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAkJcmV0dXJuOwogCX0KIAorCWlmICghZW5naW5l LT53YV9jdHgudm1hKQorCQlyZXR1cm47CisKKwlpOTE1X2dlbV93d19jdHhfaW5pdCgmd3csIHRy dWUpOworcmV0cnk6CisJZXJyID0gaTkxNV9nZW1fb2JqZWN0X2xvY2sod2FfY3R4LT52bWEtPm9i aiwgJnd3KTsKKwlpZiAoIWVycikKKwkJZXJyID0gaTkxNV9nZ3R0X3Bpbih3YV9jdHgtPnZtYSwg Jnd3LCAwLCBQSU5fSElHSCk7CisJaWYgKGVycikKKwkJZ290byBlcnI7CisKIAliYXRjaCA9IGk5 MTVfZ2VtX29iamVjdF9waW5fbWFwKHdhX2N0eC0+dm1hLT5vYmosIEk5MTVfTUFQX1dCKTsKKwlp ZiAoSVNfRVJSKGJhdGNoKSkgeworCQllcnIgPSBQVFJfRVJSKGJhdGNoKTsKKwkJZ290byBlcnJf dW5waW47CisJfQogCiAJLyoKIAkgKiBFbWl0IHRoZSB0d28gd29ya2Fyb3VuZCBiYXRjaCBidWZm ZXJzLCByZWNvcmRpbmcgdGhlIG9mZnNldCBmcm9tIHRoZQpAQCAtMTUzMiw4ICsxNTQxLDI2IEBA IHZvaWQgbHJjX2luaXRfd2FfY3R4KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkKIAlf X2k5MTVfZ2VtX29iamVjdF9yZWxlYXNlX21hcCh3YV9jdHgtPnZtYS0+b2JqKTsKIAogCS8qIFZl cmlmeSB0aGF0IHdlIGNhbiBoYW5kbGUgZmFpbHVyZSB0byBzZXR1cCB0aGUgd2FfY3R4ICovCi0J aWYgKGVyciB8fCBpOTE1X2luamVjdF9wcm9iZV9lcnJvcihlbmdpbmUtPmk5MTUsIC1FTk9ERVYp KQotCQlscmNfZmluaV93YV9jdHgoZW5naW5lKTsKKwlpZiAoIWVycikKKwkJZXJyID0gaTkxNV9p bmplY3RfcHJvYmVfZXJyb3IoZW5naW5lLT5pOTE1LCAtRU5PREVWKTsKKworZXJyX3VucGluOgor CWlmIChlcnIpCisJCWk5MTVfdm1hX3VucGluKHdhX2N0eC0+dm1hKTsKK2VycjoKKwlpZiAoZXJy ID09IC1FREVBRExLKSB7CisJCWVyciA9IGk5MTVfZ2VtX3d3X2N0eF9iYWNrb2ZmKCZ3dyk7CisJ CWlmICghZXJyKQorCQkJZ290byByZXRyeTsKKwl9CisJaTkxNV9nZW1fd3dfY3R4X2ZpbmkoJnd3 KTsKKworCWlmIChlcnIpIHsKKwkJaTkxNV92bWFfcHV0KGVuZ2luZS0+d2FfY3R4LnZtYSk7CisK KwkJLyogQ2xlYXIgYWxsIGZsYWdzIHRvIHByZXZlbnQgZnVydGhlciB1c2UgKi8KKwkJbWVtc2V0 KHdhX2N0eCwgMCwgc2l6ZW9mKCp3YV9jdHgpKTsKKwl9CiB9CiAKIHN0YXRpYyB2b2lkIHN0X3J1 bnRpbWVfdW5kZXJmbG93KHN0cnVjdCBpbnRlbF9jb250ZXh0X3N0YXRzICpzdGF0cywgczMyIGR0 KQotLSAKMi4zMS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK