From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH i-g-t] lib/igt_kms: Add igt_display_reset function, v3. Date: Thu, 16 Nov 2017 19:42:57 +0100 Message-ID: <20171116184257.51462-1-maarten.lankhorst@linux.intel.com> References: <20171116160712.20783-1-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id C7CA66E92D for ; Thu, 16 Nov 2017 18:43:00 +0000 (UTC) In-Reply-To: <20171116160712.20783-1-maarten.lankhorst@linux.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 List-Id: intel-gfx@lists.freedesktop.org QSBsb3Qgb2YgY29kZSBkdXBsaWNhdGVzIHRoaXMsIGJ1dCBpdCBzaG91bGQgYmUgaGFuZGxlZCBp biB0aGUgY29yZS4KQWRkIGl0IGFuZCB1c2UgaXQgYWZ0ZXIgaWd0X2Rpc3BsYXlfaW5pdCgpLCB0 aGUgdGVzdHMgaGF2ZSB0byBiZQpjb252ZXJ0ZWQgb25lIGJ5IG9uZS4KCkNoYW5nZXMgc2luY2Ug djE6Ci0gTWVyZWx5IHJlc2V0IHJvdGF0aW9uIHRvIEhXIHZhbHVlLgpDaGFuZ2VzIHNpbmNlIHYy OgotIENvbXBpbGUuCgpTaWduZWQtb2ZmLWJ5OiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5s YW5raG9yc3RAbGludXguaW50ZWwuY29tPgotLS0KIGxpYi9pZ3Rfa21zLmMgfCAxNjQgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogbGli L2lndF9rbXMuaCB8ICAgMSArCiAyIGZpbGVzIGNoYW5nZWQsIDEwNiBpbnNlcnRpb25zKCspLCA1 OSBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9saWIvaWd0X2ttcy5jIGIvbGliL2lndF9rbXMu YwppbmRleCAxZDI2YjhkZGJmNDMuLmJlY2Q3N2NlMTlhYSAxMDA2NDQKLS0tIGEvbGliL2lndF9r bXMuYworKysgYi9saWIvaWd0X2ttcy5jCkBAIC0xNTQ5LDI5ICsxNTQ5LDE0IEBAIHN0YXRpYyB2 b2lkIGlndF9vdXRwdXRfcmVmcmVzaChpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKIAkJCSAgICAgICAt MSk7CiAJfQogCi0JaWYgKG91dHB1dC0+Y29uZmlnLmNvbm5lY3RvcikgeworCWlmIChvdXRwdXQt PmNvbmZpZy5jb25uZWN0b3IpCiAJCWlndF9hdG9taWNfZmlsbF9jb25uZWN0b3JfcHJvcHMoZGlz cGxheSwgb3V0cHV0LAogCQkJSUdUX05VTV9DT05ORUNUT1JfUFJPUFMsIGlndF9jb25uZWN0b3Jf cHJvcF9uYW1lcyk7CiAKLQkJaWYgKG91dHB1dC0+cHJvcHNbSUdUX0NPTk5FQ1RPUl9CUk9BRENB U1RfUkdCXSkKLQkJCWlndF9vdXRwdXRfc2V0X3Byb3BfdmFsdWUob3V0cHV0LAotCQkJCQkJICBJ R1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IsCi0JCQkJCQkgIEJST0FEQ0FTVF9SR0JfRlVMTCk7 Ci0JfQotCiAJTE9HKGRpc3BsYXksICIlczogU2VsZWN0aW5nIHBpcGUgJXNcbiIsIG91dHB1dC0+ bmFtZSwKIAkgICAga21zdGVzdF9waXBlX25hbWUob3V0cHV0LT5wZW5kaW5nX3BpcGUpKTsKIH0K IAotc3RhdGljIGJvb2wKLWdldF9wbGFuZV9wcm9wZXJ0eShpbnQgZHJtX2ZkLCB1aW50MzJfdCBw bGFuZV9pZCwgY29uc3QgY2hhciAqbmFtZSwKLQkJICAgdWludDMyX3QgKnByb3BfaWQgLyogb3V0 ICovLCB1aW50NjRfdCAqdmFsdWUgLyogb3V0ICovLAotCQkgICBkcm1Nb2RlUHJvcGVydHlQdHIg KnByb3AgLyogb3V0ICovKQotewotCXJldHVybiBrbXN0ZXN0X2dldF9wcm9wZXJ0eShkcm1fZmQs IHBsYW5lX2lkLCBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsCi0JCQkJICAgIG5hbWUsIHByb3BfaWQs IHZhbHVlLCBwcm9wKTsKLX0KLQogc3RhdGljIGludAogaWd0X3BsYW5lX3NldF9wcm9wZXJ0eShp Z3RfcGxhbmVfdCAqcGxhbmUsIHVpbnQzMl90IHByb3BfaWQsIHVpbnQ2NF90IHZhbHVlKQogewpA QCAtMTU4MiwxNSArMTU2Nyw2IEBAIGlndF9wbGFuZV9zZXRfcHJvcGVydHkoaWd0X3BsYW5lX3Qg KnBsYW5lLCB1aW50MzJfdCBwcm9wX2lkLCB1aW50NjRfdCB2YWx1ZSkKIAkJCQkgRFJNX01PREVf T0JKRUNUX1BMQU5FLCBwcm9wX2lkLCB2YWx1ZSk7CiB9CiAKLXN0YXRpYyBib29sCi1nZXRfY3J0 Y19wcm9wZXJ0eShpbnQgZHJtX2ZkLCB1aW50MzJfdCBjcnRjX2lkLCBjb25zdCBjaGFyICpuYW1l LAotCQkgICB1aW50MzJfdCAqcHJvcF9pZCAvKiBvdXQgKi8sIHVpbnQ2NF90ICp2YWx1ZSAvKiBv dXQgKi8sCi0JCSAgIGRybU1vZGVQcm9wZXJ0eVB0ciAqcHJvcCAvKiBvdXQgKi8pCi17Ci0JcmV0 dXJuIGttc3Rlc3RfZ2V0X3Byb3BlcnR5KGRybV9mZCwgY3J0Y19pZCwgRFJNX01PREVfT0JKRUNU X0NSVEMsCi0JCQkJICAgIG5hbWUsIHByb3BfaWQsIHZhbHVlLCBwcm9wKTsKLX0KLQogLyoKICAq IFdhbGsgYSBwbGFuZSdzIHByb3BlcnR5IGxpc3QgdG8gZGV0ZXJtaW5lIGl0cyB0eXBlLiAgSWYg d2UgZG9uJ3QKICAqIGZpbmQgYSB0eXBlIHByb3BlcnR5LCB0aGVuIHRoZSBrZXJuZWwgZG9lc24n dCBzdXBwb3J0IHVuaXZlcnNhbApAQCAtMTYwMSwxNCArMTU3NywxMTIgQEAgc3RhdGljIGludCBn ZXRfZHJtX3BsYW5lX3R5cGUoaW50IGRybV9mZCwgdWludDMyX3QgcGxhbmVfaWQpCiAJdWludDY0 X3QgdmFsdWU7CiAJYm9vbCBoYXNfcHJvcDsKIAotCWhhc19wcm9wID0gZ2V0X3BsYW5lX3Byb3Bl cnR5KGRybV9mZCwgcGxhbmVfaWQsICJ0eXBlIiwKLQkJCQkgICAgICBOVUxMIC8qIHByb3BfaWQg Ki8sICZ2YWx1ZSwgTlVMTCk7CisJaGFzX3Byb3AgPSBrbXN0ZXN0X2dldF9wcm9wZXJ0eShkcm1f ZmQsIHBsYW5lX2lkLCBEUk1fTU9ERV9PQkpFQ1RfUExBTkUsCisJCQkJCSJ0eXBlIiwgTlVMTCwg JnZhbHVlLCBOVUxMKTsKIAlpZiAoaGFzX3Byb3ApCiAJCXJldHVybiAoaW50KXZhbHVlOwogCiAJ cmV0dXJuIERSTV9QTEFORV9UWVBFX09WRVJMQVk7CiB9CiAKK3N0YXRpYyB2b2lkIGlndF9wbGFu ZV9yZXNldChpZ3RfcGxhbmVfdCAqcGxhbmUpCit7CisJLyogUmVzZXQgc3JjIGNvb3JkaW5hdGVz LiAqLworCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX1NSQ19YLCAw KTsKKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxhbmUsIElHVF9QTEFORV9TUkNfWSwgMCk7 CisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBsYW5lLCBJR1RfUExBTkVfU1JDX1csIDApOwor CWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX1NSQ19ILCAwKTsKKwor CS8qIFJlc2V0IGNydGMgY29vcmRpbmF0ZXMuICovCisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVl KHBsYW5lLCBJR1RfUExBTkVfQ1JUQ19YLCAwKTsKKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUo cGxhbmUsIElHVF9QTEFORV9DUlRDX1ksIDApOworCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShw bGFuZSwgSUdUX1BMQU5FX0NSVENfVywgMCk7CisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBs YW5lLCBJR1RfUExBTkVfQ1JUQ19ILCAwKTsKKworCS8qIFJlc2V0IGJpbmRpbmcgdG8gZmIgYW5k IGNydGMuICovCisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBsYW5lLCBJR1RfUExBTkVfRkJf SUQsIDApOworCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NSVENf SUQsIDApOworCisJLyogVXNlIGRlZmF1bHQgcm90YXRpb24gKi8KKwlpZiAoaWd0X3BsYW5lX2hh c19wcm9wKHBsYW5lLCBJR1RfUExBTkVfUk9UQVRJT04pKSB7CisJCXBsYW5lLT52YWx1ZXNbSUdU X1BMQU5FX1JPVEFUSU9OXSA9CisJCQlpZ3RfcGxhbmVfZ2V0X3Byb3AocGxhbmUsIElHVF9QTEFO RV9ST1RBVElPTik7CisJCWlndF9wbGFuZV9jbGVhcl9wcm9wX2NoYW5nZWQocGxhbmUsIElHVF9Q TEFORV9ST1RBVElPTik7CisJfQorCisJaWd0X3BsYW5lX2NsZWFyX3Byb3BfY2hhbmdlZChwbGFu ZSwgSUdUX1BMQU5FX0lOX0ZFTkNFX0ZEKTsKKwlwbGFuZS0+dmFsdWVzW0lHVF9QTEFORV9JTl9G RU5DRV9GRF0gPSB+MFVMTDsKK30KKworc3RhdGljIHZvaWQgaWd0X3BpcGVfcmVzZXQoaWd0X3Bp cGVfdCAqcGlwZSkKK3sKKwlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfdmFsdWUocGlwZSwgSUdUX0NS VENfTU9ERV9JRCwgMCk7CisJaWd0X3BpcGVfb2JqX3NldF9wcm9wX3ZhbHVlKHBpcGUsIElHVF9D UlRDX0FDVElWRSwgMCk7CisJaWd0X3BpcGVfb2JqX2NsZWFyX3Byb3BfY2hhbmdlZChwaXBlLCBJ R1RfQ1JUQ19PVVRfRkVOQ0VfUFRSKTsKKworCXBpcGUtPm91dF9mZW5jZV9mZCA9IC0xOworfQor CitzdGF0aWMgdm9pZCBpZ3Rfb3V0cHV0X3Jlc2V0KGlndF9vdXRwdXRfdCAqb3V0cHV0KQorewor CW91dHB1dC0+cGVuZGluZ19waXBlID0gUElQRV9OT05FOworCW91dHB1dC0+dXNlX292ZXJyaWRl X21vZGUgPSBmYWxzZTsKKwltZW1zZXQoJm91dHB1dC0+b3ZlcnJpZGVfbW9kZSwgMCwgc2l6ZW9m KG91dHB1dC0+b3ZlcnJpZGVfbW9kZSkpOworCisJaWd0X291dHB1dF9zZXRfcHJvcF92YWx1ZShv dXRwdXQsIElHVF9DT05ORUNUT1JfQ1JUQ19JRCwgMCk7CisKKwlpZiAoaWd0X291dHB1dF9oYXNf cHJvcChvdXRwdXQsIElHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQikpCisJCWlndF9vdXRwdXRf c2V0X3Byb3BfdmFsdWUob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IsCisJCQkJ CSAgQlJPQURDQVNUX1JHQl9GVUxMKTsKK30KKworLyoqCisgKiBpZ3RfZGlzcGxheV9yZXNldDoK KyAqIEBkaXNwbGF5OiBhIHBvaW50ZXIgdG8gYW4gI2lndF9kaXNwbGF5X3Qgc3RydWN0dXJlCisg KgorICogUmVzZXQgYmFzaWMgcGlwZXMsIGNvbm5lY3RvcnMgYW5kIHBsYW5lcyBvbiBAZGlzcGxh eSBiYWNrIHRvIGRlZmF1bHQgdmFsdWVzLgorICogSW4gcGFydGljdWxhciwgdGhlIGZvbGxvd2lu ZyBwcm9wZXJ0aWVzIHdpbGwgYmUgcmVzZXQ6CisgKgorICogRm9yIG91dHB1dHM6CisgKiAtICVJ R1RfQ09OTkVDVE9SX0NSVENfSUQKKyAqIC0gJUlHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQiAo aWYgYXBwbGljYWJsZSkKKyAqIC0gaWd0X291dHB1dF9vdmVycmlkZV9tb2RlKCkgdG8gZGVmYXVs dC4KKyAqCisgKiBGb3IgcGlwZXM6CisgKiAtICVJR1RfQ1JUQ19NT0RFX0lEIChsZWFrZWQpCisg KiAtICVJR1RfQ1JUQ19BQ1RJVkUKKyAqIC0gJUlHVF9DUlRDX09VVF9GRU5DRV9QVFIKKyAqCisg KiBGb3IgcGxhbmVzOgorICogLSAlSUdUX1BMQU5FX1NSQ18qCisgKiAtICVJR1RfUExBTkVfQ1JU Q18qCisgKiAtICVJR1RfUExBTkVfRkJfSUQKKyAqIC0gJUlHVF9QTEFORV9DUlRDX0lECisgKiAt ICVJR1RfUExBTkVfUk9UQVRJT04KKyAqIC0gJUlHVF9QTEFORV9JTl9GRU5DRV9GRAorICovCit2 b2lkIGlndF9kaXNwbGF5X3Jlc2V0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXkpCit7CisJZW51bSBw aXBlIHBpcGU7CisJaW50IGk7CisKKwlmb3JfZWFjaF9waXBlKGRpc3BsYXksIHBpcGUpIHsKKwkJ aWd0X3BpcGVfdCAqcGlwZV9vYmogPSAmZGlzcGxheS0+cGlwZXNbcGlwZV07CisJCWlndF9wbGFu ZV90ICpwbGFuZTsKKworCQlmb3JfZWFjaF9wbGFuZV9vbl9waXBlKGRpc3BsYXksIHBpcGUsIHBs YW5lKQorCQkJaWd0X3BsYW5lX3Jlc2V0KHBsYW5lKTsKKworCQlpZ3RfcGlwZV9yZXNldChwaXBl X29iaik7CisJfQorCisJZm9yIChpID0gMDsgaSA8IGRpc3BsYXktPm5fb3V0cHV0czsgaSsrKSB7 CisJCWlndF9vdXRwdXRfdCAqb3V0cHV0ID0gJmRpc3BsYXktPm91dHB1dHNbaV07CisKKwkJaWd0 X291dHB1dF9yZXNldChvdXRwdXQpOworCX0KK30KKwogLyoqCiAgKiBpZ3RfZGlzcGxheV9pbml0 OgogICogQGRpc3BsYXk6IGEgcG9pbnRlciB0byBhbiAjaWd0X2Rpc3BsYXlfdCBzdHJ1Y3R1cmUK QEAgLTE2NDgsNyArMTcyMiw3IEBAIHZvaWQgaWd0X2Rpc3BsYXlfaW5pdChpZ3RfZGlzcGxheV90 ICpkaXNwbGF5LCBpbnQgZHJtX2ZkKQogCXBsYW5lX3Jlc291cmNlcyA9IGRybU1vZGVHZXRQbGFu ZVJlc291cmNlcyhkaXNwbGF5LT5kcm1fZmQpOwogCWlndF9hc3NlcnQocGxhbmVfcmVzb3VyY2Vz KTsKIAotCWZvciAoaSA9IDA7IGkgPCBkaXNwbGF5LT5uX3BpcGVzOyBpKyspIHsKKwlmb3JfZWFj aF9waXBlKGRpc3BsYXksIGkpIHsKIAkJaWd0X3BpcGVfdCAqcGlwZSA9ICZkaXNwbGF5LT5waXBl c1tpXTsKIAkJaWd0X3BsYW5lX3QgKnBsYW5lOwogCQlpbnQgcCA9IDE7CkBAIC0xNjYxLDE5ICsx NzM1LDkgQEAgdm9pZCBpZ3RfZGlzcGxheV9pbml0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGlu dCBkcm1fZmQpCiAJCXBpcGUtPnBsYW5lX2N1cnNvciA9IC0xOwogCQlwaXBlLT5wbGFuZV9wcmlt YXJ5ID0gLTE7CiAJCXBpcGUtPnBsYW5lcyA9IE5VTEw7Ci0JCXBpcGUtPm91dF9mZW5jZV9mZCA9 IC0xOwogCiAJCWlndF9maWxsX3BpcGVfcHJvcHMoZGlzcGxheSwgcGlwZSwgSUdUX05VTV9DUlRD X1BST1BTLCBpZ3RfY3J0Y19wcm9wX25hbWVzKTsKIAotCQkvKiBGb3JjZSBtb2Rlc2V0IGRpc2Fi bGUgb24gZmlyc3QgY29tbWl0ICovCi0JCWlndF9waXBlX29ial9zZXRfcHJvcF9jaGFuZ2VkKHBp cGUsIElHVF9DUlRDX01PREVfSUQpOwotCQlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfY2hhbmdlZChw aXBlLCBJR1RfQ1JUQ19BQ1RJVkUpOwotCi0JCWdldF9jcnRjX3Byb3BlcnR5KGRpc3BsYXktPmRy bV9mZCwgcGlwZS0+Y3J0Y19pZCwKLQkJCQkgICAgImJhY2tncm91bmRfY29sb3IiLCBOVUxMLAot CQkJCSAgICAmcGlwZS0+dmFsdWVzW0lHVF9DUlRDX0JBQ0tHUk9VTkRdLAotCQkJCSAgICBOVUxM KTsKLQogCQkvKiBjb3VudCBudW1iZXIgb2YgdmFsaWQgcGxhbmVzICovCiAJCWZvciAoaiA9IDA7 IGogPCBwbGFuZV9yZXNvdXJjZXMtPmNvdW50X3BsYW5lczsgaisrKSB7CiAJCQlkcm1Nb2RlUGxh bmUgKmRybV9wbGFuZTsKQEAgLTE3MzAsMjQgKzE3OTQsNiBAQCB2b2lkIGlndF9kaXNwbGF5X2lu aXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50IGRybV9mZCkKIAkJCXBsYW5lLT52YWx1ZXNb SUdUX1BMQU5FX0lOX0ZFTkNFX0ZEXSA9IH4wVUxMOwogCiAJCQlpZ3RfZmlsbF9wbGFuZV9wcm9w cyhkaXNwbGF5LCBwbGFuZSwgSUdUX05VTV9QTEFORV9QUk9QUywgaWd0X3BsYW5lX3Byb3BfbmFt ZXMpOwotCi0JCQlnZXRfcGxhbmVfcHJvcGVydHkoZGlzcGxheS0+ZHJtX2ZkLCBkcm1fcGxhbmUt PnBsYW5lX2lkLAotCQkJCQkgICAicm90YXRpb24iLAotCQkJCQkgICAmcGxhbmUtPnByb3BzW0lH VF9QTEFORV9ST1RBVElPTl0sCi0JCQkJCSAgICZwbGFuZS0+dmFsdWVzW0lHVF9QTEFORV9ST1RB VElPTl0sCi0JCQkJCSAgIE5VTEwpOwotCi0JCQkvKiBDbGVhciBhbnkgcmVzaWR1YWwgZnJhbWVi dWZmZXIgaW5mbyBvbiBmaXJzdCBjb21taXQuICovCi0JCQlpZ3RfcGxhbmVfc2V0X3Byb3BfY2hh bmdlZChwbGFuZSwgSUdUX1BMQU5FX0ZCX0lEKTsKLQkJCWlndF9wbGFuZV9zZXRfcHJvcF9jaGFu Z2VkKHBsYW5lLCBJR1RfUExBTkVfQ1JUQ19JRCk7Ci0KLQkJCS8qCi0JCQkgKiBDUlRDX1gvWSBh cmUgbm90IGNoYW5nZWQgaW4gaWd0X3BsYW5lX3NldF9mYiwgc28KLQkJCSAqIGZvcmNlIHRoZW0g dG8gYmUgc2FuaXRpemVkIGluIGNhc2UgdGhleSBjb250YWluCi0JCQkgKiBnYXJiYWdlLgotCQkJ ICovCi0JCQlpZ3RfcGxhbmVfc2V0X3Byb3BfY2hhbmdlZChwbGFuZSwgSUdUX1BMQU5FX0NSVENf WCk7Ci0JCQlpZ3RfcGxhbmVfc2V0X3Byb3BfY2hhbmdlZChwbGFuZSwgSUdUX1BMQU5FX0NSVENf WSk7CiAJCX0KIAogCQkvKgpAQCAtMTc4MiwxOCArMTgyOCwxOCBAQCB2b2lkIGlndF9kaXNwbGF5 X2luaXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50IGRybV9mZCkKIAkJICogYSBwaXBlIGlz IHNldCB3aXRoIGlndF9vdXRwdXRfc2V0X3BpcGUoKS4KIAkJICovCiAJCW91dHB1dC0+Zm9yY2Vf cmVwcm9iZSA9IHRydWU7Ci0JCW91dHB1dC0+cGVuZGluZ19waXBlID0gUElQRV9OT05FOwogCQlv dXRwdXQtPmlkID0gcmVzb3VyY2VzLT5jb25uZWN0b3JzW2ldOwogCQlvdXRwdXQtPmRpc3BsYXkg PSBkaXNwbGF5OwogCiAJCWlndF9vdXRwdXRfcmVmcmVzaChvdXRwdXQpOwotCi0JCWlndF9vdXRw dXRfc2V0X3Byb3BfY2hhbmdlZChvdXRwdXQsIElHVF9DT05ORUNUT1JfQ1JUQ19JRCk7CiAJfQog CiAJZHJtTW9kZUZyZWVQbGFuZVJlc291cmNlcyhwbGFuZV9yZXNvdXJjZXMpOwogCWRybU1vZGVG cmVlUmVzb3VyY2VzKHJlc291cmNlcyk7CiAKKwkvKiBTZXQgcmVhc29uYWJsZSBkZWZhdWx0IHZh bHVlcyBmb3IgZXZlcnkgb2JqZWN0IGluIHRoZSBkaXNwbGF5LiAqLworCWlndF9kaXNwbGF5X3Jl c2V0KGRpc3BsYXkpOworCiAJTE9HX1VOSU5ERU5UKGRpc3BsYXkpOwogfQogCmRpZmYgLS1naXQg YS9saWIvaWd0X2ttcy5oIGIvbGliL2lndF9rbXMuaAppbmRleCBhY2M4MjkxM2UwYjcuLmUxODgz YmYxYjhhMyAxMDA2NDQKLS0tIGEvbGliL2lndF9rbXMuaAorKysgYi9saWIvaWd0X2ttcy5oCkBA IC0zNTMsNiArMzUzLDcgQEAgc3RydWN0IGlndF9kaXNwbGF5IHsKIAogdm9pZCBpZ3RfZGlzcGxh eV9pbml0KGlndF9kaXNwbGF5X3QgKmRpc3BsYXksIGludCBkcm1fZmQpOwogdm9pZCBpZ3RfZGlz cGxheV9maW5pKGlndF9kaXNwbGF5X3QgKmRpc3BsYXkpOwordm9pZCBpZ3RfZGlzcGxheV9yZXNl dChpZ3RfZGlzcGxheV90ICpkaXNwbGF5KTsKIGludCAgaWd0X2Rpc3BsYXlfY29tbWl0MihpZ3Rf ZGlzcGxheV90ICpkaXNwbGF5LCBlbnVtIGlndF9jb21taXRfc3R5bGUgcyk7CiBpbnQgIGlndF9k aXNwbGF5X2NvbW1pdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5KTsKIGludCAgaWd0X2Rpc3BsYXlf dHJ5X2NvbW1pdF9hdG9taWMoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgdWludDMyX3QgZmxhZ3Ms IHZvaWQgKnVzZXJfZGF0YSk7Ci0tIAoyLjE1LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=