From mboxrd@z Thu Jan 1 00:00:00 1970 From: Matt Roper Subject: [PATCH v3 4/6] drm/i915: cgroup integration (v2) Date: Tue, 6 Mar 2018 15:46:58 -0800 Message-ID: <20180306234700.6562-5-matthew.d.roper@intel.com> References: <20180306234700.6562-1-matthew.d.roper@intel.com> Mime-Version: 1.0 Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180306234700.6562-1-matthew.d.roper@intel.com> List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" Content-Type: text/plain; charset="us-ascii" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org, cgroups@vger.kernel.org SW50cm9kdWNlIGEgbmV3IERSTV9JT0NUTF9JOTE1X0NHUk9VUF9TRVRQQVJBTSBpb2N0bCB0aGF0 IHdpbGwgYWxsb3cKdXNlcnNwYWNlIHRvIHNldCBpOTE1LXNwZWNpZmljIHBhcmFtZXRlcnMgZm9y IGluZGl2aWR1YWwgY2dyb3Vwcy4gIGk5MTUKY2dyb3VwIGRhdGEgd2lsbCBiZSByZWdpc3RlcmVk IGFuZCBsYXRlciBsb29rZWQgdXAgdmlhIHRoZSBuZXcKY2dyb3VwX3ByaXYgaW5mcmFzdHJ1Y3R1 cmUuCgp2MjoKIC0gTGFyZ2UgcmViYXNlL3Jld3JpdGUgZm9yIG5ldyBjZ3JvdXBfcHJpdiBpbnRl cmZhY2UKClNpZ25lZC1vZmYtYnk6IE1hdHQgUm9wZXIgPG1hdHRoZXcuZC5yb3BlckBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvTWFrZWZpbGUgICAgICB8ICAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Nncm91cC5jIHwgMTY3ICsrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgfCAg IDUgKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggICAgfCAgMjQgKysrKysrCiBp bmNsdWRlL3VhcGkvZHJtL2k5MTVfZHJtLmggICAgICAgIHwgIDEyICsrKwogNSBmaWxlcyBjaGFu Z2VkLCAyMDkgaW5zZXJ0aW9ucygrKQogY3JlYXRlIG1vZGUgMTAwNjQ0IGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfY2dyb3VwLmMKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9N YWtlZmlsZSBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L01ha2VmaWxlCmluZGV4IDFiZDliYzViOGM1 Yy4uNTk3NGUzMjgzNGJmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmls ZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtNDgsNiArNDgsNyBAQCBp OTE1LXkgOj0gaTkxNV9kcnYubyBcCiBpOTE1LSQoQ09ORklHX0NPTVBBVCkgICArPSBpOTE1X2lv YzMyLm8KIGk5MTUtJChDT05GSUdfREVCVUdfRlMpICs9IGk5MTVfZGVidWdmcy5vIGludGVsX3Bp cGVfY3JjLm8KIGk5MTUtJChDT05GSUdfUEVSRl9FVkVOVFMpICs9IGk5MTVfcG11Lm8KK2k5MTUt JChDT05GSUdfQ0dST1VQUykgKz0gaTkxNV9jZ3JvdXAubwogCiAjIEdFTSBjb2RlCiBpOTE1LXkg Kz0gaTkxNV9jbWRfcGFyc2VyLm8gXApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9jZ3JvdXAuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfY2dyb3VwLmMKbmV3IGZp bGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAwMDAwLi40YTQ2Y2IxNjdmNTMKLS0tIC9kZXYv bnVsbAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Nncm91cC5jCkBAIC0wLDAgKzEs MTY3IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogaTkxNV9j Z3JvdXAuYyAtIExpbnV4IGNncm91cHMgaW50ZWdyYXRpb24gZm9yIGk5MTUKKyAqCisgKiBDb3B5 cmlnaHQgKEMpIDIwMTggSW50ZWwgQ29ycG9yYXRpb24KKyAqLworCisjaW5jbHVkZSA8bGludXgv Y2dyb3VwLmg+CisKKyNpbmNsdWRlICJpOTE1X2Rydi5oIgorCitzdHJ1Y3QgaTkxNV9jZ3JvdXBf ZGF0YSB7CisJc3RydWN0IGNncm91cF9wcml2IGJhc2U7CisKKwlzdHJ1Y3QgbGlzdF9oZWFkIG5v ZGU7Cit9OworCitzdGF0aWMgaW5saW5lIHN0cnVjdCBpOTE1X2Nncm91cF9kYXRhICoKK2NncnBf dG9faTkxNShzdHJ1Y3QgY2dyb3VwX3ByaXYgKnByaXYpCit7CisJcmV0dXJuIGNvbnRhaW5lcl9v Zihwcml2LCBzdHJ1Y3QgaTkxNV9jZ3JvdXBfZGF0YSwgYmFzZSk7Cit9CisKK3N0YXRpYyB2b2lk CitpOTE1X2Nncm91cF9mcmVlKHN0cnVjdCBjZ3JvdXBfcHJpdiAqcHJpdikKK3sKKwlzdHJ1Y3Qg Y2dyb3VwICpjZ3JwID0gcHJpdi0+Y2dyb3VwOworCXN0cnVjdCBpOTE1X2Nncm91cF9kYXRhICpp cHJpdjsKKworCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmY2dycC0+cHJpdmRhdGFfbXV0ZXgp KTsKKworCWlwcml2ID0gY2dycF90b19pOTE1KHByaXYpOworCisJLyoKKwkgKiBSZW1vdmUgcHJp dmF0ZSBkYXRhIGZyb20gYm90aCBjZ3JvdXAncyBoYXNodGFibGUgYW5kIGk5MTUncyBsaXN0Lgor CSAqIElmIHRoaXMgZnVuY3Rpb24gaXMgYmVpbmcgY2FsbGVkIGFzIGEgcmVzdWx0IG9mIGNncm91 cCByZW1vdmFsCisJICogKGFzIG9wcG9zZWQgdG8gYW4gaTkxNSB1bmxvYWQpLCBpdCB3aWxsIGhh dmUgYWxyZWFkeSBiZWVuIHJlbW92ZWQgZnJvbQorCSAqIHRoZSBoYXNodGFibGUsIGJ1dCB0aGUg aGFzaF9kZWwoKSBjYWxsIGhlcmUgaXMgc3RpbGwgc2FmZS4KKwkgKi8KKwloYXNoX2RlbCgmcHJp di0+aG5vZGUpOworCWxpc3RfZGVsKCZpcHJpdi0+bm9kZSk7CisKKwlrZnJlZShpcHJpdik7Cit9 CisKK3ZvaWQKK2k5MTVfY2dyb3VwX2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2KQoreworCUlOSVRfTElTVF9IRUFEKCZkZXZfcHJpdi0+Y2dyb3VwX2xpc3QpOworfQorCit2 b2lkCitpOTE1X2Nncm91cF9zaHV0ZG93bihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYpCit7CisJc3RydWN0IGk5MTVfY2dyb3VwX2RhdGEgKnByaXYsICp0bXA7CisJc3RydWN0IGNn cm91cCAqY2dycDsKKworCW11dGV4X2xvY2soJmNncm91cF9tdXRleCk7CisKKwlsaXN0X2Zvcl9l YWNoX2VudHJ5X3NhZmUocHJpdiwgdG1wLCAmZGV2X3ByaXYtPmNncm91cF9saXN0LCBub2RlKSB7 CisJCWNncnAgPSBwcml2LT5iYXNlLmNncm91cDsKKworCQltdXRleF9sb2NrKCZjZ3JwLT5wcml2 ZGF0YV9tdXRleCk7CisJCWk5MTVfY2dyb3VwX2ZyZWUoJnByaXYtPmJhc2UpOworCQltdXRleF91 bmxvY2soJmNncnAtPnByaXZkYXRhX211dGV4KTsKKwl9CisKKwltdXRleF91bmxvY2soJmNncm91 cF9tdXRleCk7Cit9CisKKy8qCisgKiBSZXR1cm4gaTkxNSBjZ3JvdXAgcHJpdmF0ZSBkYXRhLCBj cmVhdGluZyBhbmQgcmVnaXN0ZXJpbmcgaXQgaWYgb25lIGRvZXNuJ3QKKyAqIGFscmVhZHkgZXhp c3QgZm9yIHRoaXMgY2dyb3VwLgorICovCitzdGF0aWMgc3RydWN0IGk5MTVfY2dyb3VwX2RhdGEg KgorZ2V0X29yX2NyZWF0ZV9jZ3JvdXBfZGF0YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2 X3ByaXYsCisJCQkgIHN0cnVjdCBjZ3JvdXAgKmNncnApCit7CisJc3RydWN0IGNncm91cF9wcml2 ICpwcml2OworCXN0cnVjdCBpOTE1X2Nncm91cF9kYXRhICppcHJpdjsKKworCW11dGV4X2xvY2so JmNncnAtPnByaXZkYXRhX211dGV4KTsKKworCXByaXYgPSBjZ3JvdXBfcHJpdl9sb29rdXAoY2dy cCwgZGV2X3ByaXYpOworCWlmIChwcml2KSB7CisJCWlwcml2ID0gY2dycF90b19pOTE1KHByaXYp OworCX0gZWxzZSB7CisJCWlwcml2ID0ga3phbGxvYyhzaXplb2YgKmlwcml2LCBHRlBfS0VSTkVM KTsKKwkJaWYgKCFpcHJpdikgeworCQkJaXByaXYgPSBFUlJfUFRSKC1FTk9NRU0pOworCQkJZ290 byBvdXQ7CisJCX0KKworCQlpcHJpdi0+YmFzZS5rZXkgPSBkZXZfcHJpdjsKKwkJaXByaXYtPmJh c2UuZnJlZSA9IGk5MTVfY2dyb3VwX2ZyZWU7CisJCWxpc3RfYWRkKCZpcHJpdi0+bm9kZSwgJmRl dl9wcml2LT5jZ3JvdXBfbGlzdCk7CisKKwkJY2dyb3VwX3ByaXZfaW5zdGFsbChjZ3JwLCAmaXBy aXYtPmJhc2UpOworCX0KKworb3V0OgorCW11dGV4X3VubG9jaygmY2dycC0+cHJpdmRhdGFfbXV0 ZXgpOworCisJcmV0dXJuIGlwcml2OworfQorCisvKioKKyAqIGk5MTVfY2dyb3VwX3NldHBhcmFt X2lvY3RsIC0gaW9jdGwgdG8gYWx0ZXIgaTkxNSBzZXR0aW5ncyBmb3IgYSBjZ3JvdXAKKyAqIEBk ZXY6IERSTSBkZXZpY2UKKyAqIEBkYXRhOiBkYXRhIHBvaW50ZXIgZm9yIHRoZSBpb2N0bAorICog QGZpbGVfcHJpdjogRFJNIGZpbGUgaGFuZGxlIGZvciB0aGUgaW9jdGwgY2FsbAorICoKKyAqIEFs bG93cyBpOTE1LXNwZWNpZmljIHBhcmFtZXRlcnMgdG8gYmUgc2V0IGZvciBhIExpbnV4IGNncm91 cC4KKyAqLworaW50CitpOTE1X2Nncm91cF9zZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAorCQkJICAgdm9pZCAqZGF0YSwKKwkJCSAgIHN0cnVjdCBkcm1fZmlsZSAqZmlsZSkK K3sKKwlzdHJ1Y3QgZHJtX2k5MTVfY2dyb3VwX3BhcmFtICpyZXEgPSBkYXRhOworCXN0cnVjdCBj Z3JvdXAgKmNncnA7CisJaW50IHJldDsKKworCS8qIFdlIGRvbid0IGFjdHVhbGx5IHN1cHBvcnQg YW55IGZsYWdzIHlldC4gKi8KKwlpZiAocmVxLT5mbGFncykgeworCQlEUk1fREVCVUdfRFJJVkVS KCJJbnZhbGlkIGZsYWdzXG4iKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJLyoKKwkgKiBN YWtlIHN1cmUgdGhlIGZpbGUgZGVzY3JpcHRvciByZWFsbHkgaXMgYSBjZ3JvdXAgZmQgYW5kIGlz IG9uIHRoZQorCSAqIHYyIGhpZXJhcmNoeS4KKwkgKi8KKwljZ3JwID0gY2dyb3VwX2dldF9mcm9t X2ZkKHJlcS0+Y2dyb3VwX2ZkKTsKKwlpZiAoSVNfRVJSKGNncnApKSB7CisJCURSTV9ERUJVR19E UklWRVIoIkludmFsaWQgY2dyb3VwIGZpbGUgZGVzY3JpcHRvclxuIik7CisJCXJldHVybiBQVFJf RVJSKGNncnApOworCX0KKworCS8qCisJICogQWNjZXNzIGNvbnRyb2w6ICBUaGUgc3RyYXRlZ3kg Zm9yIHVzaW5nIGNncm91cHMgaW4gYSBnaXZlbgorCSAqIGVudmlyb25tZW50IGlzIGdlbmVyYWxs eSBkZXRlcm1pbmVkIGJ5IHRoZSBzeXN0ZW0gaW50ZWdyYXRvcgorCSAqIGFuZC9vciBPUyB2ZW5k b3IsIHNvIHRoZSBzcGVjaWZpYyBwb2xpY3kgYWJvdXQgd2hvIGNhbi9jYW4ndAorCSAqIG1hbmlw dWxhdGUgdGhlbSB0ZW5kcyB0byBiZSBkb21haW4tc3BlY2lmaWMgKGFuZCBtYXkgdmFyeQorCSAq IGRlcGVuZGluZyBvbiB0aGUgbG9jYXRpb24gaW4gdGhlIGNncm91cCBoaWVyYXJjaHkpLiAgUmF0 aGVyIHRoYW4KKwkgKiB0cnlpbmcgdG8gdGllIHBlcm1pc3Npb24gb24gdGhpcyBpb2N0bCB0byBh IERSTS1zcGVjaWZpYyBjb25jZXB0cworCSAqIGxpa2UgRFJNIG1hc3Rlciwgd2UnbGwgYWxsb3cg Y2dyb3VwIHBhcmFtZXRlcnMgdG8gYmUgc2V0IGJ5IGFueQorCSAqIHByb2Nlc3MgdGhhdCBoYXMg YmVlbiBncmFudGVkIHdyaXRlIGFjY2VzcyBvbiB0aGUgY2dyb3VwJ3MKKwkgKiB2aXJ0dWFsIGZp bGUgc3lzdGVtIChpLmUuLCB0aGUgc2FtZSBwZXJtaXNzaW9ucyB0aGF0IHdvdWxkCisJICogZ2Vu ZXJhbGx5IGJlIG5lZWRlZCB0byB1cGRhdGUgdGhlIHZpcnR1YWwgZmlsZXMgcHJvdmlkZWQgYnkK KwkgKiBjZ3JvdXAgY29udHJvbGxlcnMpLgorCSAqLworCXJldCA9IGNncm91cF9wZXJtaXNzaW9u KHJlcS0+Y2dyb3VwX2ZkLCBNQVlfV1JJVEUpOworCWlmIChyZXQpCisJCWdvdG8gb3V0OworCisJ c3dpdGNoIChyZXEtPnBhcmFtKSB7CisJZGVmYXVsdDoKKwkJRFJNX0RFQlVHX0RSSVZFUigiSW52 YWxpZCBjZ3JvdXAgcGFyYW1ldGVyICVsbGRcbiIsIHJlcS0+cGFyYW0pOworCQlyZXQgPSAtRUlO VkFMOworCX0KKworb3V0OgorCWNncm91cF9wdXQoY2dycCk7CisKKwlyZXR1cm4gcmV0OworfQpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5kZXggZDYxYjUxYzBiZjBiLi5hMWM3YmM5Y2QxNzMgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuYwpAQCAtMTQwNSw2ICsxNDA1LDggQEAgaW50IGk5MTVfZHJp dmVyX2xvYWQoc3RydWN0IHBjaV9kZXYgKnBkZXYsIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lk ICplbnQpCiAKIAlpbnRlbF9ydW50aW1lX3BtX3B1dChkZXZfcHJpdik7CiAKKwlpOTE1X2Nncm91 cF9pbml0KGRldl9wcml2KTsKKwogCWk5MTVfd2VsY29tZV9tZXNzYWdlcyhkZXZfcHJpdik7CiAK IAlyZXR1cm4gMDsKQEAgLTE0MzEsNiArMTQzMyw4IEBAIHZvaWQgaTkxNV9kcml2ZXJfdW5sb2Fk KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShkZXYpOwogCXN0cnVjdCBwY2lfZGV2ICpwZGV2ID0gZGV2X3ByaXYtPmRy bS5wZGV2OwogCisJaTkxNV9jZ3JvdXBfc2h1dGRvd24oZGV2X3ByaXYpOworCiAJaTkxNV9kcml2 ZXJfdW5yZWdpc3RlcihkZXZfcHJpdik7CiAKIAlpZiAoaTkxNV9nZW1fc3VzcGVuZChkZXZfcHJp dikpCkBAIC0yODMyLDYgKzI4MzYsNyBAQCBzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9pb2N0bF9k ZXNjIGk5MTVfaW9jdGxzW10gPSB7CiAJRFJNX0lPQ1RMX0RFRl9EUlYoSTkxNV9QRVJGX09QRU4s IGk5MTVfcGVyZl9vcGVuX2lvY3RsLCBEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVG X0RSVihJOTE1X1BFUkZfQUREX0NPTkZJRywgaTkxNV9wZXJmX2FkZF9jb25maWdfaW9jdGwsIERS TV9VTkxPQ0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKIAlEUk1fSU9DVExfREVGX0RSVihJOTE1X1BF UkZfUkVNT1ZFX0NPTkZJRywgaTkxNV9wZXJmX3JlbW92ZV9jb25maWdfaW9jdGwsIERSTV9VTkxP Q0tFRHxEUk1fUkVOREVSX0FMTE9XKSwKKwlEUk1fSU9DVExfREVGX0RSVihJOTE1X0NHUk9VUF9T RVRQQVJBTSwgaTkxNV9jZ3JvdXBfc2V0cGFyYW1faW9jdGwsIERSTV9VTkxPQ0tFRHxEUk1fUkVO REVSX0FMTE9XKSwKIH07CiAKIHN0YXRpYyBzdHJ1Y3QgZHJtX2RyaXZlciBkcml2ZXIgPSB7CmRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCA3ZWVjOTlkN2ZhZDQuLjdjMzgxNDJlZTAwOSAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC0yMDA2LDYgKzIwMDYsOSBAQCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSB7CiAKIAlzdHJ1Y3QgaW50ZWxfcHBhdCBwcGF0OwogCisJLyogY2dyb3VwIHBy aXZhdGUgZGF0YSAqLworCXN0cnVjdCBsaXN0X2hlYWQgY2dyb3VwX2xpc3Q7CisKIAkvKiBLZXJu ZWwgTW9kZXNldHRpbmcgKi8KIAogCXN0cnVjdCBpbnRlbF9jcnRjICpwbGFuZV90b19jcnRjX21h cHBpbmdbSTkxNV9NQVhfUElQRVNdOwpAQCAtMjkzOCw2ICsyOTQxLDI3IEBAIGludGVsX2dndHRf dXBkYXRlX25lZWRzX3Z0ZF93YShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCiBp bnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX3BwZ3R0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpk ZXZfcHJpdiwKIAkJCQlpbnQgZW5hYmxlX3BwZ3R0KTsKIAorLyogaTkxNV9jZ3JvdXAuYyAqLwor I2lmZGVmIENPTkZJR19DR1JPVVBTCit2b2lkIGk5MTVfY2dyb3VwX2luaXQoc3RydWN0IGRybV9p OTE1X3ByaXZhdGUgKmRldl9wcml2KTsKK2ludCBpOTE1X2Nncm91cF9zZXRwYXJhbV9pb2N0bChz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJICAgICAgIHN0cnVjdCBkcm1f ZmlsZSAqZmlsZSk7Cit2b2lkIGk5MTVfY2dyb3VwX3NodXRkb3duKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdik7CisjZWxzZQorc3RhdGljIGlubGluZSBpbnQKK2k5MTVfY2dyb3Vw X2luaXQoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQoreworCXJldHVybiAwOwor fQorc3RhdGljIGlubGluZSB2b2lkIGk5MTVfY2dyb3VwX3NodXRkb3duKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdikge30KK3N0YXRpYyBpbmxpbmUgaW50CitpOTE1X2Nncm91cF9z ZXRwYXJhbV9pb2N0bChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAorCQkJICAg c3RydWN0IGRybV9maWxlICpmaWxlKQoreworCXJldHVybiAtRUlOVkFMOworfQorI2VuZGlmCisK IC8qIGk5MTVfZHJ2LmMgKi8KIHZvaWQgX19wcmludGYoMywgNCkKIF9faTkxNV9wcmludGsoc3Ry dWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBjb25zdCBjaGFyICpsZXZlbCwKZGlmZiAt LWdpdCBhL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0uaCBiL2luY2x1ZGUvdWFwaS9kcm0vaTkx NV9kcm0uaAppbmRleCAyOWZhNDhlNDc1NWQuLmI2NjUxYjI2MzgzOCAxMDA2NDQKLS0tIGEvaW5j bHVkZS91YXBpL2RybS9pOTE1X2RybS5oCisrKyBiL2luY2x1ZGUvdWFwaS9kcm0vaTkxNV9kcm0u aApAQCAtMzE4LDYgKzMxOCw3IEBAIHR5cGVkZWYgc3RydWN0IF9kcm1faTkxNV9zYXJlYSB7CiAj ZGVmaW5lIERSTV9JOTE1X1BFUkZfT1BFTgkJMHgzNgogI2RlZmluZSBEUk1fSTkxNV9QRVJGX0FE RF9DT05GSUcJMHgzNwogI2RlZmluZSBEUk1fSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcJMHgzOAor I2RlZmluZSBEUk1fSTkxNV9DR1JPVVBfU0VUUEFSQU0JMHgzOQogCiAjZGVmaW5lIERSTV9JT0NU TF9JOTE1X0lOSVQJCURSTV9JT1coIERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9JTklULCBk cm1faTkxNV9pbml0X3QpCiAjZGVmaW5lIERSTV9JT0NUTF9JOTE1X0ZMVVNICQlEUk1fSU8gKCBE Uk1fQ09NTUFORF9CQVNFICsgRFJNX0k5MTVfRkxVU0gpCkBAIC0zNzUsNiArMzc2LDcgQEAgdHlw ZWRlZiBzdHJ1Y3QgX2RybV9pOTE1X3NhcmVhIHsKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVS Rl9PUEVOCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfT1BFTiwgc3Ry dWN0IGRybV9pOTE1X3BlcmZfb3Blbl9wYXJhbSkKICNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVfUEVS Rl9BRERfQ09ORklHCURSTV9JT1coRFJNX0NPTU1BTkRfQkFTRSArIERSTV9JOTE1X1BFUkZfQURE X0NPTkZJRywgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnKQogI2RlZmluZSBEUk1fSU9D VExfSTkxNV9QRVJGX1JFTU9WRV9DT05GSUcJRFJNX0lPVyhEUk1fQ09NTUFORF9CQVNFICsgRFJN X0k5MTVfUEVSRl9SRU1PVkVfQ09ORklHLCBfX3U2NCkKKyNkZWZpbmUgRFJNX0lPQ1RMX0k5MTVf Q0dST1VQX1NFVFBBUkFNCQlEUk1fSU9XKERSTV9DT01NQU5EX0JBU0UgKyBEUk1fSTkxNV9DR1JP VVBfU0VUUEFSQU0sIHN0cnVjdCBkcm1faTkxNV9jZ3JvdXBfcGFyYW0pCiAKIC8qIEFsbG93IGRy aXZlcnMgdG8gc3VibWl0IGJhdGNoYnVmZmVycyBkaXJlY3RseSB0byBoYXJkd2FyZSwgcmVseWlu ZwogICogb24gdGhlIHNlY3VyaXR5IG1lY2hhbmlzbXMgcHJvdmlkZWQgYnkgaGFyZHdhcmUuCkBA IC0xNjE1LDYgKzE2MTcsMTYgQEAgc3RydWN0IGRybV9pOTE1X3BlcmZfb2FfY29uZmlnIHsKIAlf X3U2NCBmbGV4X3JlZ3NfcHRyOwogfTsKIAorLyoqCisgKiBTdHJ1Y3R1cmUgdG8gc2V0IGk5MTUg cGFyYW1ldGVyIG9uIGEgY2dyb3VwLgorICovCitzdHJ1Y3QgZHJtX2k5MTVfY2dyb3VwX3BhcmFt IHsKKwlfX3MzMiBjZ3JvdXBfZmQ7CisJX191MzIgZmxhZ3M7CisJX191NjQgcGFyYW07CisJX19z NjQgdmFsdWU7Cit9OworCiAjaWYgZGVmaW5lZChfX2NwbHVzcGx1cykKIH0KICNlbmRpZgotLSAK Mi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpk cmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK