From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ben Widawsky Subject: =?utf-8?q?=5BPATCH_02/18=5D_drm/i915=3A_preliminary_c?= =?utf-8?q?ontext_support?= Date: Sun, 18 Mar 2012 13:39:42 -0700 Message-ID: <1332103198-25852-3-git-send-email-ben@bwidawsk.net> References: <1332103198-25852-1-git-send-email-ben@bwidawsk.net> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from cloud01.chad-versace.us (184-106-247-128.static.cloud-ips.com [184.106.247.128]) by gabe.freedesktop.org (Postfix) with ESMTP id C034F9F3A9 for ; Sun, 18 Mar 2012 13:41:16 -0700 (PDT) In-Reply-To: <1332103198-25852-1-git-send-email-ben@bwidawsk.net> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org Cc: Ben Widawsky List-Id: intel-gfx@lists.freedesktop.org VmVyeSBiYXNpYyBjb2RlIGZvciBjb250ZXh0IHNldHVwL2Rlc3RydWN0aW9uIGluIHRoZSBkcml2 ZXIuCgpUaGVyZSBhcmUgNCBlbnRyeSBwb2ludHMgaW50byB0aGUgY29udGV4dHMsIGxvYWQsIHVu bG9hZCwgb3BlbiwgY2xvc2UuClRoZSBuYW1lcyBhcmUgc2VsZi1leHBsYW5hdG9yeSBleGNlcHQg dGhhdCBsb2FkIGNhbiBiZSBjYWxsZWQgZHVyaW5nCnJlc2V0LCBhbmQgYWxzbyBkdXJpbmcgcG0g dGhhdy9yZXN1bWUuIEFzIHdlIGV4cGVjdCBvdXIgY29udGV4dCB0byBiZQpwcmVzZXJ2ZWQgYWNy b3NzIHRoZXNlIGV2ZW50cywgd2UgZG8gbm90IHJlaW5pdGlhbGl6ZSBpbiB0aGlzIGNhc2UuCgpB bHNvIGFuIGltcG9ydGFudCBub3RlLCBhcyBJIGludGVuZCB0byB1c2UgY29udGV4dHMgZm9yIElM SyBSQzYsIHRoZQpjb250ZXh0IGluaXRpYWxpemF0aW9uIG11c3QgYWx3YXlzIGNvbWUgYmVmb3Jl IFJDNiBpbml0aWFsaXphdGlvbi4KCkFzIEFkYW0gSmFja3NvbiBwb2ludGVkIG91dCwgSSBwaWNr ZWQgYW4gYXJiaXRyYXJ5IGN1dG9mZiBvZiAxTUIgd2hlcmUgSQpkZWNpZGUgdGhlIEhXIGNvbnRl eHQgaXMgdG9vIGJpZy4gVGhlIHJlYXNvbiBmb3IgdGhpcyBpcyBldmVuIHRob3VnaApjb250ZXh0 IHNpemVzIGFyZSBpbmNyZWFzaW5nIHdpdGggZXZlcnkgZ2VuZXJhdGlvbiwgdGhleSBhcmUgc3Rp bGwKbWVhc3VyZWQgaW4gcGFnZXMuIElmIHdlIHNvbWVob3cgcmVhZCBiYWNrIHdheSBtb3JlIHRo YW4gdGhhdCwgaXQKcHJvYmFibHkgbWVhbnMgQklPUyBoYXMgZG9uZSBzb21ldGhpbmcgc3RyYW5n ZSwgb3Igd2UncmUgcnVubmluZyBvbiBhCnBsYXRmb3JtIHRoYXQgd2Fzbid0IGRlc2lnbmVkIGZv ciB0aGlzLgoKVGhlIDFNQiB3YXMganVzdCBhIG5pY2Ugcm91bmQgbnVtYmVyLiBJJ20gb3BlbiB0 byBjaGFuZ2luZyBpdCB0bwpzb21ldGhpbmcgc2Vuc2libGUgaWYgc29tZW9uZSBoYXMgYSBiZXR0 ZXIgaWRlYS4KClNpZ25lZC1vZmYtYnk6IEJlbiBXaWRhd3NreSA8YmVuQGJ3aWRhd3NrLm5ldD4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZSAgICAgICAgICAgfCAgICAxICsKIGRy aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgICAgICAgICB8ICAgIDQgKysKIGRyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kcnYuaCAgICAgICAgIHwgICAgOSArKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZ2VtLmMgICAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW1fY29udGV4dC5jIHwgIDExNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiA2IGZp bGVzIGNoYW5nZWQsIDEzMCBpbnNlcnRpb25zKCspCiBjcmVhdGUgbW9kZSAxMDA2NDQgZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW1fY29udGV4dC5jCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvTWFrZWZpbGUgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQppbmRl eCBjZTdmYzc3Li5hNjI1ZDMwIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtl ZmlsZQorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9NYWtlZmlsZQpAQCAtNyw2ICs3LDcgQEAg aTkxNS15IDo9IGk5MTVfZHJ2Lm8gaTkxNV9kbWEubyBpOTE1X2lycS5vIFwKIAkgIGk5MTVfZGVi dWdmcy5vIFwKICAgICAgICAgICBpOTE1X3N1c3BlbmQubyBcCiAJICBpOTE1X2dlbS5vIFwKKwkg IGk5MTVfZ2VtX2NvbnRleHQubyBcCiAJICBpOTE1X2dlbV9kZWJ1Zy5vIFwKIAkgIGk5MTVfZ2Vt X2V2aWN0Lm8gXAogCSAgaTkxNV9nZW1fZXhlY2J1ZmZlci5vIFwKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZG1hLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rt YS5jCmluZGV4IDkzNDFlYjguLjRjN2MxZGMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZG1hLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kbWEuYwpAQCAt MjE1NSw2ICsyMTU1LDcgQEAgaW50IGk5MTVfZHJpdmVyX3VubG9hZChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQogCXJldCA9IGk5MTVfZ3B1X2lkbGUoZGV2LCB0cnVlKTsKIAlpZiAocmV0KQogCQlE Uk1fRVJST1IoImZhaWxlZCB0byBpZGxlIGhhcmR3YXJlOiAlZFxuIiwgcmV0KTsKKwlpOTE1X2dl bV9jb250ZXh0X3VubG9hZChkZXYpOwogCW11dGV4X3VubG9jaygmZGV2LT5zdHJ1Y3RfbXV0ZXgp OwogCiAJLyogQ2FuY2VsIHRoZSByZXRpcmUgd29yayBoYW5kbGVyLCB3aGljaCBzaG91bGQgYmUg aWRsZSBub3cuICovCkBAIC0yMjQ0LDYgKzIyNDUsOCBAQCBpbnQgaTkxNV9kcml2ZXJfb3Blbihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCiAJc3Bpbl9sb2Nr X2luaXQoJmZpbGVfcHJpdi0+bW0ubG9jayk7CiAJSU5JVF9MSVNUX0hFQUQoJmZpbGVfcHJpdi0+ bW0ucmVxdWVzdF9saXN0KTsKIAorCWk5MTVfZ2VtX2NvbnRleHRfb3BlbihkZXYsIGZpbGUpOwor CiAJcmV0dXJuIDA7CiB9CiAKQEAgLTIyNzYsNiArMjI3OSw3IEBAIHZvaWQgaTkxNV9kcml2ZXJf bGFzdGNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2KQogCiB2b2lkIGk5MTVfZHJpdmVyX3By ZWNsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICogZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGVfcHJp dikKIHsKKwlpOTE1X2dlbV9jb250ZXh0X2Nsb3NlKGRldiwgZmlsZV9wcml2KTsKIAlpOTE1X2dl bV9yZWxlYXNlKGRldiwgZmlsZV9wcml2KTsKIH0KIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaTkxNV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmMKaW5k ZXggMDY5NGUxNy4uYjJjNTZkYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkx NV9kcnYuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5jCkBAIC03NDIsNiAr NzQyLDcgQEAgaW50IGk5MTVfcmVzZXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgdTggZmxhZ3Mp CiAJCWlmIChIQVNfQkxUKGRldikpCiAJCSAgICBkZXZfcHJpdi0+cmluZ1tCQ1NdLmluaXQoJmRl dl9wcml2LT5yaW5nW0JDU10pOwogCisJCWk5MTVfZ2VtX2NvbnRleHRfbG9hZChkZXYpOwogCQlp OTE1X2dlbV9pbml0X3BwZ3R0KGRldik7CiAKIAkJbXV0ZXhfdW5sb2NrKCZkZXYtPnN0cnVjdF9t dXRleCk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCBjMGYxOWY1Li4zM2MyMzJhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTc3OSw2ICs3NzksOSBAQCB0eXBlZGVmIHN0cnVjdCBk cm1faTkxNV9wcml2YXRlIHsKIAogCXN0cnVjdCBkcm1fcHJvcGVydHkgKmJyb2FkY2FzdF9yZ2Jf cHJvcGVydHk7CiAJc3RydWN0IGRybV9wcm9wZXJ0eSAqZm9yY2VfYXVkaW9fcHJvcGVydHk7CisK Kwlib29sIGh3X2NvbnRleHRzX2Rpc2FibGVkOworCXVpbnQzMl90IGh3X2NvbnRleHRfc2l6ZTsK IH0gZHJtX2k5MTVfcHJpdmF0ZV90OwogCiBlbnVtIGhkbWlfZm9yY2VfYXVkaW8gewpAQCAtMTI4 MCw2ICsxMjgzLDEyIEBAIGk5MTVfZ2VtX2dldF91bmZlbmNlZF9ndHRfYWxpZ25tZW50KHN0cnVj dCBkcm1fZGV2aWNlICpkZXYsCiBpbnQgaTkxNV9nZW1fb2JqZWN0X3NldF9jYWNoZV9sZXZlbChz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqLAogCQkJCSAgICBlbnVtIGk5MTVfY2FjaGVf bGV2ZWwgY2FjaGVfbGV2ZWwpOwogCisvKiBpOTE1X2dlbV9jb250ZXh0LmMgKi8KK3ZvaWQgaTkx NV9nZW1fY29udGV4dF9sb2FkKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpOwordm9pZCBpOTE1X2dl bV9jb250ZXh0X3VubG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KTsKK3ZvaWQgaTkxNV9nZW1f Y29udGV4dF9vcGVuKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmlsZSAqZmls ZSk7Cit2b2lkIGk5MTVfZ2VtX2NvbnRleHRfY2xvc2Uoc3RydWN0IGRybV9kZXZpY2UgKmRldiwg c3RydWN0IGRybV9maWxlICpmaWxlKTsKKwogLyogaTkxNV9nZW1fZ3R0LmMgKi8KIGludCBfX211 c3RfY2hlY2sgaTkxNV9nZW1faW5pdF9hbGlhc2luZ19wcGd0dChzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2KTsKIHZvaWQgaTkxNV9nZW1fY2xlYW51cF9hbGlhc2luZ19wcGd0dChzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jCmluZGV4IDFmNDQxZjUuLjYzNDNhODIg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYwpAQCAtMzgxMSw2ICszODExLDcgQEAgaTkxNV9nZW1f aW5pdF9odyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCiAJZGV2X3ByaXYtPm5leHRfc2Vxbm8g PSAxOwogCisJaTkxNV9nZW1fY29udGV4dF9sb2FkKGRldik7CiAJaTkxNV9nZW1faW5pdF9wcGd0 dChkZXYpOwogCiAJcmV0dXJuIDA7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p OTE1X2dlbV9jb250ZXh0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbV9jb250ZXh0 LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMC4uY2FhMGUwNgotLS0gL2Rldi9u dWxsCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtX2NvbnRleHQuYwpAQCAtMCww ICsxLDExNCBAQAorLyoKKyAqIENvcHlyaWdodCDCqSAyMDEyIEludGVsIENvcnBvcmF0aW9uCisg KgorICogUGVybWlzc2lvbiBpcyBoZXJlYnkgZ3JhbnRlZCwgZnJlZSBvZiBjaGFyZ2UsIHRvIGFu eSBwZXJzb24gb2J0YWluaW5nIGEKKyAqIGNvcHkgb2YgdGhpcyBzb2Z0d2FyZSBhbmQgYXNzb2Np YXRlZCBkb2N1bWVudGF0aW9uIGZpbGVzICh0aGUgIlNvZnR3YXJlIiksCisgKiB0byBkZWFsIGlu IHRoZSBTb2Z0d2FyZSB3aXRob3V0IHJlc3RyaWN0aW9uLCBpbmNsdWRpbmcgd2l0aG91dCBsaW1p dGF0aW9uCisgKiB0aGUgcmlnaHRzIHRvIHVzZSwgY29weSwgbW9kaWZ5LCBtZXJnZSwgcHVibGlz aCwgZGlzdHJpYnV0ZSwgc3VibGljZW5zZSwKKyAqIGFuZC9vciBzZWxsIGNvcGllcyBvZiB0aGUg U29mdHdhcmUsIGFuZCB0byBwZXJtaXQgcGVyc29ucyB0byB3aG9tIHRoZQorICogU29mdHdhcmUg aXMgZnVybmlzaGVkIHRvIGRvIHNvLCBzdWJqZWN0IHRvIHRoZSBmb2xsb3dpbmcgY29uZGl0aW9u czoKKyAqCisgKiBUaGUgYWJvdmUgY29weXJpZ2h0IG5vdGljZSBhbmQgdGhpcyBwZXJtaXNzaW9u IG5vdGljZSAoaW5jbHVkaW5nIHRoZSBuZXh0CisgKiBwYXJhZ3JhcGgpIHNoYWxsIGJlIGluY2x1 ZGVkIGluIGFsbCBjb3BpZXMgb3Igc3Vic3RhbnRpYWwgcG9ydGlvbnMgb2YgdGhlCisgKiBTb2Z0 d2FyZS4KKyAqCisgKiBUSEUgU09GVFdBUkUgSVMgUFJPVklERUQgIkFTIElTIiwgV0lUSE9VVCBX QVJSQU5UWSBPRiBBTlkgS0lORCwgRVhQUkVTUyBPUgorICogSU1QTElFRCwgSU5DTFVESU5HIEJV VCBOT1QgTElNSVRFRCBUTyBUSEUgV0FSUkFOVElFUyBPRiBNRVJDSEFOVEFCSUxJVFksCisgKiBG SVRORVNTIEZPUiBBIFBBUlRJQ1VMQVIgUFVSUE9TRSBBTkQgTk9OSU5GUklOR0VNRU5ULiAgSU4g Tk8gRVZFTlQgU0hBTEwKKyAqIFRIRSBBVVRIT1JTIE9SIENPUFlSSUdIVCBIT0xERVJTIEJFIExJ QUJMRSBGT1IgQU5ZIENMQUlNLCBEQU1BR0VTIE9SIE9USEVSCisgKiBMSUFCSUxJVFksIFdIRVRI RVIgSU4gQU4gQUNUSU9OIE9GIENPTlRSQUNULCBUT1JUIE9SIE9USEVSV0lTRSwgQVJJU0lORwor ICogRlJPTSwgT1VUIE9GIE9SIElOIENPTk5FQ1RJT04gV0lUSCBUSEUgU09GVFdBUkUgT1IgVEhF IFVTRSBPUiBPVEhFUiBERUFMSU5HUworICogSU4gVEhFIFNPRlRXQVJFLgorICoKKyAqIEF1dGhv cnM6CisgKiAgICBCZW4gV2lkYXdza3kgPGJlbkBid2lkYXdzay5uZXQ+CisgKgorICovCisKKyNp bmNsdWRlICJkcm1QLmgiCisjaW5jbHVkZSAiaTkxNV9kcm0uaCIKKyNpbmNsdWRlICJpOTE1X2Ry di5oIgorCitzdGF0aWMgaW50IGdldF9jb250ZXh0X3NpemUoc3RydWN0IGRybV9kZXZpY2UgKmRl dikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2 YXRlOworCWludCByZXQ7CisJdTMyIHJlZzsKKworCS8qIENvbnRleHQgc2l6ZSAoYXMgb2YgZ2Vu NykgaXMgZGV0ZXJtaW5lZCBpbiBudW1iZXIgb2YgY2FjaGUgbGluZXMgKi8KKwlzd2l0Y2ggKElO VEVMX0lORk8oZGV2KS0+Z2VuKSB7CisJY2FzZSA1OiAvKiBJTEsgJiBTTkIgaGF2ZSB0aGUgc2Ft ZSBjb250ZXh0IHJlZyBsYXlvdXQgKi8KKwljYXNlIDY6CisJCXJlZyA9IEk5MTVfUkVBRChDWFRf U0laRSk7CisJCXJldCA9IEdFTjZfQ1hUX1RPVEFMX1NJWkUocmVnKSAqIDY0OworCQlicmVhazsK KwljYXNlIDc6CisJCXJlZyA9IEk5MTVfUkVBRChHRU43X0NUWF9TSVpFKTsKKwkJcmV0ID0gR0VO N19DVFhfVE9UQUxfU0laRShyZWcpICogNjQ7CisJCWJyZWFrOworCWRlZmF1bHQ6CisJCXJldCA9 IC0xOworCX0KKworCXJldHVybiByZXQ7Cit9CisKKy8qKgorICogVGhlIGRlZmF1bHQgY29udGV4 dCBuZWVkcyB0byBleGlzdCBwZXIgcmluZyB0aGF0IHVzZXMgY29udGV4dHMuIEl0IHN0b3JlcyB0 aGUKKyAqIGNvbnRleHQgc3RhdGUgb2YgdGhlIEdQVSBmb3IgYXBwbGljYXRpb25zIHRoYXQgZG9u J3QgdXRpbGl6ZSBIVyBjb250ZXh0cywgYXMKKyAqIHdlbGwgYXMgYW4gaWRsZSBjYXNlLgorICov CitzdGF0aWMgaW50IGNyZWF0ZV9kZWZhdWx0X2NvbnRleHQoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KQoreworCXJldHVybiAwOworfQorCit2b2lkIGk5MTVfZ2VtX2NvbnRleHRf bG9hZChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJdWludDMyX3QgY3R4X3NpemU7CisKKwkv KiBJZiBjYWxsZWQgZnJvbSByZXNldCwgb3IgdGhhdy4uLiB3ZSd2ZSBiZWVuIGhlcmUgYWxyZWFk eSAqLworCWlmIChkZXZfcHJpdi0+aHdfY29udGV4dHNfZGlzYWJsZWQpCisJCXJldHVybjsKKwor CWN0eF9zaXplID0gZ2V0X2NvbnRleHRfc2l6ZShkZXYpOworCWRldl9wcml2LT5od19jb250ZXh0 X3NpemUgPSBnZXRfY29udGV4dF9zaXplKGRldik7CisJZGV2X3ByaXYtPmh3X2NvbnRleHRfc2l6 ZSA9IHJvdW5kX3VwKGRldl9wcml2LT5od19jb250ZXh0X3NpemUsIDQwOTYpOworCisJaWYgKGN0 eF9zaXplIDw9IDAgfHwgY3R4X3NpemUgPiAoMTw8MjApKSB7CisJCWRldl9wcml2LT5od19jb250 ZXh0c19kaXNhYmxlZCA9IHRydWU7CisJCXJldHVybjsKKwl9CisKKwlpZiAoY3JlYXRlX2RlZmF1 bHRfY29udGV4dChkZXZfcHJpdikpIHsKKwkJZGV2X3ByaXYtPmh3X2NvbnRleHRzX2Rpc2FibGVk ID0gdHJ1ZTsKKwkJcmV0dXJuOworCX0KKworCURSTV9ERUJVR19EUklWRVIoIkhXIGNvbnRleHQg c3VwcG9ydCBpbml0aWFsaXplZFxuIik7Cit9CisKK3ZvaWQgaTkxNV9nZW1fY29udGV4dF91bmxv YWQoc3RydWN0IGRybV9kZXZpY2UgKmRldikKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOworCisJaWYgKGRldl9wcml2LT5od19jb250ZXh0 c19kaXNhYmxlZCkKKwkJcmV0dXJuOworfQorCit2b2lkIGk5MTVfZ2VtX2NvbnRleHRfb3Blbihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LCBzdHJ1Y3QgZHJtX2ZpbGUgKmZpbGUpCit7CisJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKKworCWlmIChk ZXZfcHJpdi0+aHdfY29udGV4dHNfZGlzYWJsZWQpCisJCXJldHVybjsKK30KKwordm9pZCBpOTE1 X2dlbV9jb250ZXh0X2Nsb3NlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIHN0cnVjdCBkcm1fZmls ZSAqZmlsZSkKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRl dl9wcml2YXRlOworCisJaWYgKGRldl9wcml2LT5od19jb250ZXh0c19kaXNhYmxlZCkKKwkJcmV0 dXJuOworfQotLSAKMS43LjkuNAoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRl c2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK