From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandra Yates Subject: [PATCH 4/5] drm/i915: Add sys drrs toggle interface Date: Tue, 12 Apr 2016 12:18:47 -0700 Message-ID: <1460488728-23319-5-git-send-email-alexandra.yates@linux.intel.com> References: <1460488728-23319-1-git-send-email-alexandra.yates@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga14.intel.com (mga14.intel.com [192.55.52.115]) by gabe.freedesktop.org (Postfix) with ESMTP id D91F26E77A for ; Tue, 12 Apr 2016 19:14:15 +0000 (UTC) In-Reply-To: <1460488728-23319-1-git-send-email-alexandra.yates@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, rodrigo.vivi@intel.com, nivedita.swaminathan@intel.com, joe.konno@intel.com Cc: Alexandra Yates List-Id: intel-gfx@lists.freedesktop.org VGhpcyBpbnRlcmZhY2UgYWxsb3dzIGVuYWJsaW5nL2Rpc2FibGluZyBvZiBEUlJTIGZlYXR1cmUu ICBJdCBhbGxvd3MKdG8gc2VlIGltbWVkaWF0ZWx5IHRoZSBwb3dlciBtYW5hZ2VtZW50IHNhdmlu Z3MgYW5kIHdpbGwgYWxsb3cKdG8gZXhwb3NlIHRoaXMgdGhyb3VnaCBzeXNmcyBpbnRlcmZhY2Ug Zm9yIHBvd2VydG9wIHRvIGxldmVyYWdlIGl0cwpmdW5jdGlvbmFsaXR5LgoKU2lnbmVkLW9mZi1i eTogQWxleGFuZHJhIFlhdGVzIDxhbGV4YW5kcmEueWF0ZXNAbGludXguaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICB8ICAxICsKIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfc3lzZnMuYyB8IDg2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMgIHwgIDkgKysrLQogZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyAgIHwgMjYgKysrKysrKysrLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCAgfCAgNCArLQogNSBmaWxlcyBjaGFuZ2VkLCAxMTYg aW5zZXJ0aW9ucygrKSwgMTAgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5k ZXggYmJlMTg5Zi4uNGM1ZWVhNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC05NjQsNiAr OTY0LDcgQEAgc3RydWN0IGk5MTVfZHJycyB7CiAJdW5zaWduZWQgYnVzeV9mcm9udGJ1ZmZlcl9i aXRzOwogCWVudW0gZHJyc19yZWZyZXNoX3JhdGVfdHlwZSByZWZyZXNoX3JhdGVfdHlwZTsKIAll bnVtIGRycnNfc3VwcG9ydF90eXBlIHR5cGU7CisJYm9vbCBzeXNmc19zZXQ7CiB9OwogCiBzdHJ1 Y3QgaTkxNV9wc3IgewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNm cy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9zeXNmcy5jCmluZGV4IDgxYWE1MzQuLmY0 ODlhYjYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfc3lzZnMuYworKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3N5c2ZzLmMKQEAgLTI2NCw2ICsyNjQsNzIgQEAg dG9nZ2xlX3BzcihzdHJ1Y3QgZGV2aWNlICprZGV2LCBzdHJ1Y3QgZGV2aWNlX2F0dHJpYnV0ZSAq YXR0ciwKIAlyZXR1cm4gY291bnQ7CiB9CiAKK3N0YXRpYyBzc2l6ZV90CitzaG93X2RycnMoc3Ry dWN0IGRldmljZSAqa2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsIGNoYXIgKmJ1 ZikKK3sKKwlzdHJ1Y3QgZHJtX21pbm9yICpkbWlub3IgPSBkZXZfdG9fZHJtX21pbm9yKGtkZXYp OworCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBkbWlub3ItPmRldjsKKwlzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCXNzaXplX3QgcmV0Owor CisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRycnMubXV0ZXgpOworCXJldCA9IHNucHJpbnRmKGJ1 ZiwgUEFHRV9TSVpFLCAiJXNcbiIsIGRldl9wcml2LT5kcnJzLmRwID8KKwkJCSJlbmFibGVkIjoi ZGlzYWJsZWQiKTsKKwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcnJzLm11dGV4KTsKKwlyZXR1 cm4gcmV0OworfQorCitzdGF0aWMgc3NpemVfdAordG9nZ2xlX2RycnMoc3RydWN0IGRldmljZSAq a2Rldiwgc3RydWN0IGRldmljZV9hdHRyaWJ1dGUgKmF0dHIsCisJY29uc3QgY2hhciAqYnVmLCBz aXplX3QgY291bnQpCit7CisJc3RydWN0IGRybV9taW5vciAqZG1pbm9yID0gZGV2X3RvX2RybV9t aW5vcihrZGV2KTsKKwlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gZG1pbm9yLT5kZXY7CisJc3Ry dWN0IGludGVsX2Nvbm5lY3RvciAqY29ubmVjdG9yOworCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpl bmNvZGVyOworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gTlVMTDsKKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gTlVMTDsKKwl1MzIgdmFsOworCXNzaXplX3QgcmV0OworCWJvb2wgc3lz ZnNfc2V0ID0gdHJ1ZTsKKworCXJldCA9IGtzdHJ0b3UzMihidWYsIDAsICZ2YWwpOworCWlmIChy ZXQpCisJCXJldHVybiByZXQ7CisKKwlmb3JfZWFjaF9pbnRlbF9jb25uZWN0b3IoZGV2LCBjb25u ZWN0b3IpIHsKKwkJaWYgKCFjb25uZWN0b3ItPmJhc2UuZW5jb2RlcikKKwkJCWNvbnRpbnVlOwor CisJCWVuY29kZXIgPSB0b19pbnRlbF9lbmNvZGVyKGNvbm5lY3Rvci0+YmFzZS5lbmNvZGVyKTsK KwkJY3J0YyA9IHRvX2ludGVsX2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwkJaW50ZWxfZHAg PSBlbmNfdG9faW50ZWxfZHAoJmVuY29kZXItPmJhc2UpOworCX0KKwlpZiAoIWNydGMpCisJCXJl dHVybiAtRU5PREVWOworCisJc3dpdGNoICh2YWwpIHsKKwljYXNlIDA6CisJCXJldCA9IGludGVs X2VkcF9kcnJzX2Rpc2FibGUoaW50ZWxfZHAsIHN5c2ZzX3NldCk7CisJCWlmIChyZXQpCisJCQly ZXR1cm4gcmV0OworCQlicmVhazsKKwljYXNlIDE6CisJCWlmIChlbmNvZGVyLT50eXBlID09IElO VEVMX09VVFBVVF9FRFApIHsKKwkJCXJldCA9IGludGVsX2VkcF9kcnJzX2VuYWJsZShpbnRlbF9k cCwgc3lzZnNfc2V0KTsKKwkJCWlmIChyZXQpCisJCQkJcmV0dXJuIHJldDsKKwkJfQorCQlicmVh azsKKwlkZWZhdWx0OgorCQlyZXR1cm4gLUVJTlZBTDsKKworCX0KKworCXJldHVybiBjb3VudDsK K30KKworc3RhdGljIERFVklDRV9BVFRSKGRycnNfZW5hYmxlLCBTX0lSVUdPIHwgU19JV1VTUiwg c2hvd19kcnJzLCB0b2dnbGVfZHJycyk7CiBzdGF0aWMgREVWSUNFX0FUVFIoZmJjX2VuYWJsZSwg U19JUlVHTyB8IFNfSVdVU1IsIHNob3dfZmJjLCB0b2dnbGVfZmJjKTsKIHN0YXRpYyBERVZJQ0Vf QVRUUihwc3JfZW5hYmxlLCBTX0lSVUdPIHwgU19JV1VTUiwgc2hvd19wc3IsIHRvZ2dsZV9wc3Ip Owogc3RhdGljIERFVklDRV9BVFRSKHJjNl9lbmFibGUsIFNfSVJVR08gfCBTX0lXVVNSLCBzaG93 X3JjNl9tYXNrLCB0b2dnbGVfcmM2KTsKQEAgLTMyMyw2ICszODksMTcgQEAgc3RhdGljIHN0cnVj dCBhdHRyaWJ1dGVfZ3JvdXAgbWVkaWFfcmM2X2F0dHJfZ3JvdXAgPSB7CiAJLm5hbWUgPSBwb3dl cl9ncm91cF9uYW1lLAogCS5hdHRycyA9ICBtZWRpYV9yYzZfYXR0cnMKIH07CisKK3N0YXRpYyBz dHJ1Y3QgYXR0cmlidXRlICpkcnJzX2F0dHJzW10gPSB7CisJJmRldl9hdHRyX2RycnNfZW5hYmxl LmF0dHIsCisJTlVMTAorfTsKKworc3RhdGljIHN0cnVjdCBhdHRyaWJ1dGVfZ3JvdXAgZHJyc19h dHRyX2dyb3VwID0geworCS5uYW1lID0gcG93ZXJfZ3JvdXBfbmFtZSwKKwkuYXR0cnMgPSBkcnJz X2F0dHJzCit9OworCiAjZW5kaWYKIAogc3RhdGljIGludCBsM19hY2Nlc3NfdmFsaWQoc3RydWN0 IGRybV9kZXZpY2UgKmRldiwgbG9mZl90IG9mZnNldCkKQEAgLTc4OCw2ICs4NjUsMTQgQEAgdm9p ZCBpOTE1X3NldHVwX3N5c2ZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJCWlmIChyZXQpCiAJ CQlEUk1fRVJST1IoIlBTUiBzeXNmcyBzZXR1cCBmYWlsZWRcbiIpOwogCX0KKworCWlmIChIQVNf UFNSKGRldikpIHsKKwkJcmV0ID0gc3lzZnNfbWVyZ2VfZ3JvdXAoJmRldi0+cHJpbWFyeS0+a2Rl di0+a29iaiwKKwkJCQkJJmRycnNfYXR0cl9ncm91cCk7CisJCWlmIChyZXQpCisJCQlEUk1fRVJS T1IoIkRSUlMgc3lzZnMgc2V0dXAgZmFpbGVkXG4iKTsKKwl9CisKIAlpZiAoSEFTX1JDNihkZXYp KSB7CiAJCXJldCA9IHN5c2ZzX21lcmdlX2dyb3VwKCZkZXYtPnByaW1hcnktPmtkZXYtPmtvYmos CiAJCQkJCSZyYzZfYXR0cl9ncm91cCk7CkBAIC04NDQsNiArOTI5LDcgQEAgdm9pZCBpOTE1X3Rl YXJkb3duX3N5c2ZzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJZGV2aWNlX3JlbW92ZV9iaW5f ZmlsZShkZXYtPnByaW1hcnktPmtkZXYsICAmZHBmX2F0dHJzXzEpOwogCWRldmljZV9yZW1vdmVf YmluX2ZpbGUoZGV2LT5wcmltYXJ5LT5rZGV2LCAgJmRwZl9hdHRycyk7CiAjaWZkZWYgQ09ORklH X1BNCisJc3lzZnNfdW5tZXJnZV9ncm91cCgmZGV2LT5wcmltYXJ5LT5rZGV2LT5rb2JqLCAmZHJy c19hdHRyX2dyb3VwKTsKIAlzeXNmc191bm1lcmdlX2dyb3VwKCZkZXYtPnByaW1hcnktPmtkZXYt PmtvYmosICZmYmNfYXR0cl9ncm91cCk7CiAJc3lzZnNfdW5tZXJnZV9ncm91cCgmZGV2LT5wcmlt YXJ5LT5rZGV2LT5rb2JqLCAmcHNyX2F0dHJfZ3JvdXApOwogCXN5c2ZzX3VubWVyZ2VfZ3JvdXAo JmRldi0+cHJpbWFyeS0+a2Rldi0+a29iaiwgJnJjNl9hdHRyX2dyb3VwKTsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGRpLmMKaW5kZXggOGUzODRlNS4uZWI2ZjBmOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZGRpLmMKQEAgLTE2OTEsNyArMTY5MSw5IEBAIHN0YXRpYyB2b2lkIGludGVsX2VuYWJsZV9kZGko c3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIpCiAJCWludGVsX2VkcF9iYWNrbGln aHRfb24oaW50ZWxfZHApOwogCQlpZiAoZGV2X3ByaXYtPnBzci5zeXNmc19zZXQgIT0gdHJ1ZSkK IAkJCWludGVsX3Bzcl9lbmFibGUoaW50ZWxfZHAsIGRldl9wcml2LT5wc3Iuc3lzZnNfc2V0KTsK LQkJaW50ZWxfZWRwX2RycnNfZW5hYmxlKGludGVsX2RwKTsKKwkJaWYgKGRldl9wcml2LT5kcnJz LnN5c2ZzX3NldCAhPSB0cnVlKQorCQkJaW50ZWxfZWRwX2RycnNfZW5hYmxlKGludGVsX2RwLAor CQkJCQkJZGV2X3ByaXYtPmRycnMuc3lzZnNfc2V0KTsKIAl9CiAKIAlpZiAoaW50ZWxfY3J0Yy0+ Y29uZmlnLT5oYXNfYXVkaW8pIHsKQEAgLTE3MTcsNyArMTcxOSwxMCBAQCBzdGF0aWMgdm9pZCBp bnRlbF9kaXNhYmxlX2RkaShzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcikKIAlp ZiAodHlwZSA9PSBJTlRFTF9PVVRQVVRfRURQKSB7CiAJCXN0cnVjdCBpbnRlbF9kcCAqaW50ZWxf ZHAgPSBlbmNfdG9faW50ZWxfZHAoZW5jb2Rlcik7CiAKLQkJaW50ZWxfZWRwX2RycnNfZGlzYWJs ZShpbnRlbF9kcCk7CisJCWlmIChkZXZfcHJpdi0+ZHJycy5zeXNmc19zZXQgIT0gdHJ1ZSkKKwkJ CWludGVsX2VkcF9kcnJzX2Rpc2FibGUoaW50ZWxfZHAsCisJCQkJCQlkZXZfcHJpdi0+ZHJycy5z eXNmc19zZXQpOworCiAJCWlmIChkZXZfcHJpdi0+cHNyLnN5c2ZzX3NldCAhPSB0cnVlKQogCQkJ aW50ZWxfcHNyX2Rpc2FibGUoaW50ZWxfZHAsIGRldl9wcml2LT5wc3Iuc3lzZnNfc2V0KTsKIAkJ aW50ZWxfZWRwX2JhY2tsaWdodF9vZmYoaW50ZWxfZHApOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMK aW5kZXggMTgzYTYwYS4uZWM0YmQxMiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jCkBAIC01NDEz LDQyICs1NDEzLDUzIEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX3NldF9kcnJzX3N0YXRlKHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsIGludCByZWZyZXNoX3JhdGUpCiAvKioKICAqIGludGVsX2VkcF9k cnJzX2VuYWJsZSAtIGluaXQgZHJycyBzdHJ1Y3QgaWYgc3VwcG9ydGVkCiAgKiBAaW50ZWxfZHA6 IERQIHN0cnVjdAorICogQHN5c2ZzX3NldDogSWRlbnRpZmllcyBpZiB0aGlzIGZlYXR1ZHJlIGlz IHNldCBmcm9tIHN5c2ZzLgogICoKICAqIEluaXRpYWxpemVzIGZyb250YnVmZmVyX2JpdHMgYW5k IGRycnMuZHAKKyAqCisgKiBSZXR1cm5zOgorICogMCBvbiBzdWNjZXNzIGFuZCAtZXJybm8gb3Ro ZXJ3aXNlLgogICovCi12b2lkIGludGVsX2VkcF9kcnJzX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAg KmludGVsX2RwKQoraW50IGludGVsX2VkcF9kcnJzX2VuYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmlu dGVsX2RwLCBib29sIHN5c2ZzX3NldCkKIHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gaW50 ZWxfZHBfdG9fZGV2KGludGVsX2RwKTsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPSBkZXYtPmRldl9wcml2YXRlOwogCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmRpZ19w b3J0ID0gZHBfdG9fZGlnX3BvcnQoaW50ZWxfZHApOwogCXN0cnVjdCBkcm1fY3J0YyAqY3J0YyA9 IGRpZ19wb3J0LT5iYXNlLmJhc2UuY3J0YzsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0 YyA9IHRvX2ludGVsX2NydGMoY3J0Yyk7CisJaW50IHJldCA9IDA7CiAKIAlpZiAoIWludGVsX2Ny dGMtPmNvbmZpZy0+aGFzX2RycnMpIHsKIAkJRFJNX0RFQlVHX0tNUygiUGFuZWwgZG9lc24ndCBz dXBwb3J0IERSUlNcbiIpOwotCQlyZXR1cm47CisJCXJldHVybiAtRUlOVkFMOwogCX0KIAogCW11 dGV4X2xvY2soJmRldl9wcml2LT5kcnJzLm11dGV4KTsKIAlpZiAoV0FSTl9PTihkZXZfcHJpdi0+ ZHJycy5kcCkpIHsKIAkJRFJNX0VSUk9SKCJEUlJTIGFscmVhZHkgZW5hYmxlZFxuIik7CisJCXJl dCA9IC1FQUxSRUFEWTsKIAkJZ290byB1bmxvY2s7CiAJfQogCiAJZGV2X3ByaXYtPmRycnMuYnVz eV9mcm9udGJ1ZmZlcl9iaXRzID0gMDsKIAogCWRldl9wcml2LT5kcnJzLmRwID0gaW50ZWxfZHA7 Ci0KKwlpZiAoc3lzZnNfc2V0KQorCQlkZXZfcHJpdi0+ZHJycy5zeXNmc19zZXQgPSBzeXNmc19z ZXQ7CiB1bmxvY2s6CiAJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJycy5tdXRleCk7CisJcmV0 dXJuIHJldDsKIH0KIAogLyoqCiAgKiBpbnRlbF9lZHBfZHJyc19kaXNhYmxlIC0gRGlzYWJsZSBE UlJTCiAgKiBAaW50ZWxfZHA6IERQIHN0cnVjdAorICogQHN5c2ZzX3NldDogSWRlbnRpZmllcyBp ZiB0aGlzIGZlYXR1ZHJlIGlzIHNldCBmcm9tIHN5c2ZzLgogICoKKyAqIFJldHVybnM6CisgKiAw IG9uIHN1Y2Nlc3MgYW5kIC1lcnJubyBvdGhlcndpc2UuCiAgKi8KLXZvaWQgaW50ZWxfZWRwX2Ry cnNfZGlzYWJsZShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQoraW50IGludGVsX2VkcF9kcnJz X2Rpc2FibGUoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwgYm9vbCBzeXNmc19zZXQpCiB7CiAJ c3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGludGVsX2RwX3RvX2RldihpbnRlbF9kcCk7CiAJc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKQEAgLTU0 NTcsMTIgKzU0NjgsMTIgQEAgdm9pZCBpbnRlbF9lZHBfZHJyc19kaXNhYmxlKHN0cnVjdCBpbnRl bF9kcCAqaW50ZWxfZHApCiAJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRl bF9jcnRjKGNydGMpOwogCiAJaWYgKCFpbnRlbF9jcnRjLT5jb25maWctPmhhc19kcnJzKQotCQly ZXR1cm47CisJCXJldHVybiAtRUlOVkFMOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmRycnMu bXV0ZXgpOwogCWlmICghZGV2X3ByaXYtPmRycnMuZHApIHsKIAkJbXV0ZXhfdW5sb2NrKCZkZXZf cHJpdi0+ZHJycy5tdXRleCk7Ci0JCXJldHVybjsKKwkJcmV0dXJuIC1FQUxSRUFEWTsKIAl9CiAK IAlpZiAoZGV2X3ByaXYtPmRycnMucmVmcmVzaF9yYXRlX3R5cGUgPT0gRFJSU19MT1dfUlIpCkBA IC01NDcxLDkgKzU0ODIsMTIgQEAgdm9pZCBpbnRlbF9lZHBfZHJyc19kaXNhYmxlKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApCiAJCQlmaXhlZF9tb2RlLT52cmVmcmVzaCk7CiAKIAlkZXZfcHJp di0+ZHJycy5kcCA9IE5VTEw7CisJaWYgKHN5c2ZzX3NldCkKKwkJZGV2X3ByaXYtPmRycnMuc3lz ZnNfc2V0ID0gc3lzZnNfc2V0OwogCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRycnMubXV0ZXgp OwogCiAJY2FuY2VsX2RlbGF5ZWRfd29ya19zeW5jKCZkZXZfcHJpdi0+ZHJycy53b3JrKTsKKwly ZXR1cm4gMDsKIH0KIAogc3RhdGljIHZvaWQgaW50ZWxfZWRwX2RycnNfZG93bmNsb2NrX3dvcmso c3RydWN0IHdvcmtfc3RydWN0ICp3b3JrKQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaAppbmRleCBk MjgwODQ3Li5lZGE4NGFlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9k cnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaApAQCAtMTI5OSw4ICsx Mjk5LDggQEAgdm9pZCBpbnRlbF9kcF9ob3RfcGx1ZyhzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50 ZWxfZW5jb2Rlcik7CiB2b2lkIHZsdl9wb3dlcl9zZXF1ZW5jZXJfcmVzZXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKIHVpbnQzMl90IGludGVsX2RwX3BhY2tfYXV4KGNvbnN0 IHVpbnQ4X3QgKnNyYywgaW50IHNyY19ieXRlcyk7CiB2b2lkIGludGVsX3BsYW5lX2Rlc3Ryb3ko c3RydWN0IGRybV9wbGFuZSAqcGxhbmUpOwotdm9pZCBpbnRlbF9lZHBfZHJyc19lbmFibGUoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCk7Ci12b2lkIGludGVsX2VkcF9kcnJzX2Rpc2FibGUoc3Ry dWN0IGludGVsX2RwICppbnRlbF9kcCk7CitpbnQgaW50ZWxfZWRwX2RycnNfZW5hYmxlKHN0cnVj dCBpbnRlbF9kcCAqaW50ZWxfZHAsIGJvb2wgc3lzZnNfc2V0KTsKK2ludCBpbnRlbF9lZHBfZHJy c19kaXNhYmxlKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsIGJvb2wgc3lzZnNfc2V0KTsKIHZv aWQgaW50ZWxfZWRwX2RycnNfaW52YWxpZGF0ZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQl1 bnNpZ25lZCBmcm9udGJ1ZmZlcl9iaXRzKTsKIHZvaWQgaW50ZWxfZWRwX2RycnNfZmx1c2goc3Ry dWN0IGRybV9kZXZpY2UgKmRldiwgdW5zaWduZWQgZnJvbnRidWZmZXJfYml0cyk7Ci0tIAoyLjUu MAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwt Z2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==