From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ankit Navik Subject: [PATCH v4 2/3] drm/i915: set optimum eu/slice/sub-slice configuration based on load type Date: Thu, 14 Mar 2019 14:06:54 +0530 Message-ID: <1552552615-6703-3-git-send-email-ankit.p.navik@intel.com> References: <1552552615-6703-1-git-send-email-ankit.p.navik@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id 42A9C6E228 for ; Thu, 14 Mar 2019 08:39:01 +0000 (UTC) In-Reply-To: <1552552615-6703-1-git-send-email-ankit.p.navik@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: ankit.p.navik@intel.com List-Id: intel-gfx@lists.freedesktop.org RnJvbTogUHJhdmVlbiBEaXdha2FyIDxwcmF2ZWVuLmRpd2FrYXJAaW50ZWwuY29tPgoKVGhpcyBw YXRjaCB3aWxsIHNlbGVjdCBvcHRpbXVtIGV1L3NsaWNlL3N1Yi1zbGljZSBjb25maWd1cmF0aW9u IGJhc2VkIG9uCnR5cGUgb2YgbG9hZCAobG93LCBtZWRpdW0sIGhpZ2gpIGFzIGlucHV0LgpCYXNl ZCBvbiBvdXIgcmVhZGluZ3MgYW5kIGV4cGVyaW1lbnRzIHdlIGhhdmUgcHJlZGVmaW5lZCBzZXQg b2Ygb3B0aW11bQpjb25maWd1cmF0aW9uIGZvciBlYWNoIHBsYXRmb3JtKENIVCwgS0JMKS4KaTkx NV9nZW1fY29udGV4dF9zZXRfbG9hZF90eXBlIHdpbGwgc2VsZWN0IG9wdGltdW0gY29uZmlndXJh dGlvbiBmcm9tCnByZS1kZWZpbmVkIG9wdGltdW0gY29uZmlndXJhdGlvbiB0YWJsZShvcHRfY29u ZmlnKS4KCkl0IGFsc28gaW50cm9kdWNlIGZsYWcgdXBkYXRlX3JlbmRlcl9jb25maWcgd2hpY2gg Y2FuIHNldCBieSBhbnkgZ292ZXJub3IuCgp2MjoKICogTW92ZSBzdGF0aWMgb3B0aW11bV9jb25m aWcgdG8gZGV2aWNlIGluaXQgdGltZS4KICogUmVuYW1lIGZ1bmN0aW9uIHRvIGFwcHJvcHJpYXRl IG5hbWUsIGZpeCBkYXRhIHR5cGVzIGFuZCBwYXRjaCBvcmRlcmluZy4KICogUmVuYW1lIHByZXZf bG9hZF90eXBlIHRvIHBlbmRpbmdfbG9hZF90eXBlLiAoVHZydGtvIFVyc3VsaW4pCgp2MzoKICog QWRkIHNhZmUgZ3VhcmQgY2hlY2sgaW4gaTkxNV9nZW1fY29udGV4dF9zZXRfbG9hZF90eXBlLgog KiBSZW5hbWUgc3RydWN0IGZyb20gb3B0aW11bV9jb25maWcgdG8gaTkxNV9zc2V1X29wdGltdW1f Y29uZmlnIHRvCiAgIGF2b2lkIG5hbWVzcGFjZSBjbGFzaGVzLgogKiBSZWR1Y2VzIG1lbWNweSBm b3Igc3BhY2UgZWZmaWNpZW50LgogKiBSZWJhc2UuCiAqIEltcHJvdmVkIGNvbW1pdCBtZXNzYWdl LiAoVHZydGtvIFVyc3VsaW4pCgp2NDoKICogTW92ZSBvcHRpbXVtIGNvbmZpZyB0YWJsZSB0byBm aWxlIHNjb3BlLiAoVHZydGtvIFVyc3VsaW4pCgpDYzogS2VkYXIgSiBLYXJhbmplIDxrZWRhci5q LmthcmFuamVAaW50ZWwuY29tPgpDYzogWW9nZXNoIE1hcmF0aGUgPHlvZ2VzaC5tYXJhdGhlQGlu dGVsLmNvbT4KU2lnbmVkLW9mZi1ieTogUHJhdmVlbiBEaXdha2FyIDxwcmF2ZWVuLmRpd2FrYXJA aW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBcmF2aW5kYW4gTXV0aHVrdW1hciA8YXJhdmluZGFu Lm11dGh1a3VtYXJAaW50ZWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbmtpdCBOYXZpayA8YW5raXQu cC5uYXZpa0BpbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAg ICAgICAgICB8ICA1ICsrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQu YyAgfCAyMCArKysrKysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29u dGV4dC5oICB8IDM0ICsrKysrKysrKysrKysrKysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9kZXZpY2VfaW5mby5jIHwgNDcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr LS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jICAgICAgICAgfCA0NSArKysrKysr KysrKysrKysrKysrKysrKysrKysrKy0KIDUgZmlsZXMgY2hhbmdlZCwgMTQ4IGluc2VydGlvbnMo KyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggNWM4ZDA0OC4u OTdjYjM2YiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0xNTkzLDYgKzE1OTMsMTEgQEAg c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCXN0cnVjdCBkcm1faTkxNV9mZW5jZV9yZWcgZmVu Y2VfcmVnc1tJOTE1X01BWF9OVU1fRkVOQ0VTXTsgLyogYXNzdW1lIDk2NSAqLwogCWludCBudW1f ZmVuY2VfcmVnczsgLyogOCBvbiBwcmUtOTY1LCAxNiBvdGhlcndpc2UgKi8KIAorCS8qIG9wdGlt YWwgc2xpY2Uvc3Vic2xpY2UvRVUgY29uZmlncmF0aW9uIHN0YXRlICovCisJc3RydWN0IGk5MTVf c3NldV9vcHRpbXVtX2NvbmZpZyAqb3B0X2NvbmZpZzsKKworCWludCBwcmVkaWN0aXZlX2xvYWRf ZW5hYmxlOworCiAJdW5zaWduZWQgaW50IGZzYl9mcmVxLCBtZW1fZnJlcSwgaXNfZGRyMzsKIAl1 bnNpZ25lZCBpbnQgc2tsX3ByZWZlcnJlZF92Y29fZnJlcTsKIAl1bnNpZ25lZCBpbnQgbWF4X2Nk Y2xrX2ZyZXE7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250 ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmMKaW5kZXggYTU4 NzZmZS4uOGYxNmVmMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1f Y29udGV4dC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpA QCAtNDU0LDEwICs0NTQsMzAgQEAgaTkxNV9nZW1fY3JlYXRlX2NvbnRleHQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2LAogCiAJdHJhY2VfaTkxNV9jb250ZXh0X2NyZWF0ZShjdHgp OwogCWF0b21pY19zZXQoJmN0eC0+cmVxX2NudCwgMCk7CisJY3R4LT5zbGljZV9jbnQgPSBod2Vp Z2h0OChSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5zc2V1LnNsaWNlX21hc2spOworCWN0eC0+c3Vi c2xpY2VfY250ID0gaHdlaWdodDgoCisJCQlSVU5USU1FX0lORk8oZGV2X3ByaXYpLT5zc2V1LnN1 YnNsaWNlX21hc2tbMF0pOworCWN0eC0+ZXVfY250ID0gUlVOVElNRV9JTkZPKGRldl9wcml2KS0+ c3NldS5ldV9wZXJfc3Vic2xpY2U7CiAKIAlyZXR1cm4gY3R4OwogfQogCisKK3ZvaWQgaTkxNV9n ZW1fY29udGV4dF9zZXRfbG9hZF90eXBlKHN0cnVjdCBpOTE1X2dlbV9jb250ZXh0ICpjdHgsCisJ CWVudW0gZ2VtX2xvYWRfdHlwZSB0eXBlKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiA9IGN0eC0+aTkxNTsKKworCWlmIChHRU1fV0FSTl9PTih0eXBlID4gTE9BRF9UWVBF X0xBU1QpKQorCQlyZXR1cm47CisKKwkvKiBDYWxsIG9wdF9jb25maWcgdG8gZ2V0IGNvcnJlY3Qg Y29uZmlndXJhdGlvbiBmb3IgZXUsc2xpY2Usc3Vic2xpY2UgKi8KKwljdHgtPnNsaWNlX2NudCA9 IGRldl9wcml2LT5vcHRfY29uZmlnW3R5cGVdLnNsaWNlOworCWN0eC0+c3Vic2xpY2VfY250ID0g ZGV2X3ByaXYtPm9wdF9jb25maWdbdHlwZV0uc3Vic2xpY2U7CisJY3R4LT5ldV9jbnQgPSBkZXZf cHJpdi0+b3B0X2NvbmZpZ1t0eXBlXS5ldTsKKwljdHgtPnBlbmRpbmdfbG9hZF90eXBlID0gdHlw ZTsKK30KKwogLyoqCiAgKiBpOTE1X2dlbV9jb250ZXh0X2NyZWF0ZV9ndnQgLSBjcmVhdGUgYSBH VlQgR0VNIGNvbnRleHQKICAqIEBkZXY6IGRybSBkZXZpY2UgKgpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9nZW1fY29udGV4dC5oCmluZGV4IGM5NDAxNjguLjBhMjRkMjggMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0LmgKQEAgLTU0LDYgKzU0LDE5IEBAIHN0cnVjdCBpbnRl bF9jb250ZXh0X29wcyB7CiAJdm9pZCAoKmRlc3Ryb3kpKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpj ZSk7CiB9OwogCitlbnVtIGdlbV9sb2FkX3R5cGUgeworCUxPQURfVFlQRV9MT1csCisJTE9BRF9U WVBFX01FRElVTSwKKwlMT0FEX1RZUEVfSElHSCwKKwlMT0FEX1RZUEVfTEFTVAorfTsKKworc3Ry dWN0IGk5MTVfc3NldV9vcHRpbXVtX2NvbmZpZyB7CisJdTggc2xpY2U7CisJdTggc3Vic2xpY2U7 CisJdTggZXU7Cit9OworCiAvKgogICogUG93ZXJnYXRpbmcgY29uZmlndXJhdGlvbiBmb3IgYSBw YXJ0aWN1bGFyIChjb250ZXh0LGVuZ2luZSkuCiAgKi8KQEAgLTIzMiw2ICsyNDUsMjUgQEAgc3Ry dWN0IGk5MTVfZ2VtX2NvbnRleHQgewogCSAqIGdvIGZvciBsb3cvbWVkaXVtL2hpZ2ggbG9hZCBj b25maWd1cmF0aW9uIG9mIHRoZSBHUFUuCiAJICovCiAJYXRvbWljX3QgcmVxX2NudDsKKworCS8q KiBzbGljZV9jbnQ6IHVzZWQgdG8gc2V0IHRoZSAjIG9mIHNsaWNlcyB0byBiZSBlbmFibGVkLiAq LworCXU4IHNsaWNlX2NudDsKKworCS8qKiBzdWJzbGljZV9jbnQ6IHVzZWQgdG8gc2V0IHRoZSAj IG9mIHN1YnNsaWNlcyB0byBiZSBlbmFibGVkLiAqLworCXU4IHN1YnNsaWNlX2NudDsKKworCS8q KiBldV9jbnQ6IHVzZWQgdG8gc2V0IHRoZSAjIG9mIGV1IHRvIGJlIGVuYWJsZWQuICovCisJdTgg ZXVfY250OworCisJLyoqIGxvYWRfdHlwZTogVGhlIGRlc2lnbmF0ZWQgbG9hZF90eXBlIChoaWdo L21lZGl1bS9sb3cpIGZvciBhIGdpdmVuCisJICogbnVtYmVyIG9mIHBlbmRpbmcgY29tbWFuZHMg aW4gdGhlIGNvbW1hbmQgcXVldWUuCisJICovCisJZW51bSBnZW1fbG9hZF90eXBlIGxvYWRfdHlw ZTsKKworCS8qKiBwZW5kaW5nX2xvYWRfdHlwZTogVGhlIGVhcmxpZXIgbG9hZCB0eXBlIHRoYXQg dGhlIEdQVSB3YXMgY29uZmlndXJlZAorCSAqIGZvciAoaGlnaC9tZWRpdW0vbG93KS4KKwkgKi8K KwllbnVtIGdlbV9sb2FkX3R5cGUgcGVuZGluZ19sb2FkX3R5cGU7CiB9OwogCiBzdGF0aWMgaW5s aW5lIGJvb2wgaTkxNV9nZW1fY29udGV4dF9pc19jbG9zZWQoY29uc3Qgc3RydWN0IGk5MTVfZ2Vt X2NvbnRleHQgKmN0eCkKQEAgLTM3NSw2ICs0MDcsOCBAQCBpbnQgaTkxNV9nZW1fY29udGV4dF9z ZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAg ICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJpdik7CiBpbnQgaTkxNV9nZW1fY29udGV4dF9yZXNl dF9zdGF0c19pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQkJCSAg ICAgICBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpOwordm9pZCBpOTE1X2dlbV9jb250ZXh0X3NldF9s b2FkX3R5cGUoc3RydWN0IGk5MTVfZ2VtX2NvbnRleHQgKmN0eCwKKwkJZW51bSBnZW1fbG9hZF90 eXBlIHR5cGUpOwogCiBzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqCiBpOTE1X2dlbV9jb250ZXh0 X2NyZWF0ZV9rZXJuZWwoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUsIGludCBwcmlvKTsK ZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZvLmMgYi9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kZXZpY2VfaW5mby5jCmluZGV4IDg1NWE1MDcuLjAx N2ExZTIgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RldmljZV9pbmZv LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGV2aWNlX2luZm8uYwpAQCAtNzA3 LDYgKzcwNywyNyBAQCBzdGF0aWMgdTMyIHJlYWRfdGltZXN0YW1wX2ZyZXF1ZW5jeShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiAJcmV0dXJuIDA7CiB9CiAKKy8qIHN0YXRpYyB0 YWJsZSBvZiBzbGljZS9zdWJzbGljZS9FVSBmb3IgQ2hlcnJ5dmlldyAqLworc3RhdGljIGNvbnN0 IHN0cnVjdCBpOTE1X3NzZXVfb3B0aW11bV9jb25maWcgY2h2X2NvbmZpZ1tMT0FEX1RZUEVfTEFT VF0gPSB7CisJezEsIDEsIDR9LAkvKiBMb3cgKi8KKwl7MSwgMSwgNn0sCS8qIE1lZGl1bSAqLwor CXsxLCAyLCA2fQkvKiBIaWdoICovCit9OworCisvKiBzdGF0aWMgdGFibGUgb2Ygc2xpY2Uvc3Vi c2xpY2UvRVUgZm9yIEtCTCBHVDIgKi8KK3N0YXRpYyBjb25zdCBzdHJ1Y3QgaTkxNV9zc2V1X29w dGltdW1fY29uZmlnIGtibF9ndDJfY29uZmlnW0xPQURfVFlQRV9MQVNUXSA9IHsKKwl7MSwgMywg Mn0sCS8qIExvdyAqLworCXsxLCAzLCA0fSwJLyogTWVkaXVtICovCisJezEsIDMsIDh9CS8qIEhp Z2ggKi8KK307CisKKy8qIHN0YXRpYyB0YWJsZSBvZiBzbGljZS9zdWJzbGljZS9FVSBmb3IgS0JM IEdUMyAqLworc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X3NzZXVfb3B0aW11bV9jb25maWcga2Js X2d0M19jb25maWdbTE9BRF9UWVBFX0xBU1RdID0geworCXsyLCAzLCA0fSwJLyogTG93ICovCisJ ezIsIDMsIDZ9LAkvKiBNZWRpdW0gKi8KKwl7MiwgMywgOH0JLyogSGlnaCAqLworfTsKKwogLyoq CiAgKiBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQgLSBpbml0aWFsaXplIHJ1bnRpbWUg aW5mbwogICogQGRldl9wcml2OiB0aGUgaTkxNSBkZXZpY2UKQEAgLTcyOCw2ICs3NDksNyBAQCB2 b2lkIGludGVsX2RldmljZV9pbmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYpCiAJc3RydWN0IGludGVsX2RldmljZV9pbmZvICppbmZvID0gbWt3cml0ZV9k ZXZpY2VfaW5mbyhkZXZfcHJpdik7CiAJc3RydWN0IGludGVsX3J1bnRpbWVfaW5mbyAqcnVudGlt ZSA9IFJVTlRJTUVfSU5GTyhkZXZfcHJpdik7CiAJZW51bSBwaXBlIHBpcGU7CisJc3RydWN0IGk5 MTVfc3NldV9vcHRpbXVtX2NvbmZpZyAqb3B0X2NvbmZpZyA9IE5VTEw7CiAKIAlpZiAoSU5URUxf R0VOKGRldl9wcml2KSA+PSAxMCkgewogCQlmb3JfZWFjaF9waXBlKGRldl9wcml2LCBwaXBlKQpA QCAtODMxLDEyICs4NTMsMzAgQEAgdm9pZCBpbnRlbF9kZXZpY2VfaW5mb19ydW50aW1lX2luaXQo c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCS8qIEluaXRpYWxpemUgc2xpY2Uv c3Vic2xpY2UvRVUgaW5mbyAqLwogCWlmIChJU19IQVNXRUxMKGRldl9wcml2KSkKIAkJaGFzd2Vs bF9zc2V1X2luZm9faW5pdChkZXZfcHJpdik7Ci0JZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZf cHJpdikpCisJZWxzZSBpZiAoSVNfQ0hFUlJZVklFVyhkZXZfcHJpdikpIHsKIAkJY2hlcnJ5dmll d19zc2V1X2luZm9faW5pdChkZXZfcHJpdik7CisJCW9wdF9jb25maWcgPSBjaHZfY29uZmlnOwor CQlCVUlMRF9CVUdfT04oQVJSQVlfU0laRShjaHZfY29uZmlnKSAhPSBMT0FEX1RZUEVfTEFTVCk7 CisJfQogCWVsc2UgaWYgKElTX0JST0FEV0VMTChkZXZfcHJpdikpCiAJCWJyb2Fkd2VsbF9zc2V1 X2luZm9faW5pdChkZXZfcHJpdik7Ci0JZWxzZSBpZiAoSVNfR0VOKGRldl9wcml2LCA5KSkKKwll bHNlIGlmIChJU19HRU4oZGV2X3ByaXYsIDkpKSB7CiAJCWdlbjlfc3NldV9pbmZvX2luaXQoZGV2 X3ByaXYpOworCisJCXN3aXRjaCAoaW5mby0+Z3QpIHsKKwkJZGVmYXVsdDogLyogZmFsbCB0aHJv dWdoICovCisJCWNhc2UgMjoKKwkJCW9wdF9jb25maWcgPSBrYmxfZ3QyX2NvbmZpZzsKKwkJCUJV SUxEX0JVR19PTihBUlJBWV9TSVpFKGtibF9ndDJfY29uZmlnKQorCQkJCQkJIT0gTE9BRF9UWVBF X0xBU1QpOworCQlicmVhazsKKwkJY2FzZSAzOgorCQkJb3B0X2NvbmZpZyA9IGtibF9ndDNfY29u ZmlnOworCQkJQlVJTERfQlVHX09OKEFSUkFZX1NJWkUoa2JsX2d0M19jb25maWcpCisJCQkJCQkh PSBMT0FEX1RZUEVfTEFTVCk7CisJCWJyZWFrOworCQl9CisJfQogCWVsc2UgaWYgKElTX0dFTihk ZXZfcHJpdiwgMTApKQogCQlnZW4xMF9zc2V1X2luZm9faW5pdChkZXZfcHJpdik7CiAJZWxzZSBp ZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSAxMSkKQEAgLTg0Nyw2ICs4ODcsOSBAQCB2b2lkIGlu dGVsX2RldmljZV9pbmZvX3J1bnRpbWVfaW5pdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYpCiAJCWluZm8tPnBwZ3R0ID0gSU5URUxfUFBHVFRfTk9ORTsKIAl9CiAKKwlpZiAob3B0 X2NvbmZpZykKKwkJZGV2X3ByaXYtPm9wdF9jb25maWcgPSBvcHRfY29uZmlnOworCiAJLyogSW5p dGlhbGl6ZSBjb21tYW5kIHN0cmVhbSB0aW1lc3RhbXAgZnJlcXVlbmN5ICovCiAJcnVudGltZS0+ Y3NfdGltZXN0YW1wX2ZyZXF1ZW5jeV9raHogPSByZWFkX3RpbWVzdGFtcF9mcmVxdWVuY3koZGV2 X3ByaXYpOwogfQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwppbmRleCBkMGFmMzdkLi4zOTdhZjFl IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYwpAQCAtMTI4Miw2ICsxMjgyLDM1IEBAIHN0YXRp YyBpbnQgX19jb250ZXh0X3BpbihzdHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4LCBzdHJ1Y3Qg aTkxNV92bWEgKnZtYSkKIAlyZXR1cm4gaTkxNV92bWFfcGluKHZtYSwgMCwgMCwgZmxhZ3MpOwog fQogCitzdGF0aWMgdTMyCitnZXRfY29udGV4dF9ycGNzX2NvbmZpZyhzdHJ1Y3QgaTkxNV9nZW1f Y29udGV4dCAqY3R4KQoreworCXUzMiBycGNzID0gMDsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0 ZSAqZGV2X3ByaXYgPSBjdHgtPmk5MTU7CisKKwlpZiAoSU5URUxfR0VOKGRldl9wcml2KSA8IDgp CisJCXJldHVybiAwOworCisJaWYgKFJVTlRJTUVfSU5GTyhkZXZfcHJpdiktPnNzZXUuaGFzX3Ns aWNlX3BnKSB7CisJCXJwY3MgfD0gR0VOOF9SUENTX1NfQ05UX0VOQUJMRTsKKwkJcnBjcyB8PSBj dHgtPnNsaWNlX2NudCA8PCBHRU44X1JQQ1NfU19DTlRfU0hJRlQ7CisJCXJwY3MgfD0gR0VOOF9S UENTX0VOQUJMRTsKKwl9CisKKwlpZiAoUlVOVElNRV9JTkZPKGRldl9wcml2KS0+c3NldS5oYXNf c3Vic2xpY2VfcGcpIHsKKwkJcnBjcyB8PSBHRU44X1JQQ1NfU1NfQ05UX0VOQUJMRTsKKwkJcnBj cyB8PSBjdHgtPnN1YnNsaWNlX2NudCA8PCBHRU44X1JQQ1NfU1NfQ05UX1NISUZUOworCQlycGNz IHw9IEdFTjhfUlBDU19FTkFCTEU7CisJfQorCisJaWYgKFJVTlRJTUVfSU5GTyhkZXZfcHJpdikt PnNzZXUuaGFzX2V1X3BnKSB7CisJCXJwY3MgfD0gY3R4LT5ldV9jbnQgPDwgR0VOOF9SUENTX0VV X01JTl9TSElGVDsKKwkJcnBjcyB8PSBjdHgtPmV1X2NudCA8PCBHRU44X1JQQ1NfRVVfTUFYX1NI SUZUOworCQlycGNzIHw9IEdFTjhfUlBDU19FTkFCTEU7CisJfQorCisJcmV0dXJuIHJwY3M7Cit9 CiBzdGF0aWMgdm9pZAogX19leGVjbGlzdHNfdXBkYXRlX3JlZ19zdGF0ZShzdHJ1Y3QgaW50ZWxf ZW5naW5lX2NzICplbmdpbmUsCiAJCQkgICAgIHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjZSkKQEAg LTEyOTQsOSArMTMyMywyMCBAQCBfX2V4ZWNsaXN0c191cGRhdGVfcmVnX3N0YXRlKHN0cnVjdCBp bnRlbF9lbmdpbmVfY3MgKmVuZ2luZSwKIAlyZWdzW0NUWF9SSU5HX1RBSUwgKyAxXSA9IHJpbmct PnRhaWw7CiAKIAkvKiBSUENTICovCi0JaWYgKGVuZ2luZS0+Y2xhc3MgPT0gUkVOREVSX0NMQVNT KQorCWlmIChlbmdpbmUtPmNsYXNzID09IFJFTkRFUl9DTEFTUyAmJgorCQkJCWVuZ2luZS0+aTkx NS0+cHJlZGljdGl2ZV9sb2FkX2VuYWJsZSkgeworCQl1MzIgcnBjc19jb25maWcgPSAwOworCQlz dHJ1Y3QgaTkxNV9nZW1fY29udGV4dCAqY3R4ID0gY2UtPmdlbV9jb250ZXh0OworCisJCXJwY3Nf Y29uZmlnID0gZ2V0X2NvbnRleHRfcnBjc19jb25maWcoY3R4KTsKKwkJcmVnc1tDVFhfTFJJX0hF QURFUl8yXSA9IE1JX0xPQURfUkVHSVNURVJfSU1NKDEpOworCQlDVFhfUkVHKHJlZ3MsIENUWF9S X1BXUl9DTEtfU1RBVEUsIEdFTjhfUl9QV1JfQ0xLX1NUQVRFLAorCQkJCQkJcnBjc19jb25maWcp OworCisJfSBlbHNlIGlmIChlbmdpbmUtPmNsYXNzID09IFJFTkRFUl9DTEFTUykgewogCQlyZWdz W0NUWF9SX1BXUl9DTEtfU1RBVEUgKyAxXSA9IGdlbjhfbWFrZV9ycGNzKGVuZ2luZS0+aTkxNSwK IAkJCQkJCQkgICAgICAgJmNlLT5zc2V1KTsKKwl9CiB9CiAKIHN0YXRpYyBzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqCkBAIC0xMzQwLDYgKzEzODAsOSBAQCBfX2V4ZWNsaXN0c19jb250ZXh0X3Bpbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICplbmdpbmUsCiAKIAlfX2V4ZWNsaXN0c191cGRhdGVfcmVn X3N0YXRlKGVuZ2luZSwgY2UpOwogCisJaWYgKGN0eC0+bG9hZF90eXBlICE9IGN0eC0+cGVuZGlu Z19sb2FkX3R5cGUpCisJCWN0eC0+bG9hZF90eXBlID0gY3R4LT5wZW5kaW5nX2xvYWRfdHlwZTsK KwogCWNlLT5zdGF0ZS0+b2JqLT5waW5fZ2xvYmFsKys7CiAJaTkxNV9nZW1fY29udGV4dF9nZXQo Y3R4KTsKIAlyZXR1cm4gY2U7Ci0tIAoyLjcuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4