From mboxrd@z Thu Jan 1 00:00:00 1970 From: akash.goel@intel.com Subject: [PATCH 04/11] drm/i915: Support for GuC interrupts Date: Mon, 27 Jun 2016 17:46:51 +0530 Message-ID: <1467029818-3417-5-git-send-email-akash.goel@intel.com> References: <1467029818-3417-1-git-send-email-akash.goel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTP id B618A6E210 for ; Mon, 27 Jun 2016 12:04:11 +0000 (UTC) In-Reply-To: <1467029818-3417-1-git-send-email-akash.goel@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: Akash Goel List-Id: intel-gfx@lists.freedesktop.org RnJvbTogU2FnYXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KClRoZXJl IGFyZSBjZXJ0YWluIHR5cGVzIG9mIGludGVycnVwdHMgd2hpY2ggSG9zdCBjYW4gcmVjaWV2ZSBm cm9tIEd1Qy4KR3VDIHVrZXJuZWwgc2VuZHMgYW4gaW50ZXJydXB0IHRvIEhvc3QgZm9yIGNlcnRh aW4gZXZlbnRzLCBsaWtlIGZvcgpleGFtcGxlIHJldHJpZXZlL2NvbnN1bWUgdGhlIGxvZ3MgZ2Vu ZXJhdGVkIGJ5IHVrZXJuZWwuClRoaXMgcGF0Y2ggYWRkcyBzdXBwb3J0IHRvIHJlY2VpdmUgaW50 ZXJydXB0cyBmcm9tIEd1QyBidXQgY3VycmVudGx5CmVuYWJsZXMgJiBwYXJ0aWFsbHkgaGFuZGxl cyBvbmx5IHRoZSBpbnRlcnJ1cHQgc2VudCBieSBHdUMgdWtlcm5lbC4KRnV0dXJlIHBhdGNoZXMg d2lsbCBhZGQgc3VwcG9ydCBmb3IgaGFuZGxpbmcgb3RoZXIgaW50ZXJydXB0IHR5cGVzLgoKdjI6 IFVzZSBjb21tb24gbG93IGxldmVsIHJvdXRpbmVzIGZvciBQTSBJRVIvSUlSIHByb2dyYW1taW5n IChDaHJpcykKICAgIFJlbmFtZSBpbnRlcnJ1cHQgZnVuY3Rpb25zIHRvIGdlbjlfeHh4IGZyb20g Z2VuOF94eHggKENocmlzKQogICAgUmVwbGFjZSBkaXNhYmxpbmcgb2Ygd2FrZSByZWYgYXNzZXJ0 cyB3aXRoIHJwbSBnZXQvcHV0IChDaHJpcykKClNpZ25lZC1vZmYtYnk6IFNhZ2FyIEFydW4gS2Ft YmxlIDxzYWdhci5hLmthbWJsZUBpbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IEFrYXNoIEdvZWwg PGFrYXNoLmdvZWxAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggICAgICAgICAgICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1p c3Npb24uYyB8ICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jICAgICAgICAg ICAgfCA5NSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfcmVnLmggICAgICAgICAgICB8IDExICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oICAgICAgICAgICB8ICAzICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2d1Yy5oICAgICAgICAgICB8ICA1ICsrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNf bG9hZGVyLmMgICAgfCAgNCArKwogNyBmaWxlcyBjaGFuZ2VkLCAxMjAgaW5zZXJ0aW9ucygrKSwg NCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA4NWE3MTAzLi4yMGM3 MDFjIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTE4MDgsNiArMTgwOCw3IEBAIHN0cnVj dCBkcm1faTkxNV9wcml2YXRlIHsKIAl1MzIgcG1faXJxX21hc2s7CiAJdTMyIHBtX2llcl9tYXNr OwogCXUzMiBwbV9ycHNfZXZlbnRzOworCXUzMiBndWNfZXZlbnRzOwogCXUzMiBwaXBlc3RhdF9p cnFfbWFza1tJOTE1X01BWF9QSVBFU107CiAKIAlzdHJ1Y3QgaTkxNV9ob3RwbHVnIGhvdHBsdWc7 CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2d1Y19zdWJtaXNzaW9uLmMKaW5kZXggMjhhODEw Zi4uODEwNWRkZCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3Vi bWlzc2lvbi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24u YwpAQCAtMTAzOCw2ICsxMDM4LDggQEAgaW50IGludGVsX2d1Y19zdXNwZW5kKHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYpCiAJaWYgKGd1Yy0+Z3VjX2Z3Lmd1Y19md19sb2FkX3N0YXR1cyAhPSBHVUNf RklSTVdBUkVfU1VDQ0VTUykKIAkJcmV0dXJuIDA7CiAKKwlnZW45X2Rpc2FibGVfZ3VjX2ludGVy cnVwdHMoZGV2X3ByaXYpOworCiAJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9jb250ZXh0OwogCiAJ ZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9FTlRFUl9TX1NUQVRFOwpAQCAtMTA2NCw2ICsxMDY2 LDkgQEAgaW50IGludGVsX2d1Y19yZXN1bWUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAlpZiAo Z3VjLT5ndWNfZncuZ3VjX2Z3X2xvYWRfc3RhdHVzICE9IEdVQ19GSVJNV0FSRV9TVUNDRVNTKQog CQlyZXR1cm4gMDsKIAorCWlmIChpOTE1Lmd1Y19sb2dfbGV2ZWwgPj0gMCkKKwkJZ2VuOV9lbmFi bGVfZ3VjX2ludGVycnVwdHMoZGV2X3ByaXYpOworCiAJY3R4ID0gZGV2X3ByaXYtPmtlcm5lbF9j b250ZXh0OwogCiAJZGF0YVswXSA9IEhPU1QyR1VDX0FDVElPTl9FWElUX1NfU1RBVEU7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jIGIvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9pcnEuYwppbmRleCA3MzE2YWI0Li4zMDQzZTQ1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2lycS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5 MTVfaXJxLmMKQEAgLTE3MCw2ICsxNzAsNyBAQCBzdGF0aWMgdm9pZCBnZW41X2Fzc2VydF9paXJf aXNfemVybyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB9IHdoaWxlICgwKQog CiBzdGF0aWMgdm9pZCBnZW42X3Jwc19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYsIHUzMiBwbV9paXIpOworc3RhdGljIHZvaWQgZ2VuOV9ndWNfaXJxX2hhbmRs ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCB1MzIgcG1faWlyKTsKIAogLyog Rm9yIGRpc3BsYXkgaG90cGx1ZyBpbnRlcnJ1cHQgKi8KIHN0YXRpYyBpbmxpbmUgdm9pZApAQCAt NDIyLDYgKzQyMyw0MiBAQCB2b2lkIGdlbjZfZGlzYWJsZV9ycHNfaW50ZXJydXB0cyhzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJc3luY2hyb25pemVfaXJxKGRldl9wcml2LT5k ZXYtPmlycSk7CiB9CiAKK3ZvaWQgZ2VuOV9yZXNldF9ndWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmly cV9sb2NrKTsKKwlnZW42X3Jlc2V0X3BtX2ludGVycnVwdHMoZGV2X3ByaXYsIGRldl9wcml2LT5n dWNfZXZlbnRzKTsKKwlzcGluX3VubG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7Cit9CisK K3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2ludGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KQoreworCXNwaW5fbG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CisJaWYg KCFkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxlZCkgeworCQlXQVJOX09OKEk5MTVfUkVB RChnZW42X3BtX2lpcihkZXZfcHJpdikpICYKKwkJCQkJZGV2X3ByaXYtPmd1Y19ldmVudHMpOwor CQlkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxlZCA9IHRydWU7CisJCWdlbjZfZW5hYmxl X3BtX2ludGVycnVwdHMoZGV2X3ByaXYsIGRldl9wcml2LT5ndWNfZXZlbnRzKTsKKwl9CisJc3Bp bl91bmxvY2tfaXJxKCZkZXZfcHJpdi0+aXJxX2xvY2spOworfQorCit2b2lkIGdlbjlfZGlzYWJs ZV9ndWNfaW50ZXJydXB0cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCit7CisJ c3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKKwlkZXZfcHJpdi0+Z3VjLmludGVy cnVwdHNfZW5hYmxlZCA9IGZhbHNlOworCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9s b2NrKTsKKworCWNhbmNlbF93b3JrX3N5bmMoJmRldl9wcml2LT5ndWMuZXZlbnRzX3dvcmspOwor CisJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKKworCWdlbjZfZGlzYWJsZV9w bV9pbnRlcnJ1cHRzKGRldl9wcml2LCBkZXZfcHJpdi0+Z3VjX2V2ZW50cyk7CisKKwlzcGluX3Vu bG9ja19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CisKKwlzeW5jaHJvbml6ZV9pcnEoZGV2X3By aXYtPmRldi0+aXJxKTsKK30KKwogLyoqCiAgKiBiZHdfdXBkYXRlX3BvcnRfaXJxIC0gdXBkYXRl IERFIHBvcnQgaW50ZXJydXB0CiAgKiBAZGV2X3ByaXY6IGRyaXZlciBwcml2YXRlCkBAIC0xMTk2 LDYgKzEyMzMsMzMgQEAgb3V0OgogCUVOQUJMRV9SUE1fV0FLRVJFRl9BU1NFUlRTKGRldl9wcml2 KTsKIH0KIAorc3RhdGljIHZvaWQgZ2VuOV9ndWMyaG9zdF9ldmVudHNfd29yayhzdHJ1Y3Qgd29y a19zdHJ1Y3QgKndvcmspCit7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0K KwkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBkcm1faTkxNV9wcml2YXRlLCBndWMuZXZlbnRz X3dvcmspOworCisJc3Bpbl9sb2NrX2lycSgmZGV2X3ByaXYtPmlycV9sb2NrKTsKKwkvKiBTcGVl ZCB1cCB3b3JrIGNhbmNlbGF0aW9uIGR1cmluZyBkaXNhYmxpbmcgZ3VjIGludGVycnVwdHMuICov CisJaWYgKCFkZXZfcHJpdi0+Z3VjLmludGVycnVwdHNfZW5hYmxlZCkgeworCQlzcGluX3VubG9j a19pcnEoJmRldl9wcml2LT5pcnFfbG9jayk7CisJCXJldHVybjsKKwl9CisKKwkvKiBUaG91Z2gg dGhpcyB3b3JrIGl0ZW0gZ2V0cyBzeW5jZWQgZHVyaW5nIHJwbSBzdXNwZW5kLCBidXQgc3RpbGwg bmVlZAorCSAqIGEgcnBtIGdldC9wdXQgdG8gYXZvaWQgdGhlIHdhcm5pbmcsIGFzIGl0IGNvdWxk IGdldCBleGVjdXRlZCBpbiBhCisJICogd2luZG93LCB3aGVyZSBycG0gcmVmIGNvdW50IGhhcyBk cm9wcGVkIHRvIHplcm8gYnV0IHJwbSBzdXNwZW5kIGhhcworCSAqIG5vdCBraWNrZWQgaW4uIEdl bmVyYWxseSBkZXZpY2UgaXMgZXhwZWN0ZWQgdG8gYmUgYWN0aXZlIG9ubHkgYXQgdGhpcworCSAq IHRpbWUgc28gZ2V0L3B1dCBzaG91bGQgYmUgcmVhbGx5IHF1aWNrLgorCSAqLworCWludGVsX3J1 bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKKworCWdlbjZfZW5hYmxlX3BtX2lycShkZXZfcHJpdiwg R0VOOV9HVUNfVE9fSE9TVF9JTlRfRVZFTlQpOworCXNwaW5fdW5sb2NrX2lycSgmZGV2X3ByaXYt PmlycV9sb2NrKTsKKworCS8qIFRPRE86IEhhbmRsZSB0aGUgZXZlbnRzIGZvciB3aGljaCBHdUMg aW50ZXJydXB0ZWQgaG9zdCAqLworCisJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwor fQogCiAvKioKICAqIGl2eWJyaWRnZV9wYXJpdHlfd29yayAtIFdvcmtxdWV1ZSBjYWxsZWQgd2hl biBhIHBhcml0eSBlcnJvciBpbnRlcnJ1cHQKQEAgLTEzNzEsMTEgKzE0MzUsMTMgQEAgc3RhdGlj IGlycXJldHVybl90IGdlbjhfZ3RfaXJxX2FjayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCiAJCQlEUk1fRVJST1IoIlRoZSBtYXN0ZXIgY29udHJvbCBpbnRlcnJ1cHQgbGllZCAo R1QzKSFcbiIpOwogCX0KIAotCWlmIChtYXN0ZXJfY3RsICYgR0VOOF9HVF9QTV9JUlEpIHsKKwlp ZiAobWFzdGVyX2N0bCAmIChHRU44X0dUX1BNX0lSUSB8IEdFTjhfR1RfR1VDX0lSUSkpIHsKIAkJ Z3RfaWlyWzJdID0gSTkxNV9SRUFEX0ZXKEdFTjhfR1RfSUlSKDIpKTsKLQkJaWYgKGd0X2lpclsy XSAmIGRldl9wcml2LT5wbV9ycHNfZXZlbnRzKSB7CisJCWlmIChndF9paXJbMl0gJiAoZGV2X3By aXYtPnBtX3Jwc19ldmVudHMgfAorCQkJCSBkZXZfcHJpdi0+Z3VjX2V2ZW50cykpIHsKIAkJCUk5 MTVfV1JJVEVfRlcoR0VOOF9HVF9JSVIoMiksCi0JCQkJICAgICAgZ3RfaWlyWzJdICYgZGV2X3By aXYtPnBtX3Jwc19ldmVudHMpOworCQkJCSAgICAgIGd0X2lpclsyXSAmIChkZXZfcHJpdi0+cG1f cnBzX2V2ZW50cyB8CisJCQkJCQkgICBkZXZfcHJpdi0+Z3VjX2V2ZW50cykpOwogCQkJcmV0ID0g SVJRX0hBTkRMRUQ7CiAJCX0gZWxzZQogCQkJRFJNX0VSUk9SKCJUaGUgbWFzdGVyIGNvbnRyb2wg aW50ZXJydXB0IGxpZWQgKFBNKSFcbiIpOwpAQCAtMTQwNyw2ICsxNDczLDkgQEAgc3RhdGljIHZv aWQgZ2VuOF9ndF9pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs CiAKIAlpZiAoZ3RfaWlyWzJdICYgZGV2X3ByaXYtPnBtX3Jwc19ldmVudHMpCiAJCWdlbjZfcnBz X2lycV9oYW5kbGVyKGRldl9wcml2LCBndF9paXJbMl0pOworCisJaWYgKGd0X2lpclsyXSAmIGRl dl9wcml2LT5ndWNfZXZlbnRzKQorCQlnZW45X2d1Y19pcnFfaGFuZGxlcihkZXZfcHJpdiwgZ3Rf aWlyWzJdKTsKIH0KIAogc3RhdGljIGJvb2wgYnh0X3BvcnRfaG90cGx1Z19sb25nX2RldGVjdChl bnVtIHBvcnQgcG9ydCwgdTMyIHZhbCkKQEAgLTE2NTMsNiArMTcyMiwyMCBAQCBzdGF0aWMgdm9p ZCBnZW42X3Jwc19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs IHUzMiBwbV9paXIpCiAJfQogfQogCitzdGF0aWMgdm9pZCBnZW45X2d1Y19pcnFfaGFuZGxlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHUzMiBndF9paXIpCit7CisJaWYgKGd0 X2lpciAmIEdFTjlfR1VDX1RPX0hPU1RfSU5UX0VWRU5UKSB7CisJCXNwaW5fbG9jaygmZGV2X3By aXYtPmlycV9sb2NrKTsKKwkJaWYgKGRldl9wcml2LT5ndWMuaW50ZXJydXB0c19lbmFibGVkKSB7 CisJCQkvKiBQcm9jZXNzIGFsbCB0aGUgR3VDIHRvIEhvc3QgZXZlbnRzIGluIGJvdHRvbSBoYWxm ICovCisJCQlnZW42X2Rpc2FibGVfcG1faXJxKGRldl9wcml2LAorCQkJCUdFTjlfR1VDX1RPX0hP U1RfSU5UX0VWRU5UKTsKKwkJCXF1ZXVlX3dvcmsoZGV2X3ByaXYtPndxLCAmZGV2X3ByaXYtPmd1 Yy5ldmVudHNfd29yayk7CisJCX0KKwkJc3Bpbl91bmxvY2soJmRldl9wcml2LT5pcnFfbG9jayk7 CisJfQorfQorCiBzdGF0aWMgYm9vbCBpbnRlbF9waXBlX2hhbmRsZV92Ymxhbmsoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgZW51bSBwaXBlIHBpcGUpCiB7CkBA IC0zODA5LDcgKzM4OTIsNyBAQCBzdGF0aWMgdm9pZCBnZW44X2d0X2lycV9wb3N0aW5zdGFsbChz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJR0VOOF9JUlFfSU5JVF9ORFgoR1Qs IDEsIH5ndF9pbnRlcnJ1cHRzWzFdLCBndF9pbnRlcnJ1cHRzWzFdKTsKIAkvKgogCSAqIFJQUyBp bnRlcnJ1cHRzIHdpbGwgZ2V0IGVuYWJsZWQvZGlzYWJsZWQgb24gZGVtYW5kIHdoZW4gUlBTIGl0 c2VsZgotCSAqIGlzIGVuYWJsZWQvZGlzYWJsZWQuCisJICogaXMgZW5hYmxlZC9kaXNhYmxlZC4g U2FtZSB3aWwgYmUgdGhlIGNhc2UgZm9yIEd1QyBpbnRlcnJ1cHRzLgogCSAqLwogCUdFTjhfSVJR X0lOSVRfTkRYKEdULCAyLCBkZXZfcHJpdi0+cG1faXJxX21hc2ssIDApOwogCUdFTjhfSVJRX0lO SVRfTkRYKEdULCAzLCB+Z3RfaW50ZXJydXB0c1szXSwgZ3RfaW50ZXJydXB0c1szXSk7CkBAIC00 NTk0LDYgKzQ2NzcsMTAgQEAgdm9pZCBpbnRlbF9pcnFfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYpCiAKIAlJTklUX1dPUksoJmRldl9wcml2LT5ycHMud29yaywgZ2VuNl9w bV9ycHNfd29yayk7CiAJSU5JVF9XT1JLKCZkZXZfcHJpdi0+bDNfcGFyaXR5LmVycm9yX3dvcmss IGl2eWJyaWRnZV9wYXJpdHlfd29yayk7CisJSU5JVF9XT1JLKCZkZXZfcHJpdi0+Z3VjLmV2ZW50 c193b3JrLCBnZW45X2d1YzJob3N0X2V2ZW50c193b3JrKTsKKworCWlmIChIQVNfR1VDX1VDT0RF KGRldikpCisJCWRldl9wcml2LT5ndWNfZXZlbnRzID0gR0VOOV9HVUNfVE9fSE9TVF9JTlRfRVZF TlQ7CiAKIAkvKiBMZXQncyB0cmFjayB0aGUgZW5hYmxlZCBycHMgZXZlbnRzICovCiAJaWYgKElT X1ZBTExFWVZJRVcoZGV2X3ByaXYpKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9yZWcuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgKaW5kZXggYzZiZmJm OC4uNDQ0MTkxOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBAIC01OTYzLDYgKzU5NjMsNyBA QCBlbnVtIHsKICNkZWZpbmUgIEdFTjhfREVfUElQRV9BX0lSUQkJKDE8PDE2KQogI2RlZmluZSAg R0VOOF9ERV9QSVBFX0lSUShwaXBlKQkJKDE8PCgxNisocGlwZSkpKQogI2RlZmluZSAgR0VOOF9H VF9WRUNTX0lSUQkJKDE8PDYpCisjZGVmaW5lICBHRU44X0dUX0dVQ19JUlEJCSgxPDw1KQogI2Rl ZmluZSAgR0VOOF9HVF9QTV9JUlEJCQkoMTw8NCkKICNkZWZpbmUgIEdFTjhfR1RfVkNTMl9JUlEJ CSgxPDwzKQogI2RlZmluZSAgR0VOOF9HVF9WQ1MxX0lSUQkJKDE8PDIpCkBAIC01OTc0LDYgKzU5 NzUsMTYgQEAgZW51bSB7CiAjZGVmaW5lIEdFTjhfR1RfSUlSKHdoaWNoKSBfTU1JTygweDQ0MzA4 ICsgKDB4MTAgKiAod2hpY2gpKSkKICNkZWZpbmUgR0VOOF9HVF9JRVIod2hpY2gpIF9NTUlPKDB4 NDQzMGMgKyAoMHgxMCAqICh3aGljaCkpKQogCisjZGVmaW5lIEdFTjlfR1VDX1RPX0hPU1RfSU5U X0VWRU5UCSgxPDwzMSkKKyNkZWZpbmUgR0VOOV9HVUNfRVhFQ19FUlJPUl9FVkVOVAkoMTw8MzAp CisjZGVmaW5lIEdFTjlfR1VDX0RJU1BMQVlfRVZFTlQJCSgxPDwyOSkKKyNkZWZpbmUgR0VOOV9H VUNfU0VNQV9TSUdOQUxfRVZFTlQJKDE8PDI4KQorI2RlZmluZSBHRU45X0dVQ19JT01NVV9NU0df RVZFTlQJKDE8PDI3KQorI2RlZmluZSBHRU45X0dVQ19EQl9SSU5HX0VWRU5UCQkoMTw8MjYpCisj ZGVmaW5lIEdFTjlfR1VDX0RNQV9ET05FX0VWRU5UCQkoMTw8MjUpCisjZGVmaW5lIEdFTjlfR1VD X0ZBVEFMX0VSUk9SX0VWRU5UCSgxPDwyNCkKKyNkZWZpbmUgR0VOOV9HVUNfTk9USUZJQ0FUSU9O X0VWRU5UCSgxPDwyMykKKwogI2RlZmluZSBHRU44X1JDU19JUlFfU0hJRlQgMAogI2RlZmluZSBH RU44X0JDU19JUlFfU0hJRlQgMTYKICNkZWZpbmUgR0VOOF9WQ1MxX0lSUV9TSElGVCAwCmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2Rydi5oCmluZGV4IDJhMDEzZmMuLjY5NjZmZmUgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2Rydi5oCkBAIC0xMDgzLDYgKzEwODMsOSBAQCB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dl bGxfcG9zdF9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAg ICAgdW5zaWduZWQgaW50IHBpcGVfbWFzayk7CiB2b2lkIGdlbjhfaXJxX3Bvd2VyX3dlbGxfcHJl X2Rpc2FibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAogCQkJCSAgICAgdW5z aWduZWQgaW50IHBpcGVfbWFzayk7Cit2b2lkIGdlbjlfcmVzZXRfZ3VjX2ludGVycnVwdHMoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgZ2VuOV9lbmFibGVfZ3VjX2lu dGVycnVwdHMoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK3ZvaWQgZ2VuOV9k aXNhYmxlX2d1Y19pbnRlcnJ1cHRzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdik7 CiAKIC8qIGludGVsX2NydC5jICovCiB2b2lkIGludGVsX2NydF9pbml0KHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAppbmRleCAzZTNlNzQzLi5hZTc4N2Uy IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaAorKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWMuaApAQCAtMTI2LDYgKzEyNiwxMSBAQCBzdHJ1Y3Qg aW50ZWxfZ3VjIHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjX2Z3IGd1Y19mdzsKIAl1aW50MzJfdCBsb2df ZmxhZ3M7CiAJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmxvZ19vYmo7CisJLyoKKwkgKiB3 b3JrLCBpbnRlcnJ1cHRzX2VuYWJsZWQgYXJlIHByb3RlY3RlZCBieSBkZXZfcHJpdi0+aXJxX2xv Y2sKKwkgKi8KKwlzdHJ1Y3Qgd29ya19zdHJ1Y3QgZXZlbnRzX3dvcms7CisJYm9vbCBpbnRlcnJ1 cHRzX2VuYWJsZWQ7CiAKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqYWRzX29iajsKIApk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvYWRlci5jCmluZGV4IGRiM2M4OTcuLmZjZjM2 YTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2FkZXIuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9hZGVyLmMKQEAgLTQ0OCw2ICs0 NDgsNyBAQCBpbnQgaW50ZWxfZ3VjX3NldHVwKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJfQog CiAJZGlyZWN0X2ludGVycnVwdHNfdG9faG9zdChkZXZfcHJpdik7CisJZ2VuOV9yZXNldF9ndWNf aW50ZXJydXB0cyhkZXZfcHJpdik7CiAKIAlndWNfZnctPmd1Y19md19sb2FkX3N0YXR1cyA9IEdV Q19GSVJNV0FSRV9QRU5ESU5HOwogCkBAIC00OTQsNiArNDk1LDkgQEAgaW50IGludGVsX2d1Y19z ZXR1cChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlpbnRlbF9ndWNfZndfc3RhdHVzX3JlcHIo Z3VjX2Z3LT5ndWNfZndfbG9hZF9zdGF0dXMpKTsKIAogCWlmIChpOTE1LmVuYWJsZV9ndWNfc3Vi bWlzc2lvbikgeworCQlpZiAoaTkxNS5ndWNfbG9nX2xldmVsID49IDApCisJCQlnZW45X2VuYWJs ZV9ndWNfaW50ZXJydXB0cyhkZXZfcHJpdik7CisKIAkJZXJyID0gaTkxNV9ndWNfc3VibWlzc2lv bl9lbmFibGUoZGV2X3ByaXYpOwogCQlpZiAoZXJyKQogCQkJZ290byBmYWlsOwotLSAKMS45LjIK Cl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdm eCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xp c3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=