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, v2. Date: Thu, 16 Nov 2017 17:07:12 +0100 Message-ID: <20171116160712.20783-1-maarten.lankhorst@linux.intel.com> References: <20171116124522.4673-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 527BD6E0B4 for ; Thu, 16 Nov 2017 16:07:18 +0000 (UTC) In-Reply-To: <20171116124522.4673-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 djE6Ci0gTWVyZWx5IHJlc2V0IHJvdGF0aW9uIHRvIEhXIHZhbHVlLgoKU2lnbmVkLW9mZi1ieTog TWFhcnRlbiBMYW5raG9yc3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KLS0t CiBsaWIvaWd0X2ttcy5jIHwgMTY0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KystLS0tLS0tLS0tLS0tLS0tLS0tLS0KIGxpYi9pZ3Rfa21zLmggfCAgIDEgKwogMiBmaWxlcyBj aGFuZ2VkLCAxMDYgaW5zZXJ0aW9ucygrKSwgNTkgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEv bGliL2lndF9rbXMuYyBiL2xpYi9pZ3Rfa21zLmMKaW5kZXggMWQyNmI4ZGRiZjQzLi5kNTFhYmE1 MGUzZDEgMTAwNjQ0Ci0tLSBhL2xpYi9pZ3Rfa21zLmMKKysrIGIvbGliL2lndF9rbXMuYwpAQCAt MTU0OSwyOSArMTU0OSwxNCBAQCBzdGF0aWMgdm9pZCBpZ3Rfb3V0cHV0X3JlZnJlc2goaWd0X291 dHB1dF90ICpvdXRwdXQpCiAJCQkgICAgICAgLTEpOwogCX0KIAotCWlmIChvdXRwdXQtPmNvbmZp Zy5jb25uZWN0b3IpIHsKKwlpZiAob3V0cHV0LT5jb25maWcuY29ubmVjdG9yKQogCQlpZ3RfYXRv bWljX2ZpbGxfY29ubmVjdG9yX3Byb3BzKGRpc3BsYXksIG91dHB1dCwKIAkJCUlHVF9OVU1fQ09O TkVDVE9SX1BST1BTLCBpZ3RfY29ubmVjdG9yX3Byb3BfbmFtZXMpOwogCi0JCWlmIChvdXRwdXQt PnByb3BzW0lHVF9DT05ORUNUT1JfQlJPQURDQVNUX1JHQl0pCi0JCQlpZ3Rfb3V0cHV0X3NldF9w cm9wX3ZhbHVlKG91dHB1dCwKLQkJCQkJCSAgSUdUX0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCLAot CQkJCQkJICBCUk9BRENBU1RfUkdCX0ZVTEwpOwotCX0KLQogCUxPRyhkaXNwbGF5LCAiJXM6IFNl bGVjdGluZyBwaXBlICVzXG4iLCBvdXRwdXQtPm5hbWUsCiAJICAgIGttc3Rlc3RfcGlwZV9uYW1l KG91dHB1dC0+cGVuZGluZ19waXBlKSk7CiB9CiAKLXN0YXRpYyBib29sCi1nZXRfcGxhbmVfcHJv cGVydHkoaW50IGRybV9mZCwgdWludDMyX3QgcGxhbmVfaWQsIGNvbnN0IGNoYXIgKm5hbWUsCi0J CSAgIHVpbnQzMl90ICpwcm9wX2lkIC8qIG91dCAqLywgdWludDY0X3QgKnZhbHVlIC8qIG91dCAq LywKLQkJICAgZHJtTW9kZVByb3BlcnR5UHRyICpwcm9wIC8qIG91dCAqLykKLXsKLQlyZXR1cm4g a21zdGVzdF9nZXRfcHJvcGVydHkoZHJtX2ZkLCBwbGFuZV9pZCwgRFJNX01PREVfT0JKRUNUX1BM QU5FLAotCQkJCSAgICBuYW1lLCBwcm9wX2lkLCB2YWx1ZSwgcHJvcCk7Ci19Ci0KIHN0YXRpYyBp bnQKIGlndF9wbGFuZV9zZXRfcHJvcGVydHkoaWd0X3BsYW5lX3QgKnBsYW5lLCB1aW50MzJfdCBw cm9wX2lkLCB1aW50NjRfdCB2YWx1ZSkKIHsKQEAgLTE1ODIsMTUgKzE1NjcsNiBAQCBpZ3RfcGxh bmVfc2V0X3Byb3BlcnR5KGlndF9wbGFuZV90ICpwbGFuZSwgdWludDMyX3QgcHJvcF9pZCwgdWlu dDY0X3QgdmFsdWUpCiAJCQkJIERSTV9NT0RFX09CSkVDVF9QTEFORSwgcHJvcF9pZCwgdmFsdWUp OwogfQogCi1zdGF0aWMgYm9vbAotZ2V0X2NydGNfcHJvcGVydHkoaW50IGRybV9mZCwgdWludDMy X3QgY3J0Y19pZCwgY29uc3QgY2hhciAqbmFtZSwKLQkJICAgdWludDMyX3QgKnByb3BfaWQgLyog b3V0ICovLCB1aW50NjRfdCAqdmFsdWUgLyogb3V0ICovLAotCQkgICBkcm1Nb2RlUHJvcGVydHlQ dHIgKnByb3AgLyogb3V0ICovKQotewotCXJldHVybiBrbXN0ZXN0X2dldF9wcm9wZXJ0eShkcm1f ZmQsIGNydGNfaWQsIERSTV9NT0RFX09CSkVDVF9DUlRDLAotCQkJCSAgICBuYW1lLCBwcm9wX2lk LCB2YWx1ZSwgcHJvcCk7Ci19Ci0KIC8qCiAgKiBXYWxrIGEgcGxhbmUncyBwcm9wZXJ0eSBsaXN0 IHRvIGRldGVybWluZSBpdHMgdHlwZS4gIElmIHdlIGRvbid0CiAgKiBmaW5kIGEgdHlwZSBwcm9w ZXJ0eSwgdGhlbiB0aGUga2VybmVsIGRvZXNuJ3Qgc3VwcG9ydCB1bml2ZXJzYWwKQEAgLTE2MDEs MTQgKzE1NzcsMTEyIEBAIHN0YXRpYyBpbnQgZ2V0X2RybV9wbGFuZV90eXBlKGludCBkcm1fZmQs IHVpbnQzMl90IHBsYW5lX2lkKQogCXVpbnQ2NF90IHZhbHVlOwogCWJvb2wgaGFzX3Byb3A7CiAK LQloYXNfcHJvcCA9IGdldF9wbGFuZV9wcm9wZXJ0eShkcm1fZmQsIHBsYW5lX2lkLCAidHlwZSIs Ci0JCQkJICAgICAgTlVMTCAvKiBwcm9wX2lkICovLCAmdmFsdWUsIE5VTEwpOworCWhhc19wcm9w ID0ga21zdGVzdF9nZXRfcHJvcGVydHkoZHJtX2ZkLCBwbGFuZV9pZCwgRFJNX01PREVfT0JKRUNU X1BMQU5FLAorCQkJCQkidHlwZSIsIE5VTEwsICZ2YWx1ZSwgTlVMTCk7CiAJaWYgKGhhc19wcm9w KQogCQlyZXR1cm4gKGludCl2YWx1ZTsKIAogCXJldHVybiBEUk1fUExBTkVfVFlQRV9PVkVSTEFZ OwogfQogCitzdGF0aWMgdm9pZCBpZ3RfcGxhbmVfcmVzZXQoaWd0X3BsYW5lX3QgKnBsYW5lKQor eworCS8qIFJlc2V0IHNyYyBjb29yZGluYXRlcy4gKi8KKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFs dWUocGxhbmUsIElHVF9QTEFORV9TUkNfWCwgMCk7CisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVl KHBsYW5lLCBJR1RfUExBTkVfU1JDX1ksIDApOworCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShw bGFuZSwgSUdUX1BMQU5FX1NSQ19XLCAwKTsKKwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxh bmUsIElHVF9QTEFORV9TUkNfSCwgMCk7CisKKwkvKiBSZXNldCBjcnRjIGNvb3JkaW5hdGVzLiAq LworCWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NSVENfWCwgMCk7 CisJaWd0X3BsYW5lX3NldF9wcm9wX3ZhbHVlKHBsYW5lLCBJR1RfUExBTkVfQ1JUQ19ZLCAwKTsK KwlpZ3RfcGxhbmVfc2V0X3Byb3BfdmFsdWUocGxhbmUsIElHVF9QTEFORV9DUlRDX1csIDApOwor CWlndF9wbGFuZV9zZXRfcHJvcF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0NSVENfSCwgMCk7CisK KwkvKiBSZXNldCBiaW5kaW5nIHRvIGZiIGFuZCBjcnRjLiAqLworCWlndF9wbGFuZV9zZXRfcHJv cF92YWx1ZShwbGFuZSwgSUdUX1BMQU5FX0ZCX0lELCAwKTsKKwlpZ3RfcGxhbmVfc2V0X3Byb3Bf dmFsdWUocGxhbmUsIElHVF9QTEFORV9DUlRDX0lELCAwKTsKKworCS8qIFVzZSBkZWZhdWx0IHJv dGF0aW9uICovCisJaWYgKGlndF9wbGFuZV9oYXNfcHJvcChwbGFuZSwgSUdUX1BMQU5FX1JPVEFU SU9OKSkgeworCQlwbGFuZS0+dmFsdWVzW0lHVF9QTEFORV9ST1RBVElPTl0gPQorCQkJaWd0X3Bs YW5lX2dldF9wcm9wX3ZhbHVlKHBsYW5lLCBJR1RfUExBTkVfUk9UQVRJT04pOworCQlpZ3RfcGxh bmVfY2xlYXJfcHJvcF9jaGFuZ2VkKHBsYW5lLCBJR1RfUExBTkVfUk9UQVRJT04pOworCX0KKwor CWlndF9wbGFuZV9jbGVhcl9wcm9wX2NoYW5nZWQocGxhbmUsIElHVF9QTEFORV9JTl9GRU5DRV9G RCk7CisJcGxhbmUtPnZhbHVlc1tJR1RfUExBTkVfSU5fRkVOQ0VfRkRdID0gfjBVTEw7Cit9CisK K3N0YXRpYyB2b2lkIGlndF9waXBlX3Jlc2V0KGlndF9waXBlX3QgKnBpcGUpCit7CisJaWd0X3Bp cGVfb2JqX3NldF9wcm9wX3ZhbHVlKHBpcGUsIElHVF9DUlRDX01PREVfSUQsIDApOworCWlndF9w aXBlX29ial9zZXRfcHJvcF92YWx1ZShwaXBlLCBJR1RfQ1JUQ19BQ1RJVkUsIDApOworCWlndF9w aXBlX29ial9jbGVhcl9wcm9wX2NoYW5nZWQocGlwZSwgSUdUX0NSVENfT1VUX0ZFTkNFX1BUUik7 CisKKwlwaXBlLT5vdXRfZmVuY2VfZmQgPSAtMTsKK30KKworc3RhdGljIHZvaWQgaWd0X291dHB1 dF9yZXNldChpZ3Rfb3V0cHV0X3QgKm91dHB1dCkKK3sKKwlvdXRwdXQtPnBlbmRpbmdfcGlwZSA9 IFBJUEVfTk9ORTsKKwlvdXRwdXQtPnVzZV9vdmVycmlkZV9tb2RlID0gZmFsc2U7CisJbWVtc2V0 KCZvdXRwdXQtPm92ZXJyaWRlX21vZGUsIDAsIHNpemVvZihvdXRwdXQtPm92ZXJyaWRlX21vZGUp KTsKKworCWlndF9vdXRwdXRfc2V0X3Byb3BfdmFsdWUob3V0cHV0LCBJR1RfQ09OTkVDVE9SX0NS VENfSUQsIDApOworCisJaWYgKGlndF9vdXRwdXRfaGFzX3Byb3Aob3V0cHV0LCBJR1RfQ09OTkVD VE9SX0JST0FEQ0FTVF9SR0IpKQorCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX3ZhbHVlKG91dHB1dCwg SUdUX0NPTk5FQ1RPUl9CUk9BRENBU1RfUkdCLAorCQkJCQkgIEJST0FEQ0FTVF9SR0JfRlVMTCk7 Cit9CisKKy8qKgorICogaWd0X2Rpc3BsYXlfcmVzZXQ6CisgKiBAZGlzcGxheTogYSBwb2ludGVy IHRvIGFuICNpZ3RfZGlzcGxheV90IHN0cnVjdHVyZQorICoKKyAqIFJlc2V0IGJhc2ljIHBpcGVz LCBjb25uZWN0b3JzIGFuZCBwbGFuZXMgb24gQGRpc3BsYXkgYmFjayB0byBkZWZhdWx0IHZhbHVl cy4KKyAqIEluIHBhcnRpY3VsYXIsIHRoZSBmb2xsb3dpbmcgcHJvcGVydGllcyB3aWxsIGJlIHJl c2V0OgorICoKKyAqIEZvciBvdXRwdXRzOgorICogLSAlSUdUX0NPTk5FQ1RPUl9DUlRDX0lECisg KiAtICVJR1RfQ09OTkVDVE9SX0JST0FEQ0FTVF9SR0IgKGlmIGFwcGxpY2FibGUpCisgKiAtIGln dF9vdXRwdXRfb3ZlcnJpZGVfbW9kZSgpIHRvIGRlZmF1bHQuCisgKgorICogRm9yIHBpcGVzOgor ICogLSAlSUdUX0NSVENfTU9ERV9JRCAobGVha2VkKQorICogLSAlSUdUX0NSVENfQUNUSVZFCisg KiAtICVJR1RfQ1JUQ19PVVRfRkVOQ0VfUFRSCisgKgorICogRm9yIHBsYW5lczoKKyAqIC0gJUlH VF9QTEFORV9TUkNfKgorICogLSAlSUdUX1BMQU5FX0NSVENfKgorICogLSAlSUdUX1BMQU5FX0ZC X0lECisgKiAtICVJR1RfUExBTkVfQ1JUQ19JRAorICogLSAlSUdUX1BMQU5FX1JPVEFUSU9OCisg KiAtICVJR1RfUExBTkVfSU5fRkVOQ0VfRkQKKyAqLwordm9pZCBpZ3RfZGlzcGxheV9yZXNldChp Z3RfZGlzcGxheV90ICpkaXNwbGF5KQoreworCWVudW0gcGlwZSBwaXBlOworCWludCBpOworCisJ Zm9yX2VhY2hfcGlwZShkaXNwbGF5LCBwaXBlKSB7CisJCWlndF9waXBlX3QgKnBpcGVfb2JqID0g JmRpc3BsYXktPnBpcGVzW3BpcGVdOworCQlpZ3RfcGxhbmVfdCAqcGxhbmU7CisKKwkJZm9yX2Vh Y2hfcGxhbmVfb25fcGlwZShkaXNwbGF5LCBwaXBlLCBwbGFuZSkKKwkJCWlndF9wbGFuZV9yZXNl dChwbGFuZSk7CisKKwkJaWd0X3BpcGVfcmVzZXQocGlwZV9vYmopOworCX0KKworCWZvciAoaSA9 IDA7IGkgPCBkaXNwbGF5LT5uX291dHB1dHM7IGkrKykgeworCQlpZ3Rfb3V0cHV0X3QgKm91dHB1 dCA9ICZkaXNwbGF5LT5vdXRwdXRzW2ldOworCisJCWlndF9vdXRwdXRfcmVzZXQob3V0cHV0KTsK Kwl9Cit9CisKIC8qKgogICogaWd0X2Rpc3BsYXlfaW5pdDoKICAqIEBkaXNwbGF5OiBhIHBvaW50 ZXIgdG8gYW4gI2lndF9kaXNwbGF5X3Qgc3RydWN0dXJlCkBAIC0xNjQ4LDcgKzE3MjIsNyBAQCB2 b2lkIGlndF9kaXNwbGF5X2luaXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgaW50IGRybV9mZCkK IAlwbGFuZV9yZXNvdXJjZXMgPSBkcm1Nb2RlR2V0UGxhbmVSZXNvdXJjZXMoZGlzcGxheS0+ZHJt X2ZkKTsKIAlpZ3RfYXNzZXJ0KHBsYW5lX3Jlc291cmNlcyk7CiAKLQlmb3IgKGkgPSAwOyBpIDwg ZGlzcGxheS0+bl9waXBlczsgaSsrKSB7CisJZm9yX2VhY2hfcGlwZShkaXNwbGF5LCBpKSB7CiAJ CWlndF9waXBlX3QgKnBpcGUgPSAmZGlzcGxheS0+cGlwZXNbaV07CiAJCWlndF9wbGFuZV90ICpw bGFuZTsKIAkJaW50IHAgPSAxOwpAQCAtMTY2MSwxOSArMTczNSw5IEBAIHZvaWQgaWd0X2Rpc3Bs YXlfaW5pdChpZ3RfZGlzcGxheV90ICpkaXNwbGF5LCBpbnQgZHJtX2ZkKQogCQlwaXBlLT5wbGFu ZV9jdXJzb3IgPSAtMTsKIAkJcGlwZS0+cGxhbmVfcHJpbWFyeSA9IC0xOwogCQlwaXBlLT5wbGFu ZXMgPSBOVUxMOwotCQlwaXBlLT5vdXRfZmVuY2VfZmQgPSAtMTsKIAogCQlpZ3RfZmlsbF9waXBl X3Byb3BzKGRpc3BsYXksIHBpcGUsIElHVF9OVU1fQ1JUQ19QUk9QUywgaWd0X2NydGNfcHJvcF9u YW1lcyk7CiAKLQkJLyogRm9yY2UgbW9kZXNldCBkaXNhYmxlIG9uIGZpcnN0IGNvbW1pdCAqLwot CQlpZ3RfcGlwZV9vYmpfc2V0X3Byb3BfY2hhbmdlZChwaXBlLCBJR1RfQ1JUQ19NT0RFX0lEKTsK LQkJaWd0X3BpcGVfb2JqX3NldF9wcm9wX2NoYW5nZWQocGlwZSwgSUdUX0NSVENfQUNUSVZFKTsK LQotCQlnZXRfY3J0Y19wcm9wZXJ0eShkaXNwbGF5LT5kcm1fZmQsIHBpcGUtPmNydGNfaWQsCi0J CQkJICAgICJiYWNrZ3JvdW5kX2NvbG9yIiwgTlVMTCwKLQkJCQkgICAgJnBpcGUtPnZhbHVlc1tJ R1RfQ1JUQ19CQUNLR1JPVU5EXSwKLQkJCQkgICAgTlVMTCk7Ci0KIAkJLyogY291bnQgbnVtYmVy IG9mIHZhbGlkIHBsYW5lcyAqLwogCQlmb3IgKGogPSAwOyBqIDwgcGxhbmVfcmVzb3VyY2VzLT5j b3VudF9wbGFuZXM7IGorKykgewogCQkJZHJtTW9kZVBsYW5lICpkcm1fcGxhbmU7CkBAIC0xNzMw LDI0ICsxNzk0LDYgQEAgdm9pZCBpZ3RfZGlzcGxheV9pbml0KGlndF9kaXNwbGF5X3QgKmRpc3Bs YXksIGludCBkcm1fZmQpCiAJCQlwbGFuZS0+dmFsdWVzW0lHVF9QTEFORV9JTl9GRU5DRV9GRF0g PSB+MFVMTDsKIAogCQkJaWd0X2ZpbGxfcGxhbmVfcHJvcHMoZGlzcGxheSwgcGxhbmUsIElHVF9O VU1fUExBTkVfUFJPUFMsIGlndF9wbGFuZV9wcm9wX25hbWVzKTsKLQotCQkJZ2V0X3BsYW5lX3By b3BlcnR5KGRpc3BsYXktPmRybV9mZCwgZHJtX3BsYW5lLT5wbGFuZV9pZCwKLQkJCQkJICAgInJv dGF0aW9uIiwKLQkJCQkJICAgJnBsYW5lLT5wcm9wc1tJR1RfUExBTkVfUk9UQVRJT05dLAotCQkJ CQkgICAmcGxhbmUtPnZhbHVlc1tJR1RfUExBTkVfUk9UQVRJT05dLAotCQkJCQkgICBOVUxMKTsK LQotCQkJLyogQ2xlYXIgYW55IHJlc2lkdWFsIGZyYW1lYnVmZmVyIGluZm8gb24gZmlyc3QgY29t bWl0LiAqLwotCQkJaWd0X3BsYW5lX3NldF9wcm9wX2NoYW5nZWQocGxhbmUsIElHVF9QTEFORV9G Ql9JRCk7Ci0JCQlpZ3RfcGxhbmVfc2V0X3Byb3BfY2hhbmdlZChwbGFuZSwgSUdUX1BMQU5FX0NS VENfSUQpOwotCi0JCQkvKgotCQkJICogQ1JUQ19YL1kgYXJlIG5vdCBjaGFuZ2VkIGluIGlndF9w bGFuZV9zZXRfZmIsIHNvCi0JCQkgKiBmb3JjZSB0aGVtIHRvIGJlIHNhbml0aXplZCBpbiBjYXNl IHRoZXkgY29udGFpbgotCQkJICogZ2FyYmFnZS4KLQkJCSAqLwotCQkJaWd0X3BsYW5lX3NldF9w cm9wX2NoYW5nZWQocGxhbmUsIElHVF9QTEFORV9DUlRDX1gpOwotCQkJaWd0X3BsYW5lX3NldF9w cm9wX2NoYW5nZWQocGxhbmUsIElHVF9QTEFORV9DUlRDX1kpOwogCQl9CiAKIAkJLyoKQEAgLTE3 ODIsMTggKzE4MjgsMTggQEAgdm9pZCBpZ3RfZGlzcGxheV9pbml0KGlndF9kaXNwbGF5X3QgKmRp c3BsYXksIGludCBkcm1fZmQpCiAJCSAqIGEgcGlwZSBpcyBzZXQgd2l0aCBpZ3Rfb3V0cHV0X3Nl dF9waXBlKCkuCiAJCSAqLwogCQlvdXRwdXQtPmZvcmNlX3JlcHJvYmUgPSB0cnVlOwotCQlvdXRw dXQtPnBlbmRpbmdfcGlwZSA9IFBJUEVfTk9ORTsKIAkJb3V0cHV0LT5pZCA9IHJlc291cmNlcy0+ Y29ubmVjdG9yc1tpXTsKIAkJb3V0cHV0LT5kaXNwbGF5ID0gZGlzcGxheTsKIAogCQlpZ3Rfb3V0 cHV0X3JlZnJlc2gob3V0cHV0KTsKLQotCQlpZ3Rfb3V0cHV0X3NldF9wcm9wX2NoYW5nZWQob3V0 cHV0LCBJR1RfQ09OTkVDVE9SX0NSVENfSUQpOwogCX0KIAogCWRybU1vZGVGcmVlUGxhbmVSZXNv dXJjZXMocGxhbmVfcmVzb3VyY2VzKTsKIAlkcm1Nb2RlRnJlZVJlc291cmNlcyhyZXNvdXJjZXMp OwogCisJLyogU2V0IHJlYXNvbmFibGUgZGVmYXVsdCB2YWx1ZXMgZm9yIGV2ZXJ5IG9iamVjdCBp biB0aGUgZGlzcGxheS4gKi8KKwlpZ3RfZGlzcGxheV9yZXNldChkaXNwbGF5KTsKKwogCUxPR19V TklOREVOVChkaXNwbGF5KTsKIH0KIApkaWZmIC0tZ2l0IGEvbGliL2lndF9rbXMuaCBiL2xpYi9p Z3Rfa21zLmgKaW5kZXggYWNjODI5MTNlMGI3Li5lMTg4M2JmMWI4YTMgMTAwNjQ0Ci0tLSBhL2xp Yi9pZ3Rfa21zLmgKKysrIGIvbGliL2lndF9rbXMuaApAQCAtMzUzLDYgKzM1Myw3IEBAIHN0cnVj dCBpZ3RfZGlzcGxheSB7CiAKIHZvaWQgaWd0X2Rpc3BsYXlfaW5pdChpZ3RfZGlzcGxheV90ICpk aXNwbGF5LCBpbnQgZHJtX2ZkKTsKIHZvaWQgaWd0X2Rpc3BsYXlfZmluaShpZ3RfZGlzcGxheV90 ICpkaXNwbGF5KTsKK3ZvaWQgaWd0X2Rpc3BsYXlfcmVzZXQoaWd0X2Rpc3BsYXlfdCAqZGlzcGxh eSk7CiBpbnQgIGlndF9kaXNwbGF5X2NvbW1pdDIoaWd0X2Rpc3BsYXlfdCAqZGlzcGxheSwgZW51 bSBpZ3RfY29tbWl0X3N0eWxlIHMpOwogaW50ICBpZ3RfZGlzcGxheV9jb21taXQoaWd0X2Rpc3Bs YXlfdCAqZGlzcGxheSk7CiBpbnQgIGlndF9kaXNwbGF5X3RyeV9jb21taXRfYXRvbWljKGlndF9k aXNwbGF5X3QgKmRpc3BsYXksIHVpbnQzMl90IGZsYWdzLCB2b2lkICp1c2VyX2RhdGEpOwotLSAK Mi4xNS4wCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK