From mboxrd@z Thu Jan 1 00:00:00 1970 From: Manasi Navare Subject: [PATCH 1/6] drm/i915/display/icl: Save Master transcoder in slave's crtc_state for Transcoder Port Sync Date: Sun, 8 Sep 2019 20:43:20 -0700 Message-ID: <20190909034325.20006-2-manasi.d.navare@intel.com> References: <20190909034325.20006-1-manasi.d.navare@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 300CE8940F for ; Mon, 9 Sep 2019 03:42:08 +0000 (UTC) In-Reply-To: <20190909034325.20006-1-manasi.d.navare@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 Cc: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org SW4gY2FzZSBvZiB0aWxlZCBkaXNwbGF5cyB3aGVuIHRoZSB0d28gdGlsZXMgYXJlIHNlbnQgYWNy b3NzIHR3byBDUlRDcwpvdmVyIHR3byBzZXBhcmF0ZSBEUCBTU1QgY29ubmVjdG9ycywgd2UgbmVl ZCBhIG1lY2hhbmlzbSB0byBzeW5jaHJvbml6ZQp0aGUgdHdvIENSVENzIGFuZCB0aGVpciBjb3Jy ZXNwb25kaW5nIHRyYW5zY29kZXJzLgpTbyB1c2UgdGhlIG1hc3Rlci1zbGF2ZSBtb2RlIHdoZXJl IHRoZXJlIGlzIG9uZSBtYXN0ZXIgY29ycmVzcG9uZGluZwp0byBsYXN0IGhvcml6b250YWwgYW5k IHZlcnRpY2FsIHRpbGUgdGhhdCBuZWVkcyB0byBiZSBnZW5sb2NrZWQgd2l0aAphbGwgb3RoZXIg c2xhdmUgdGlsZXMuClRoaXMgcGF0Y2ggaWRlbnRpZmllcyBzYXZlcyB0aGUgbWFzdGVyIHRyYW5z Y29kZXIgaW4gYWxsIHRoZSBzbGF2ZQpDUlRDIHN0YXRlcy4gVGhpcyBpcyBuZWVkZWQgdG8gc2Vs ZWN0IHRoZSBtYXN0ZXIgQ1JUQy90cmFuc2NvZGVyCndoaWxlIGNvbmZpZ3VyaW5nIHRyYW5zY29k ZXIgcG9ydCBzeW5jIGZvciB0aGUgY29ycmVzcG9uZGluZyBzbGF2ZXMuCgp2MzoKKiBVc2UgbWFz dGVyX3RyYW1zY29kZXIgaW5zdGVhZCBvZiBtYXN0ZXJfY3J0YyBmb3IgdmFsaWQKSFcgc3RhdGUg cmVhZG91dHMgKFZpbGxlKQp2MjoKKiBNb3ZlIHRoaXMgdG8gaW50ZWxfbW9kZV9zZXRfcGlwZV9j b25maWcoSmFuaSBOLCBWaWxsZSkKKiBVc2Ugc2xhdmVfYml0bWFzayB0byBzYXZlIGFzc29jaWF0 ZWQgc2xhdmVzIGluIG1hc3RlciBjcnRjIHN0YXRlIChWaWxsZSkKCkNjOiBEYW5pZWwgVmV0dGVy IDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJq YWxhQGxpbnV4LmludGVsLmNvbT4KQ2M6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVuLmxhbmto b3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBNYXR0IFJvcGVyIDxtYXR0aGV3LmQucm9wZXJAaW50 ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBNYW5hc2kgTmF2YXJlIDxtYW5hc2kuZC5uYXZhcmVAaW50 ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5j ICB8IDEwNSArKysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkv aW50ZWxfZGlzcGxheS5oICB8ICAgMSArCiAuLi4vZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNw bGF5X3R5cGVzLmggICAgfCAgIDYgKwogMyBmaWxlcyBjaGFuZ2VkLCAxMTIgaW5zZXJ0aW9ucygr KQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxh eS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmMKaW5kZXgg NGMzMDY3MmJkMTA4Li44OTQyYzkwNWFlNjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rp c3BsYXkvaW50ZWxfZGlzcGxheS5jCkBAIC0xMTc0NSw2ICsxMTc0NSw5MSBAQCBzdGF0aWMgYm9v bCBjOF9wbGFuZXNfY2hhbmdlZChjb25zdCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqbmV3X2Ny dGNfc3RhdGUpCiAJcmV0dXJuICFvbGRfY3J0Y19zdGF0ZS0+YzhfcGxhbmVzICE9ICFuZXdfY3J0 Y19zdGF0ZS0+YzhfcGxhbmVzOwogfQogCitzdGF0aWMgaW50IGljbF9hZGRfc3luY19tb2RlX2Ny dGNzKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKKwkJCQkgICBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0 ZSAqY3J0Y19zdGF0ZSwKKwkJCQkgICBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCit7 CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjX3N0YXRl LT5iYXNlLmNydGMtPmRldik7CisJc3RydWN0IGRybV9jb25uZWN0b3IgKm1hc3Rlcl9jb25uZWN0 b3IsICpjb25uZWN0b3I7CisJc3RydWN0IGRybV9jb25uZWN0b3Jfc3RhdGUgKmNvbm5lY3Rvcl9z dGF0ZTsKKwlzdHJ1Y3QgZHJtX2Nvbm5lY3Rvcl9saXN0X2l0ZXIgY29ubl9pdGVyOworCXN0cnVj dCBkcm1fY3J0YyAqbWFzdGVyX2NydGMgPSBOVUxMOworCXN0cnVjdCBkcm1fY3J0Y19zdGF0ZSAq bWFzdGVyX2NydGNfc3RhdGU7CisJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm1hc3Rlcl9waXBl X2NvbmZpZzsKKwlpbnQgaSwgdGlsZV9ncm91cF9pZDsKKworCWlmIChJTlRFTF9HRU4oZGV2X3By aXYpIDwgMTEpCisJCXJldHVybiAwOworCisJLyoKKwkgKiBJbiBjYXNlIG9mIHRpbGVkIGRpc3Bs YXlzIHRoZXJlIGNvdWxkIGJlIG9uZSBvciBtb3JlIHNsYXZlcyBidXQgdGhlcmUgaXMKKwkgKiBv bmx5IG9uZSBtYXN0ZXIuIExldHMgbWFrZSB0aGUgQ1JUQyB1c2VkIGJ5IHRoZSBjb25uZWN0b3Ig Y29ycmVzcG9uZGluZworCSAqIHRvIHRoZSBsYXN0IGhvcml6b25hbCBhbmQgbGFzdCB2ZXJ0aWNh bCB0aWxlIGEgbWFzdGVyL2dlbmxvY2sgQ1JUQy4KKwkgKiBBbGwgdGhlIG90aGVyIENSVENzIGNv cnJlc3BvbmRpbmcgdG8gb3RoZXIgdGlsZXMgb2YgdGhlIHNhbWUgVGlsZSBncm91cAorCSAqIGFy ZSB0aGUgc2xhdmUgQ1JUQ3MgYW5kIGhvbGQgYSBwb2ludGVyIHRvIHRoZWlyIGdlbmxvY2sgQ1JU Qy4KKwkgKi8KKwlmb3JfZWFjaF9uZXdfY29ubmVjdG9yX2luX3N0YXRlKHN0YXRlLCBjb25uZWN0 b3IsIGNvbm5lY3Rvcl9zdGF0ZSwgaSkgeworCQlpZiAoY29ubmVjdG9yX3N0YXRlLT5jcnRjICE9 IGNydGMpCisJCQljb250aW51ZTsKKwkJaWYgKCFjb25uZWN0b3ItPmhhc190aWxlKQorCQkJY29u dGludWU7CisJCWlmIChjcnRjX3N0YXRlLT5iYXNlLm1vZGUuaGRpc3BsYXkgIT0gY29ubmVjdG9y LT50aWxlX2hfc2l6ZSB8fAorCQkgICAgY3J0Y19zdGF0ZS0+YmFzZS5tb2RlLnZkaXNwbGF5ICE9 IGNvbm5lY3Rvci0+dGlsZV92X3NpemUpCisJCQlyZXR1cm4gMDsKKwkJaWYgKGNvbm5lY3Rvci0+ dGlsZV9oX2xvYyA9PSBjb25uZWN0b3ItPm51bV9oX3RpbGUgLSAxICYmCisJCSAgICBjb25uZWN0 b3ItPnRpbGVfdl9sb2MgPT0gY29ubmVjdG9yLT5udW1fdl90aWxlIC0gMSkKKwkJCWNvbnRpbnVl OworCQljcnRjX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPSAwOworCQl0aWxlX2dyb3Vw X2lkID0gY29ubmVjdG9yLT50aWxlX2dyb3VwLT5pZDsKKwkJZHJtX2Nvbm5lY3Rvcl9saXN0X2l0 ZXJfYmVnaW4oJmRldl9wcml2LT5kcm0sICZjb25uX2l0ZXIpOworCQlkcm1fZm9yX2VhY2hfY29u bmVjdG9yX2l0ZXIobWFzdGVyX2Nvbm5lY3RvciwgJmNvbm5faXRlcikgeworCQkJc3RydWN0IGRy bV9jb25uZWN0b3Jfc3RhdGUgKm1hc3Rlcl9jb25uX3N0YXRlID0gTlVMTDsKKworCQkJaWYgKCFt YXN0ZXJfY29ubmVjdG9yLT5oYXNfdGlsZSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChtYXN0ZXJf Y29ubmVjdG9yLT50aWxlX2hfbG9jICE9IG1hc3Rlcl9jb25uZWN0b3ItPm51bV9oX3RpbGUgLSAx IHx8CisJCQkgICAgbWFzdGVyX2Nvbm5lY3Rvci0+dGlsZV92X2xvYyAhPSBtYXN0ZXJfY29ubmVj dG9yLT5udW1fdl90aWxlIC0gMSkKKwkJCQljb250aW51ZTsKKwkJCWlmIChtYXN0ZXJfY29ubmVj dG9yLT50aWxlX2dyb3VwLT5pZCAhPSB0aWxlX2dyb3VwX2lkKQorCQkJCWNvbnRpbnVlOworCisJ CQltYXN0ZXJfY29ubl9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X2Nvbm5lY3Rvcl9zdGF0ZShzdGF0 ZSwKKwkJCQkJCQkJCSAgIG1hc3Rlcl9jb25uZWN0b3IpOworCQkJaWYgKElTX0VSUihtYXN0ZXJf Y29ubl9zdGF0ZSkpIHsKKwkJCQlkcm1fY29ubmVjdG9yX2xpc3RfaXRlcl9lbmQoJmNvbm5faXRl cik7CisJCQkJcmV0dXJuIFBUUl9FUlIobWFzdGVyX2Nvbm5fc3RhdGUpOworCQkJfQorCQkJaWYg KG1hc3Rlcl9jb25uX3N0YXRlLT5jcnRjKSB7CisJCQkJbWFzdGVyX2NydGMgPSBtYXN0ZXJfY29u bl9zdGF0ZS0+Y3J0YzsKKwkJCQlicmVhazsKKwkJCX0KKwkJfQorCQlkcm1fY29ubmVjdG9yX2xp c3RfaXRlcl9lbmQoJmNvbm5faXRlcik7CisKKwkJaWYgKCFtYXN0ZXJfY3J0YykgeworCQkJRFJN X0RFQlVHX0tNUygiQ291bGQgbm90IGZpbmQgTWFzdGVyIENSVEMgZm9yIFNsYXZlIENSVEMgJWRc biIsCisJCQkJICAgICAgY29ubmVjdG9yX3N0YXRlLT5jcnRjLT5iYXNlLmlkKTsKKwkJCXJldHVy biAtRUlOVkFMOworCQl9CisKKwkJbWFzdGVyX2NydGNfc3RhdGUgPSBkcm1fYXRvbWljX2dldF9j cnRjX3N0YXRlKHN0YXRlLAorCQkJCQkJCSAgICAgIG1hc3Rlcl9jcnRjKTsKKwkJaWYgKElTX0VS UihtYXN0ZXJfY3J0Y19zdGF0ZSkpCisJCQlyZXR1cm4gUFRSX0VSUihtYXN0ZXJfY3J0Y19zdGF0 ZSk7CisKKwkJbWFzdGVyX3BpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShtYXN0ZXJf Y3J0Y19zdGF0ZSk7CisJCWNydGNfc3RhdGUtPm1hc3Rlcl90cmFuc2NvZGVyID0gbWFzdGVyX3Bp cGVfY29uZmlnLT5jcHVfdHJhbnNjb2RlcjsKKwkJbWFzdGVyX3BpcGVfY29uZmlnLT5zeW5jX21v ZGVfc2xhdmVzX21hc2sgfD0KKwkJCUJJVChjcnRjX3N0YXRlLT5jcHVfdHJhbnNjb2Rlcik7CisJ CURSTV9ERUJVR19LTVMoIk1hc3RlciBUcmFuc2NvZGVyID0gJXMgYWRkZWQgZm9yIFNsYXZlIENS VEMgPSAlZCwgc2xhdmUgdHJhbnNjb2RlciBiaXRtYXNrID0gJWRcbiIsCisJCQkgICAgICB0cmFu c2NvZGVyX25hbWUoY3J0Y19zdGF0ZS0+bWFzdGVyX3RyYW5zY29kZXIpLAorCQkJICAgICAgY3J0 Y19zdGF0ZS0+YmFzZS5jcnRjLT5iYXNlLmlkLAorCQkJICAgICAgbWFzdGVyX3BpcGVfY29uZmln LT5zeW5jX21vZGVfc2xhdmVzX21hc2spOworCX0KKworCXJldHVybiAwOworfQorCiBzdGF0aWMg aW50IGludGVsX2NydGNfYXRvbWljX2NoZWNrKHN0cnVjdCBkcm1fY3J0YyAqY3J0YywKIAkJCQkg ICBzdHJ1Y3QgZHJtX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiB7CkBAIC0xMjI1MCw2ICsxMjMz NSwxMiBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpj cnRjX3N0YXRlKQogCWlmIChJU19HNFgoZGV2X3ByaXYpIHx8CiAJICAgIElTX1ZBTExFWVZJRVco ZGV2X3ByaXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQogCQlzYXZlZF9zdGF0ZS0+d20g PSBjcnRjX3N0YXRlLT53bTsKKwkvKiBTYXZlIHRoZSBzbGF2ZSBiaXRtYXNrIHdoaWNoIGdldHMg ZmlsbGVkIGZvciBtYXN0ZXIgY3J0YyBzdGF0ZSBkdXJpbmcKKwkgKiBzbGF2ZSBhdG9taWMgY2hl Y2sgY2FsbC4KKwkgKi8KKwlpZiAoaXNfdHJhbnNfcG9ydF9zeW5jX21hc3RlcihkZXZfcHJpdiwg Y3J0Y19zdGF0ZSkpCisJCXNhdmVkX3N0YXRlLT5zeW5jX21vZGVfc2xhdmVzX21hc2sgPQorCQkJ Y3J0Y19zdGF0ZS0+c3luY19tb2RlX3NsYXZlc19tYXNrOwogCiAJLyogS2VlcCBiYXNlIGRybV9j cnRjX3N0YXRlIGludGFjdCwgb25seSBjbGVhciBvdXIgZXh0ZW5kZWQgc3RydWN0ICovCiAJQlVJ TERfQlVHX09OKG9mZnNldG9mKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlLCBiYXNlKSk7CkBAIC0x MjM0Myw2ICsxMjQzNCwxNSBAQCBpbnRlbF9tb2Rlc2V0X3BpcGVfY29uZmlnKHN0cnVjdCBpbnRl bF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZykKIAlkcm1fbW9kZV9zZXRfY3J0Y2luZm8oJnBpcGVf Y29uZmlnLT5iYXNlLmFkanVzdGVkX21vZGUsCiAJCQkgICAgICBDUlRDX1NURVJFT19ET1VCTEUp OwogCisJLyogU2V0IHRoZSBjcnRjX3N0YXRlIGRlZmF1bHRzIGZvciB0cmFuc19wb3J0X3N5bmMg Ki8KKwlwaXBlX2NvbmZpZy0+bWFzdGVyX3RyYW5zY29kZXIgPSBJTlZBTElEX1RSQU5TQ09ERVI7 CisJcmV0ID0gaWNsX2FkZF9zeW5jX21vZGVfY3J0Y3MoY3J0YywgcGlwZV9jb25maWcsIHN0YXRl KTsKKwlpZiAocmV0KSB7CisJCURSTV9ERUJVR19LTVMoIkNhbm5vdCBhc3NpZ24gU3luYyBNb2Rl IENSVENzOiAlZFxuIiwKKwkJCSAgICAgIHJldCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJLyog UGFzcyBvdXIgbW9kZSB0byB0aGUgY29ubmVjdG9ycyBhbmQgdGhlIENSVEMgdG8gZ2l2ZSB0aGVt IGEgY2hhbmNlIHRvCiAJICogYWRqdXN0IGl0IGFjY29yZGluZyB0byBsaW1pdGF0aW9ucyBvciBj b25uZWN0b3IgcHJvcGVydGllcywgYW5kIGFsc28KIAkgKiBhIGNoYW5jZSB0byByZWplY3QgdGhl IG1vZGUgZW50aXJlbHkuCkBAIC0xMjg1Niw2ICsxMjk1NiwxMSBAQCBpbnRlbF9waXBlX2NvbmZp Z19jb21wYXJlKGNvbnN0IHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjdXJyZW50X2NvbmZpZywK IAlQSVBFX0NPTkZfQ0hFQ0tfSU5GT0ZSQU1FKGhkbWkpOwogCVBJUEVfQ09ORl9DSEVDS19JTkZP RlJBTUUoZHJtKTsKIAorCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDExKSB7CisJCVBJUEVf Q09ORl9DSEVDS19JKHN5bmNfbW9kZV9zbGF2ZXNfbWFzayk7CisJCVBJUEVfQ09ORl9DSEVDS19J KG1hc3Rlcl90cmFuc2NvZGVyKTsKKwl9CisKICN1bmRlZiBQSVBFX0NPTkZfQ0hFQ0tfWAogI3Vu ZGVmIFBJUEVfQ09ORl9DSEVDS19JCiAjdW5kZWYgUElQRV9DT05GX0NIRUNLX0JPT0wKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50ZWxfZGlzcGxheS5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5LmgKaW5kZXggMzNmZDUyM2M0 NjIyLi5jMTAxMTIwNGI0MDcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3Bs YXkvaW50ZWxfZGlzcGxheS5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2Rpc3BsYXkvaW50 ZWxfZGlzcGxheS5oCkBAIC05MSw2ICs5MSw3IEBAIGVudW0gcGlwZSB7CiAjZGVmaW5lIHBpcGVf bmFtZShwKSAoKHApICsgJ0EnKQogCiBlbnVtIHRyYW5zY29kZXIgeworCUlOVkFMSURfVFJBTlND T0RFUiA9IC0xLAogCS8qCiAJICogVGhlIGZvbGxvd2luZyB0cmFuc2NvZGVycyBoYXZlIGEgMTox IHRyYW5zY29kZXIgLT4gcGlwZSBtYXBwaW5nLAogCSAqIGtlZXAgdGhlaXIgdmFsdWVzIGZpeGVk OiB0aGUgY29kZSBhc3N1bWVzIHRoYXQgVFJBTlNDT0RFUl9BPTAsIHRoZQpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmggYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9kaXNwbGF5L2ludGVsX2Rpc3BsYXlfdHlwZXMuaAppbmRleCBkNWNj NGI4MTBkOWUuLjE3ZmYzNGNhMjk4YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv ZGlzcGxheS9pbnRlbF9kaXNwbGF5X3R5cGVzLmgKQEAgLTk5MSw2ICs5OTEsMTIgQEAgc3RydWN0 IGludGVsX2NydGNfc3RhdGUgewogCiAJLyogRm9yd2FyZCBFcnJvciBjb3JyZWN0aW9uIFN0YXRl ICovCiAJYm9vbCBmZWNfZW5hYmxlOworCisJLyogUG9pbnRlciB0byBtYXN0ZXIgdHJhbnNjb2Rl ciBpbiBjYXNlIG9mIHRpbGVkIGRpc3BsYXlzICovCisJZW51bSB0cmFuc2NvZGVyIG1hc3Rlcl90 cmFuc2NvZGVyOworCisJLyogQml0bWFzayB0byBpbmRpY2F0ZSBzbGF2ZXMgYXR0YWNoZWQgKi8K Kwl1OCBzeW5jX21vZGVfc2xhdmVzX21hc2s7CiB9OwogCiBzdHJ1Y3QgaW50ZWxfY3J0YyB7Ci0t IAoyLjE5LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA==