From mboxrd@z Thu Jan 1 00:00:00 1970 From: Mika Kuoppala Subject: [CI 1/2] drm/i915: Fallback to reserve forcewake if primary ack missing Date: Tue, 31 Oct 2017 13:22:53 +0200 Message-ID: <20171031112254.881-1-mika.kuoppala@linux.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 B4F9D6E57C for ; Tue, 31 Oct 2017 11:23:11 +0000 (UTC) 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: Rodrigo Vivi List-Id: intel-gfx@lists.freedesktop.org VGhlcmUgaXMgYSBwb3NzaWJpbGl0eSBvbiBnZW45IGhhcmR3YXJlIHRvIG1pc3MgdGhlIGZvcmNl d2FrZSBhY2sKbWVzc2FnZS4gVGhlIHJlY29tbWVuZGVkIHdvcmthcm91bmQgaXMgdG8gdXNlIGFu b3RoZXIgZnJlZQpiaXQgYW5kIHRvZ2dsZSBpdCB1bnRpbCBvcmlnaW5hbCBiaXQgaXMgc3VjY2Vz c2Z1bGx5IGFja25vd2xlZGdlZC4KClNvbWUgZnV0dXJlIGdlbjkgcmV2cyBtaWdodCBvciBtaWdo dCBub3QgZml4IHRoZSB1bmRlcmx5aW5nIGlzc3VlIGJ1dAp0aGUgZmFsbGJhY2sgdG8gcmVzZXJ2 ZSBiaXQgZGFuY2UgY2FuIGJlIGNvbnNpZGVyZWQgYXMgaGFybWxlc3M6CndpdGhvdXQgdGhlIGFj ayB0aW1lb3V0IHdlIG5ldmVyIHJlYWNoIHRoZSByZXNlcnZlIGJpdCBmb3JjZXdha2UuClRodXMg YXMgb2Ygbm93IHdlIGFkb3B0IGEgYmxhbmtldCBhcHByb2FjaCBmb3IgYWxsIGdlbjkgYW5kIGxl YXZlCnRoZSBieXBhc3NpbmcgdGhlIHJlc2VydmUgYml0IGFwcHJvYWNoIGZvciBmdXR1cmUgcGF0 Y2hlcyBpZgpjb3JyZXNwb25kaW5nIGh3IHJldmlzaW9ucyBkbyBhcHBlYXIuCgpDb21taXQgODNl MzMzNzIwNGIyICgiZHJtL2k5MTU6IEluY3JlYXNlIG1heGltdW0gcG9sbGluZyB0aW1lIHRvIDUw bXMKZm9yIGZvcmNld2FrZSByZXF1ZXN0L2NsZWFyIGFjayIpIGRpZCBpbmNyZWFzZSB0aGUgZm9y Y2V3YWtlIHRpbWVvdXQuCklmIHRoZSBpc3N1ZSB3YXMgYSBkZWxheWVkIGFjaywgZnV0dXJlIHdv cmsgY291bGQgaW5jbHVkZSBmaW5kaW5nCmEgc3VpdGFibGUgdGltZW91dCB2YWx1ZSBib3RoIGZv ciBwcmltYXJ5IGFjayBhbmQgcmVzZXJ2ZSB0b2dnbGUKdG8gcmVkdWNlIHRoZSB3b3JzdCBjYXNl IGxhdGVuY3kuCgp2MjogdXNlIGJpdCAxNSwgbmFtaW5nLCBjb21tZW50IChDaHJpcyksIG9ubHkg d2FpdCBmYWxsYmFjayBhY2sKdjM6IGZpeCByZXR1cm4gb24gZmFsbGJhY2ssIGJhY2tvZmYgYWZ0 ZXIgZmFsbGJhY2sgd3JpdGUgKENocmlzKQp2NDogdWRlbGF5IG9uIGZpcnN0IHBhc3MsIGdyYW1t YXIgKENocmlzKQoKUmVmZXJlbmNlczogSFNERVMgIzE2MDQyNTQ1MjQKUmVmZXJlbmNlczogaHR0 cHM6Ly9idWdzLmZyZWVkZXNrdG9wLm9yZy9zaG93X2J1Zy5jZ2k/aWQ9MTAyMDUxCkNjOiBDaHJp cyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IFJvZHJpZ28gVml2aSA8cm9k cmlnby52aXZpQGludGVsLmNvbT4KQ2M6IFR2cnRrbyBVcnN1bGluIDx0dnJ0a28udXJzdWxpbkBp bnRlbC5jb20+CkNjOiBKb29uYXMgTGFodGluZW4gPGpvb25hcy5sYWh0aW5lbkBsaW51eC5pbnRl bC5jb20+CkNjOiBTYWdhciBBcnVuIEthbWJsZSA8c2FnYXIuYS5rYW1ibGVAaW50ZWwuY29tPgpT aWduZWQtb2ZmLWJ5OiBNaWthIEt1b3BwYWxhIDxtaWthLmt1b3BwYWxhQGxpbnV4LmludGVsLmNv bT4KUmV2aWV3ZWQtYnk6IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgot LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggICAgIHwgICA1ICstCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF91bmNvcmUuYyB8IDEzNyArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0KIDIgZmlsZXMgY2hhbmdlZCwgMTMwIGluc2VydGlvbnMoKyksIDEyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCmluZGV4IDhjNzc1ZTk2YjRlNC4uZjBm OGY2MDU5NjUyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKQEAgLTc3NzQsOCArNzc3NCw5IEBA IGVudW0gewogI2RlZmluZSAgRk9SQ0VXQUtFX0FDS19NRURJQV9HRU45CQlfTU1JTygweDBEODgp CiAjZGVmaW5lICBGT1JDRVdBS0VfQUNLX1JFTkRFUl9HRU45CQlfTU1JTygweDBEODQpCiAjZGVm aW5lICBGT1JDRVdBS0VfQUNLX0JMSVRURVJfR0VOOQkJX01NSU8oMHgxMzAwNDQpCi0jZGVmaW5l ICAgRk9SQ0VXQUtFX0tFUk5FTAkJCTB4MQotI2RlZmluZSAgIEZPUkNFV0FLRV9VU0VSCQkJMHgy CisjZGVmaW5lICAgRk9SQ0VXQUtFX0tFUk5FTAkJCUJJVCgwKQorI2RlZmluZSAgIEZPUkNFV0FL RV9VU0VSCQkJQklUKDEpCisjZGVmaW5lICAgRk9SQ0VXQUtFX0tFUk5FTF9GQUxMQkFDSwkJQklU KDE1KQogI2RlZmluZSAgRk9SQ0VXQUtFX01UX0FDSwkJCV9NTUlPKDB4MTMwMDQwKQogI2RlZmlu ZSAgRUNPQlVTCQkJCQlfTU1JTygweGExODApCiAjZGVmaW5lICAgIEZPUkNFV0FLRV9NVF9FTkFC TEUJCQkoMTw8NSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29y ZS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfdW5jb3JlLmMKaW5kZXggOTZlZTZiMjc1 NGJlLi4xZmU2Y2U0ZjExMzggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X3VuY29yZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3VuY29yZS5jCkBAIC02 OSwxNyArNjksMTA0IEBAIGZ3X2RvbWFpbl9hcm1fdGltZXIoc3RydWN0IGludGVsX3VuY29yZV9m b3JjZXdha2VfZG9tYWluICpkKQogCQkJICAgICAgIEhSVElNRVJfTU9ERV9SRUwpOwogfQogCitz dGF0aWMgaW5saW5lIGludAorX193YWl0X2Zvcl9hY2soY29uc3Qgc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmk5MTUsCisJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtl X2RvbWFpbiAqZCwKKwkgICAgICAgY29uc3QgdTMyIGFjaywKKwkgICAgICAgY29uc3QgdTMyIHZh bHVlKQoreworCXJldHVybiB3YWl0X2Zvcl9hdG9taWMoKF9fcmF3X2k5MTVfcmVhZDMyKGk5MTUs IGQtPnJlZ19hY2spICYgYWNrKSA9PSB2YWx1ZSwKKwkJCSAgICAgICBGT1JDRVdBS0VfQUNLX1RJ TUVPVVRfTVMpOworfQorCitzdGF0aWMgaW5saW5lIGludAord2FpdF9hY2tfY2xlYXIoY29uc3Qg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJICAgICAgIGNvbnN0IHN0cnVjdCBpbnRl bF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCwKKwkgICAgICAgY29uc3QgdTMyIGFjaykKK3sK KwlyZXR1cm4gX193YWl0X2Zvcl9hY2soaTkxNSwgZCwgYWNrLCAwKTsKK30KKworc3RhdGljIGlu bGluZSBpbnQKK3dhaXRfYWNrX3NldChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCwK KwkgICAgIGNvbnN0IHUzMiBhY2spCit7CisJcmV0dXJuIF9fd2FpdF9mb3JfYWNrKGk5MTUsIGQs IGFjaywgYWNrKTsKK30KKwogc3RhdGljIGlubGluZSB2b2lkCiBmd19kb21haW5fd2FpdF9hY2tf Y2xlYXIoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCiAJCQkgY29uc3Qgc3Ry dWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQogewotCWlmICh3YWl0X2Zvcl9h dG9taWMoKF9fcmF3X2k5MTVfcmVhZDMyKGk5MTUsIGQtPnJlZ19hY2spICYKLQkJCSAgICAgRk9S Q0VXQUtFX0tFUk5FTCkgPT0gMCwKLQkJCSAgICBGT1JDRVdBS0VfQUNLX1RJTUVPVVRfTVMpKQor CWlmICh3YWl0X2Fja19jbGVhcihpOTE1LCBkLCBGT1JDRVdBS0VfS0VSTkVMKSkKIAkJRFJNX0VS Uk9SKCIlczogdGltZWQgb3V0IHdhaXRpbmcgZm9yIGZvcmNld2FrZSBhY2sgdG8gY2xlYXIuXG4i LAogCQkJICBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbl90b19zdHIoZC0+aWQpKTsKIH0K IAorZW51bSBhY2tfdHlwZSB7CisJQUNLX0NMRUFSID0gMCwKKwlBQ0tfU0VUCit9OworCitzdGF0 aWMgaW50Citmd19kb21haW5fd2FpdF9hY2tfd2l0aF9mYWxsYmFjayhjb25zdCBzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqaTkxNSwKKwkJCQkgY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3Jj ZXdha2VfZG9tYWluICpkLAorCQkJCSBjb25zdCBlbnVtIGFja190eXBlIHR5cGUpCit7CisJY29u c3QgdTMyIGFja19iaXQgPSBGT1JDRVdBS0VfS0VSTkVMOworCWNvbnN0IHUzMiB2YWx1ZSA9IHR5 cGUgPT0gQUNLX1NFVCA/IGFja19iaXQgOiAwOworCXVuc2lnbmVkIGludCBwYXNzOworCWJvb2wg YWNrX2RldGVjdGVkOworCisJLyoKKwkgKiBUaGVyZSBpcyBhIHBvc3NpYmlsaXR5IG9mIGRyaXZl cidzIHdha2UgcmVxdWVzdCBjb2xsaWRpbmcKKwkgKiB3aXRoIGhhcmR3YXJlJ3Mgb3duIHdha2Ug cmVxdWVzdHMgYW5kIHRoYXQgY2FuIGNhdXNlCisJICogaGFyZHdhcmUgdG8gbm90IGRlbGl2ZXIg dGhlIGRyaXZlcidzIGFjayBtZXNzYWdlLgorCSAqCisJICogVXNlIGEgZmFsbGJhY2sgYml0IHRv Z2dsZSB0byBraWNrIHRoZSBncHUgc3RhdGUgbWFjaGluZQorCSAqIGluIHRoZSBob3BlIHRoYXQg dGhlIG9yaWdpbmFsIGFjayB3aWxsIGJlIGRlbGl2ZXJlZCBhbG9uZyB3aXRoCisJICogdGhlIGZh bGxiYWNrIGFjay4KKwkgKgorCSAqIFRoaXMgd29ya2Fyb3VuZCBpcyBkZXNjcmliZWQgaW4gSFNE RVMgIzE2MDQyNTQ1MjQKKwkgKi8KKworCXBhc3MgPSAxOworCWRvIHsKKwkJd2FpdF9hY2tfY2xl YXIoaTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5FTF9GQUxMQkFDSyk7CisKKwkJX19yYXdfaTkxNV93 cml0ZTMyKGk5MTUsIGQtPnJlZ19zZXQsCisJCQkJICAgX01BU0tFRF9CSVRfRU5BQkxFKEZPUkNF V0FLRV9LRVJORUxfRkFMTEJBQ0spKTsKKwkJLyogR2l2ZSBndCBzb21lIHRpbWUgdG8gcmVsYXgg YmVmb3JlIHRoZSBwb2xsaW5nIGZyZW56eSAqLworCQl1ZGVsYXkoMTAgKiBwYXNzKTsKKwkJd2Fp dF9hY2tfc2V0KGk5MTUsIGQsIEZPUkNFV0FLRV9LRVJORUxfRkFMTEJBQ0spOworCisJCWFja19k ZXRlY3RlZCA9IChfX3Jhd19pOTE1X3JlYWQzMihpOTE1LCBkLT5yZWdfYWNrKSAmIGFja19iaXQp ID09IHZhbHVlOworCisJCV9fcmF3X2k5MTVfd3JpdGUzMihpOTE1LCBkLT5yZWdfc2V0LAorCQkJ CSAgIF9NQVNLRURfQklUX0RJU0FCTEUoRk9SQ0VXQUtFX0tFUk5FTF9GQUxMQkFDSykpOworCX0g d2hpbGUgKCFhY2tfZGV0ZWN0ZWQgJiYgcGFzcysrIDwgMTApOworCisJRFJNX0RFQlVHX0RSSVZF UigiJXMgaGFkIHRvIHVzZSBmYWxsYmFjayB0byAlcyBhY2ssIDB4JXggKHBhc3NlcyAldSlcbiIs CisJCQkgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW5fdG9fc3RyKGQtPmlkKSwKKwkJCSB0 eXBlID09IEFDS19TRVQgPyAic2V0IiA6ICJjbGVhciIsCisJCQkgX19yYXdfaTkxNV9yZWFkMzIo aTkxNSwgZC0+cmVnX2FjayksCisJCQkgcGFzcyk7CisKKwlyZXR1cm4gYWNrX2RldGVjdGVkID8g MCA6IC1FVElNRURPVVQ7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAorZndfZG9tYWluX3dhaXRf YWNrX2NsZWFyX2ZhbGxiYWNrKGNvbnN0IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAor CQkJCSAgY29uc3Qgc3RydWN0IGludGVsX3VuY29yZV9mb3JjZXdha2VfZG9tYWluICpkKQorewor CWlmIChsaWtlbHkoIXdhaXRfYWNrX2NsZWFyKGk5MTUsIGQsIEZPUkNFV0FLRV9LRVJORUwpKSkK KwkJcmV0dXJuOworCisJaWYgKGZ3X2RvbWFpbl93YWl0X2Fja193aXRoX2ZhbGxiYWNrKGk5MTUs IGQsIEFDS19DTEVBUikpCisJCWZ3X2RvbWFpbl93YWl0X2Fja19jbGVhcihpOTE1LCBkKTsKK30K Kwogc3RhdGljIGlubGluZSB2b2lkCiBmd19kb21haW5fZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICppOTE1LAogCSAgICAgIGNvbnN0IHN0cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2Rv bWFpbiAqZCkKQEAgLTg4LDE3ICsxNzUsMjYgQEAgZndfZG9tYWluX2dldChzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqaTkxNSwKIH0KIAogc3RhdGljIGlubGluZSB2b2lkCi1md19kb21haW5fd2Fp dF9hY2soY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCi0JCSAgIGNvbnN0IHN0 cnVjdCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK2Z3X2RvbWFpbl93YWl0X2Fj a19zZXQoY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsCisJCSAgICAgICBjb25z dCBzdHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB7Ci0JaWYgKHdhaXRf Zm9yX2F0b21pYygoX19yYXdfaTkxNV9yZWFkMzIoaTkxNSwgZC0+cmVnX2FjaykgJgotCQkJICAg ICBGT1JDRVdBS0VfS0VSTkVMKSwKLQkJCSAgICBGT1JDRVdBS0VfQUNLX1RJTUVPVVRfTVMpKQor CWlmICh3YWl0X2Fja19zZXQoaTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5FTCkpCiAJCURSTV9FUlJP UigiJXM6IHRpbWVkIG91dCB3YWl0aW5nIGZvciBmb3JjZXdha2UgYWNrIHJlcXVlc3QuXG4iLAog CQkJICBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbl90b19zdHIoZC0+aWQpKTsKIH0KIAog c3RhdGljIGlubGluZSB2b2lkCitmd19kb21haW5fd2FpdF9hY2tfc2V0X2ZhbGxiYWNrKGNvbnN0 IHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LAorCQkJCWNvbnN0IHN0cnVjdCBpbnRlbF91 bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZCkKK3sKKwlpZiAobGlrZWx5KCF3YWl0X2Fja19zZXQo aTkxNSwgZCwgRk9SQ0VXQUtFX0tFUk5FTCkpKQorCQlyZXR1cm47CisKKwlpZiAoZndfZG9tYWlu X3dhaXRfYWNrX3dpdGhfZmFsbGJhY2soaTkxNSwgZCwgQUNLX1NFVCkpCisJCWZ3X2RvbWFpbl93 YWl0X2Fja19zZXQoaTkxNSwgZCk7Cit9CisKK3N0YXRpYyBpbmxpbmUgdm9pZAogZndfZG9tYWlu X3B1dChjb25zdCBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkxNSwKIAkgICAgICBjb25zdCBz dHJ1Y3QgaW50ZWxfdW5jb3JlX2ZvcmNld2FrZV9kb21haW4gKmQpCiB7CkBAIC0xMTksNyArMjE1 LDI3IEBAIGZ3X2RvbWFpbnNfZ2V0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1LCBlbnVt IGZvcmNld2FrZV9kb21haW5zIGZ3X2RvbWFpbnMpCiAJfQogCiAJZm9yX2VhY2hfZndfZG9tYWlu X21hc2tlZChkLCBmd19kb21haW5zLCBpOTE1LCB0bXApCi0JCWZ3X2RvbWFpbl93YWl0X2Fjayhp OTE1LCBkKTsKKwkJZndfZG9tYWluX3dhaXRfYWNrX3NldChpOTE1LCBkKTsKKworCWk5MTUtPnVu Y29yZS5md19kb21haW5zX2FjdGl2ZSB8PSBmd19kb21haW5zOworfQorCitzdGF0aWMgdm9pZAor ZndfZG9tYWluc19nZXRfd2l0aF9mYWxsYmFjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqaTkx NSwKKwkJCSAgICAgZW51bSBmb3JjZXdha2VfZG9tYWlucyBmd19kb21haW5zKQoreworCXN0cnVj dCBpbnRlbF91bmNvcmVfZm9yY2V3YWtlX2RvbWFpbiAqZDsKKwl1bnNpZ25lZCBpbnQgdG1wOwor CisJR0VNX0JVR19PTihmd19kb21haW5zICYgfmk5MTUtPnVuY29yZS5md19kb21haW5zKTsKKwor CWZvcl9lYWNoX2Z3X2RvbWFpbl9tYXNrZWQoZCwgZndfZG9tYWlucywgaTkxNSwgdG1wKSB7CisJ CWZ3X2RvbWFpbl93YWl0X2Fja19jbGVhcl9mYWxsYmFjayhpOTE1LCBkKTsKKwkJZndfZG9tYWlu X2dldChpOTE1LCBkKTsKKwl9CisKKwlmb3JfZWFjaF9md19kb21haW5fbWFza2VkKGQsIGZ3X2Rv bWFpbnMsIGk5MTUsIHRtcCkKKwkJZndfZG9tYWluX3dhaXRfYWNrX3NldF9mYWxsYmFjayhpOTE1 LCBkKTsKIAogCWk5MTUtPnVuY29yZS5md19kb21haW5zX2FjdGl2ZSB8PSBmd19kb21haW5zOwog fQpAQCAtMTE0Miw3ICsxMjU4LDggQEAgc3RhdGljIHZvaWQgaW50ZWxfdW5jb3JlX2Z3X2RvbWFp bnNfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJfQogCiAJaWYgKElO VEVMX0dFTihkZXZfcHJpdikgPj0gOSkgewotCQlkZXZfcHJpdi0+dW5jb3JlLmZ1bmNzLmZvcmNl X3dha2VfZ2V0ID0gZndfZG9tYWluc19nZXQ7CisJCWRldl9wcml2LT51bmNvcmUuZnVuY3MuZm9y Y2Vfd2FrZV9nZXQgPQorCQkJZndfZG9tYWluc19nZXRfd2l0aF9mYWxsYmFjazsKIAkJZGV2X3By aXYtPnVuY29yZS5mdW5jcy5mb3JjZV93YWtlX3B1dCA9IGZ3X2RvbWFpbnNfcHV0OwogCQlmd19k b21haW5faW5pdChkZXZfcHJpdiwgRldfRE9NQUlOX0lEX1JFTkRFUiwKIAkJCSAgICAgICBGT1JD RVdBS0VfUkVOREVSX0dFTjksCi0tIAoyLjExLjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxp c3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2ludGVsLWdmeAo=