From mboxrd@z Thu Jan 1 00:00:00 1970 From: Thomas Daniel Subject: [PATCH 4/4] drm/i915/bdw: Pin the ringbuffer backing object to GGTT on-demand Date: Wed, 29 Oct 2014 09:52:53 +0000 Message-ID: <1414576373-25121-4-git-send-email-thomas.daniel@intel.com> References: <1414576373-25121-1-git-send-email-thomas.daniel@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 854136E4EB for ; Wed, 29 Oct 2014 02:53:02 -0700 (PDT) In-Reply-To: <1414576373-25121-1-git-send-email-thomas.daniel@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: shuang.he@linux.intel.com List-Id: intel-gfx@lists.freedesktop.org U2FtZSBhcyB3aXRoIHRoZSBjb250ZXh0LCBwaW5uaW5nIHRvIEdHVFQgcmVnYXJkbGVzcyBpcyBo YXJtZnVsIChpdApiYWRseSBmcmFnbWVudHMgdGhlIEdHVFQgYW5kIGNhbiBldmVuIGV4aGF1c3Qg aXQpLgoKVW5mb3J0dW5hdGVseSwgdGhpcyBjYXNlIGlzIGFsc28gbW9yZSBjb21wbGV4IHRoYW4g dGhlIHByZXZpb3VzIG9uZQpiZWNhdXNlIHdlIG5lZWQgdG8gbWFwIGFuZCBhY2Nlc3MgdGhlIHJp bmdidWZmZXIgaW4gc2V2ZXJhbCBwbGFjZXMKYWxvbmcgdGhlIGV4ZWNidWZmZXIgcGF0aCAoYW5k IHdlIGNhbm5vdCBtYWtlIGRvIGJ5IGxlYXZpbmcgdGhlCmRlZmF1bHQgcmluZ2J1ZmZlciBwaW5u ZWQsIGFzIGJlZm9yZSkuIEFsc28sIHRoZSBjb250ZXh0IG9iamVjdAppdHNlbGYgY29udGFpbnMg YSBwb2ludGVyIHRvIHRoZSByaW5nYnVmZmVyIGFkZHJlc3MgdGhhdCB3ZSBoYXZlIHRvCmtlZXAg dXBkYXRlZCBpZiB3ZSBhcmUgZ29pbmcgdG8gYWxsb3cgdGhlIHJpbmdidWZmZXIgdG8gbW92ZSBh cm91bmQuCgp2MjogU2FtZSBhcyB3aXRoIHRoZSBjb250ZXh0IHBpbm5pbmcsIHdlIGNhbm5vdCBy ZWFsbHkgZG8gaXQgZHVyaW5nCmFuIGludGVycnVwdC4gQWxzbywgcGluIHRoZSBkZWZhdWx0IHJp bmdidWZmZXJzIG9iamVjdHMgcmVnYXJkbGVzcwoobWFrZXMgZXJyb3IgY2FwdHVyZSBhIGxvdCBl YXNpZXIpLgoKdjM6IFJlYmFzZWQuIFRha2UgYSBwaW4gcmVmZXJlbmNlIG9mIHRoZSByaW5nYnVm ZmVyIGZvciBlYWNoIGl0ZW0KaW4gdGhlIGV4ZWNsaXN0IHJlcXVlc3QgcXVldWUgYmVjYXVzZSB0 aGUgaGFyZHdhcmUgbWF5IHN0aWxsIGJlIHVzaW5nCnRoZSByaW5nYnVmZmVyIGFmdGVyIHRoZSBN SV9VU0VSX0lOVEVSUlVQVCB0byBub3RpZnkgdGhlIHNlcW5vIHVwZGF0ZQppcyBleGVjdXRlZC4g IFRoZSByaW5nYnVmZmVyIG11c3QgcmVtYWluIHBpbm5lZCB1bnRpbCB0aGUgY29udGV4dCBzYXZl CmlzIGNvbXBsZXRlLiAgTm8gbG9uZ2VyIHBpbiBhbmQgdW5waW4gcmluZ2J1ZmZlciBpbgpwb3B1 bGF0ZV9scl9jb250ZXh0KCkgLSB0aGlzIHRyYW5zaWVudCBhZGRyZXNzIGlzIG1lYW5pbmdsZXNz IGFuZCB0aGUKcGlubmluZyBjYW4gY2F1c2UgYSBzbGVlcCB3aGlsZSBhdG9taWMuCgp2NDogTW92 ZWQgcmluZ2J1ZmZlciBwaW4gYW5kIHVucGluIGludG8gdGhlIGxyX2NvbnRleHRfcGluIGZ1bmN0 aW9ucy4KRG93bmdyYWRlZCBwaW5uaW5nIGNoZWNrIEJVR19PTnMgdG8gV0FSTl9PTnMuCgpJc3N1 ZTogVklaLTQyNzcKU2lnbmVkLW9mZi1ieTogT3NjYXIgTWF0ZW8gPG9zY2FyLm1hdGVvQGludGVs LmNvbT4KU2lnbmVkLW9mZi1ieTogVGhvbWFzIERhbmllbCA8dGhvbWFzLmRhbmllbEBpbnRlbC5j b20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgICAgICAgIHwgIDExMCAr KysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9scmMuaCAgICAgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3Jpbmdi dWZmZXIuYyB8ICAgODUgKysrKysrKysrKysrKystLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggfCAgICAzICsKIDQgZmlsZXMgY2hhbmdlZCwgMTMzIGlu c2VydGlvbnMoKyksIDY2IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKaW5k ZXggNzk1MDM1Ny4uYjVhZTRmYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKQEAgLTIwMiw2 ICsyMDIsOSBAQCBlbnVtIHsKIH07CiAjZGVmaW5lIEdFTjhfQ1RYX0lEX1NISUZUIDMyCiAKK3N0 YXRpYyBpbnQgaW50ZWxfbHJfY29udGV4dF9waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmlu ZywKKwkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7CisKIC8qKgogICogaW50ZWxfc2FuaXRp emVfZW5hYmxlX2V4ZWNsaXN0cygpIC0gc2FuaXRpemUgaTkxNS5lbmFibGVfZXhlY2xpc3RzCiAg KiBAZGV2OiBEUk0gZGV2aWNlLgpAQCAtMzM5LDcgKzM0Miw5IEBAIHN0YXRpYyB2b2lkIGV4ZWNs aXN0c19lbHNwX3dyaXRlKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcsCiAJc3Bpbl91bmxv Y2tfaXJxcmVzdG9yZSgmZGV2X3ByaXYtPnVuY29yZS5sb2NrLCBmbGFncyk7CiB9CiAKLXN0YXRp YyBpbnQgZXhlY2xpc3RzX2N0eF93cml0ZV90YWlsKHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpjdHhfb2JqLCB1MzIgdGFpbCkKK3N0YXRpYyBpbnQgZXhlY2xpc3RzX3VwZGF0ZV9jb250ZXh0 KHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqLAorCQkJCSAgICBzdHJ1Y3QgZHJt X2k5MTVfZ2VtX29iamVjdCAqcmluZ19vYmosCisJCQkJICAgIHUzMiB0YWlsKQogewogCXN0cnVj dCBwYWdlICpwYWdlOwogCXVpbnQzMl90ICpyZWdfc3RhdGU7CkBAIC0zNDgsNiArMzUzLDcgQEAg c3RhdGljIGludCBleGVjbGlzdHNfY3R4X3dyaXRlX3RhaWwoc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKmN0eF9vYmosIHUzMiB0YWkKIAlyZWdfc3RhdGUgPSBrbWFwX2F0b21pYyhwYWdlKTsK IAogCXJlZ19zdGF0ZVtDVFhfUklOR19UQUlMKzFdID0gdGFpbDsKKwlyZWdfc3RhdGVbQ1RYX1JJ TkdfQlVGRkVSX1NUQVJUKzFdID0gaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KHJpbmdfb2JqKTsK IAogCWt1bm1hcF9hdG9taWMocmVnX3N0YXRlKTsKIApAQCAtMzU4LDIxICszNjQsMjUgQEAgc3Rh dGljIGludCBleGVjbGlzdHNfc3VibWl0X2NvbnRleHQoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq cmluZywKIAkJCQkgICAgc3RydWN0IGludGVsX2NvbnRleHQgKnRvMCwgdTMyIHRhaWwwLAogCQkJ CSAgICBzdHJ1Y3QgaW50ZWxfY29udGV4dCAqdG8xLCB1MzIgdGFpbDEpCiB7Ci0Jc3RydWN0IGRy bV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmowOworCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0 ICpjdHhfb2JqMCA9IHRvMC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcmluZ2J1ZjAgPSB0bzAtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1ZjsKIAlz dHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iajEgPSBOVUxMOworCXN0cnVjdCBpbnRl bF9yaW5nYnVmZmVyICpyaW5nYnVmMSA9IE5VTEw7CiAKLQljdHhfb2JqMCA9IHRvMC0+ZW5naW5l W3JpbmctPmlkXS5zdGF0ZTsKIAlCVUdfT04oIWN0eF9vYmowKTsKIAlXQVJOX09OKCFpOTE1X2dl bV9vYmpfaXNfcGlubmVkKGN0eF9vYmowKSk7CisJV0FSTl9PTighaTkxNV9nZW1fb2JqX2lzX3Bp bm5lZChyaW5nYnVmMC0+b2JqKSk7CiAKLQlleGVjbGlzdHNfY3R4X3dyaXRlX3RhaWwoY3R4X29i ajAsIHRhaWwwKTsKKwlleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoY3R4X29iajAsIHJpbmdidWYw LT5vYmosIHRhaWwwKTsKIAogCWlmICh0bzEpIHsKKwkJcmluZ2J1ZjEgPSB0bzEtPmVuZ2luZVty aW5nLT5pZF0ucmluZ2J1ZjsKIAkJY3R4X29iajEgPSB0bzEtPmVuZ2luZVtyaW5nLT5pZF0uc3Rh dGU7CiAJCUJVR19PTighY3R4X29iajEpOwogCQlXQVJOX09OKCFpOTE1X2dlbV9vYmpfaXNfcGlu bmVkKGN0eF9vYmoxKSk7CisJCVdBUk5fT04oIWk5MTVfZ2VtX29ial9pc19waW5uZWQocmluZ2J1 ZjEtPm9iaikpOwogCi0JCWV4ZWNsaXN0c19jdHhfd3JpdGVfdGFpbChjdHhfb2JqMSwgdGFpbDEp OworCQlleGVjbGlzdHNfdXBkYXRlX2NvbnRleHQoY3R4X29iajEsIHJpbmdidWYxLT5vYmosIHRh aWwxKTsKIAl9CiAKIAlleGVjbGlzdHNfZWxzcF93cml0ZShyaW5nLCBjdHhfb2JqMCwgY3R4X29i ajEpOwpAQCAtNDM1LDkgKzQ0NSw5IEBAIHN0YXRpYyBib29sIGV4ZWNsaXN0c19jaGVja19yZW1v dmVfcmVxdWVzdChzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlzdHJ1Y3QgZHJtX2k5 MTVfZ2VtX29iamVjdCAqY3R4X29iaiA9CiAJCQkJaGVhZF9yZXEtPmN0eC0+ZW5naW5lW3Jpbmct PmlkXS5zdGF0ZTsKIAkJaWYgKGludGVsX2V4ZWNsaXN0c19jdHhfaWQoY3R4X29iaikgPT0gcmVx dWVzdF9pZCkgewotCQkJV0FSTihoZWFkX3JlcS0+ZWxzcF9zdWJtaXR0ZWQgPT0gMCwKLQkJCSAg ICAgIk5ldmVyIHN1Ym1pdHRlZCBoZWFkIHJlcXVlc3RcbiIpOwogCisJCQkvKiBJZiB0aGUgcmVx dWVzdCBoYXMgYmVlbiBtZXJnZWQsIGl0IGlzIHBvc3NpYmxlIHRvIGdldAorCQkJICogaGVyZSB3 aXRoIGFuIHVuc3VibWl0dGVkIHJlcXVlc3QuICovCiAJCQlpZiAoLS1oZWFkX3JlcS0+ZWxzcF9z dWJtaXR0ZWQgPD0gMCkgewogCQkJCWxpc3RfZGVsKCZoZWFkX3JlcS0+ZXhlY2xpc3RfbGluayk7 CiAJCQkJbGlzdF9hZGRfdGFpbCgmaGVhZF9yZXEtPmV4ZWNsaXN0X2xpbmssCkBAIC00ODUsOCAr NDk1LDcgQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfaGFuZGxlX2N0eF9ldmVudHMoc3RydWN0IGlu dGVsX2VuZ2luZV9jcyAqcmluZykKIAogCQlpZiAoc3RhdHVzICYgR0VOOF9DVFhfU1RBVFVTX1BS RUVNUFRFRCkgewogCQkJaWYgKHN0YXR1cyAmIEdFTjhfQ1RYX1NUQVRVU19MSVRFX1JFU1RPUkUp IHsKLQkJCQlpZiAoZXhlY2xpc3RzX2NoZWNrX3JlbW92ZV9yZXF1ZXN0KHJpbmcsIHN0YXR1c19p ZCkpCi0JCQkJCVdBUk4oMSwgIkxpdGUgUmVzdG9yZWQgcmVxdWVzdCByZW1vdmVkIGZyb20gcXVl dWVcbiIpOworCQkJCWV4ZWNsaXN0c19jaGVja19yZW1vdmVfcmVxdWVzdChyaW5nLCBzdGF0dXNf aWQpOwogCQkJfSBlbHNlCiAJCQkJV0FSTigxLCAiUHJlZW1wdGlvbiB3aXRob3V0IExpdGUgUmVz dG9yZVxuIik7CiAJCX0KQEAgLTUyNCw2ICs1MzMsMTAgQEAgc3RhdGljIGludCBleGVjbGlzdHNf Y29udGV4dF9xdWV1ZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlyZXR1cm4gLUVO T01FTTsKIAlyZXEtPmN0eCA9IHRvOwogCWk5MTVfZ2VtX2NvbnRleHRfcmVmZXJlbmNlKHJlcS0+ Y3R4KTsKKworCWlmICh0byAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpCisJCWludGVsX2xyX2Nv bnRleHRfcGluKHJpbmcsIHRvKTsKKwogCXJlcS0+cmluZyA9IHJpbmc7CiAJcmVxLT50YWlsID0g dGFpbDsKIApAQCAtNTQ0LDcgKzU1Nyw3IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRf cXVldWUoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAogCQlpZiAodG8gPT0gdGFpbF9y ZXEtPmN0eCkgewogCQkJV0FSTih0YWlsX3JlcS0+ZWxzcF9zdWJtaXR0ZWQgIT0gMCwKLQkJCSAg ICAgIk1vcmUgdGhhbiAyIGFscmVhZHktc3VibWl0dGVkIHJlcXMgcXVldWVkXG4iKTsKKwkJCQki TW9yZSB0aGFuIDIgYWxyZWFkeS1zdWJtaXR0ZWQgcmVxcyBxdWV1ZWRcbiIpOwogCQkJbGlzdF9k ZWwoJnRhaWxfcmVxLT5leGVjbGlzdF9saW5rKTsKIAkJCWxpc3RfYWRkX3RhaWwoJnRhaWxfcmVx LT5leGVjbGlzdF9saW5rLAogCQkJCSZyaW5nLT5leGVjbGlzdF9yZXRpcmVkX3JlcV9saXN0KTsK QEAgLTczMiw2ICs3NDUsMTIgQEAgdm9pZCBpbnRlbF9leGVjbGlzdHNfcmV0aXJlX3JlcXVlc3Rz KHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm cmluZy0+ZXhlY2xpc3RfbG9jaywgZmxhZ3MpOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9zYWZl KHJlcSwgdG1wLCAmcmV0aXJlZF9saXN0LCBleGVjbGlzdF9saW5rKSB7CisJCXN0cnVjdCBpbnRl bF9jb250ZXh0ICpjdHggPSByZXEtPmN0eDsKKwkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3Qg KmN0eF9vYmogPQorCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKKworCQlpZiAoY3R4 X29iaiAmJiAoY3R4ICE9IHJpbmctPmRlZmF1bHRfY29udGV4dCkpCisJCQlpbnRlbF9scl9jb250 ZXh0X3VucGluKHJpbmcsIGN0eCk7CiAJCWludGVsX3J1bnRpbWVfcG1fcHV0KGRldl9wcml2KTsK IAkJaTkxNV9nZW1fY29udGV4dF91bnJlZmVyZW5jZShyZXEtPmN0eCk7CiAJCWxpc3RfZGVsKCZy ZXEtPmV4ZWNsaXN0X2xpbmspOwpAQCAtODAyLDYgKzgyMSw3IEBAIHN0YXRpYyBpbnQgaW50ZWxf bHJfY29udGV4dF9waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywKIAkJc3RydWN0IGlu dGVsX2NvbnRleHQgKmN0eCkKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29i aiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZl ciAqcmluZ2J1ZiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwogCWludCByZXQgPSAw OwogCiAJbXV0ZXhfbG9jaygmY3R4LT5lbmdpbmVbcmluZy0+aWRdLnVucGluX2xvY2spOwpAQCAt ODA5LDIyICs4MjksMzcgQEAgc3RhdGljIGludCBpbnRlbF9scl9jb250ZXh0X3BpbihzdHJ1Y3Qg aW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9waW4oY3R4 X29iaiwKIAkJCQlHRU44X0xSX0NPTlRFWFRfQUxJR04sIDApOwogCQlpZiAocmV0KQotCQkJY3R4 LT5lbmdpbmVbcmluZy0+aWRdLnVucGluX2NvdW50ID0gMDsKKwkJCWdvdG8gcmVzZXRfdW5waW5f Y291bnQ7CisKKwkJcmV0ID0gaW50ZWxfcGluX2FuZF9tYXBfcmluZ2J1ZmZlcl9vYmoocmluZy0+ ZGV2LCByaW5nYnVmKTsKKwkJaWYgKHJldCkKKwkJCWdvdG8gdW5waW5fY3R4X29iajsKIAl9CiAJ bXV0ZXhfdW5sb2NrKCZjdHgtPmVuZ2luZVtyaW5nLT5pZF0udW5waW5fbG9jayk7CiAKIAlyZXR1 cm4gcmV0OworCit1bnBpbl9jdHhfb2JqOgorCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0 eF9vYmopOworcmVzZXRfdW5waW5fY291bnQ6CisJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnVucGlu X2NvdW50ID0gMDsKKwltdXRleF91bmxvY2soJmN0eC0+ZW5naW5lW3JpbmctPmlkXS51bnBpbl9s b2NrKTsKKworCXJldHVybiByZXQ7CiB9CiAKIHZvaWQgaW50ZWxfbHJfY29udGV4dF91bnBpbihz dHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nLAogCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4 KQogewogCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2JqID0gY3R4LT5lbmdpbmVb cmluZy0+aWRdLnN0YXRlOworCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmID0gY3R4 LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWY7CiAKIAlpZiAoY3R4X29iaikgewogCQltdXRleF9s b2NrKCZjdHgtPmVuZ2luZVtyaW5nLT5pZF0udW5waW5fbG9jayk7Ci0JCWlmICgtLWN0eC0+ZW5n aW5lW3JpbmctPmlkXS51bnBpbl9jb3VudCA9PSAwKQorCQlpZiAoLS1jdHgtPmVuZ2luZVtyaW5n LT5pZF0udW5waW5fY291bnQgPT0gMCkgeworCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoo cmluZ2J1Zik7CiAJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKKwkJfQog CQltdXRleF91bmxvY2soJmN0eC0+ZW5naW5lW3JpbmctPmlkXS51bnBpbl9sb2NrKTsKIAl9CiB9 CkBAIC0xNTQyLDcgKzE1NzcsNiBAQCBwb3B1bGF0ZV9scl9jb250ZXh0KHN0cnVjdCBpbnRlbF9j b250ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfbwogewogCXN0cnVj dCBkcm1fZGV2aWNlICpkZXYgPSByaW5nLT5kZXY7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKLQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqcmluZ19vYmogPSByaW5nYnVmLT5vYmo7CiAJc3RydWN0IGk5MTVfaHdfcHBndHQgKnBwZ3R0 ID0gY3R4LT5wcGd0dDsKIAlzdHJ1Y3QgcGFnZSAqcGFnZTsKIAl1aW50MzJfdCAqcmVnX3N0YXRl OwpAQCAtMTU4OCw3ICsxNjIyLDkgQEAgcG9wdWxhdGVfbHJfY29udGV4dChzdHJ1Y3QgaW50ZWxf Y29udGV4dCAqY3R4LCBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X28KIAlyZWdfc3Rh dGVbQ1RYX1JJTkdfVEFJTF0gPSBSSU5HX1RBSUwocmluZy0+bW1pb19iYXNlKTsKIAlyZWdfc3Rh dGVbQ1RYX1JJTkdfVEFJTCsxXSA9IDA7CiAJcmVnX3N0YXRlW0NUWF9SSU5HX0JVRkZFUl9TVEFS VF0gPSBSSU5HX1NUQVJUKHJpbmctPm1taW9fYmFzZSk7Ci0JcmVnX3N0YXRlW0NUWF9SSU5HX0JV RkZFUl9TVEFSVCsxXSA9IGk5MTVfZ2VtX29ial9nZ3R0X29mZnNldChyaW5nX29iaik7CisJLyog UmluZyBidWZmZXIgc3RhcnQgYWRkcmVzcyBpcyBub3Qga25vd24gdW50aWwgdGhlIGJ1ZmZlciBp cyBwaW5uZWQuCisJICogSXQgaXMgd3JpdHRlbiB0byB0aGUgY29udGV4dCBpbWFnZSBpbiBleGVj bGlzdHNfdXBkYXRlX2NvbnRleHQoKQorCSAqLwogCXJlZ19zdGF0ZVtDVFhfUklOR19CVUZGRVJf Q09OVFJPTF0gPSBSSU5HX0NUTChyaW5nLT5tbWlvX2Jhc2UpOwogCXJlZ19zdGF0ZVtDVFhfUklO R19CVUZGRVJfQ09OVFJPTCsxXSA9CiAJCQkoKHJpbmdidWYtPnNpemUgLSBQQUdFX1NJWkUpICYg UklOR19OUl9QQUdFUykgfCBSSU5HX1ZBTElEOwpAQCAtMTY3MCwxMCArMTcwNiwxMiBAQCB2b2lk IGludGVsX2xyX2NvbnRleHRfZnJlZShzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KQogCQkJCQlj dHgtPmVuZ2luZVtpXS5yaW5nYnVmOwogCQkJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9 IHJpbmdidWYtPnJpbmc7CiAKKwkJCWlmIChjdHggPT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KSB7 CisJCQkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CisJCQkJaTkxNV9nZW1f b2JqZWN0X2dndHRfdW5waW4oY3R4X29iaik7CisJCQl9CiAJCQlpbnRlbF9kZXN0cm95X3Jpbmdi dWZmZXJfb2JqKHJpbmdidWYpOwogCQkJa2ZyZWUocmluZ2J1Zik7Ci0JCQlpZiAoY3R4ID09IHJp bmctPmRlZmF1bHRfY29udGV4dCkKLQkJCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhf b2JqKTsKIAkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhfb2JqLT5iYXNlKTsKIAkJ CW11dGV4X2Rlc3Ryb3koJmN0eC0+ZW5naW5lW2ldLnVucGluX2xvY2spOwogCQl9CkBAIC0xNzcy LDExICsxODEwLDggQEAgaW50IGludGVsX2xyX2NvbnRleHRfZGVmZXJyZWRfY3JlYXRlKHN0cnVj dCBpbnRlbF9jb250ZXh0ICpjdHgsCiAJaWYgKCFyaW5nYnVmKSB7CiAJCURSTV9ERUJVR19EUklW RVIoIkZhaWxlZCB0byBhbGxvY2F0ZSByaW5nYnVmZmVyICVzXG4iLAogCQkJCXJpbmctPm5hbWUp OwotCQlpZiAoaXNfZ2xvYmFsX2RlZmF1bHRfY3R4KQotCQkJaTkxNV9nZW1fb2JqZWN0X2dndHRf dW5waW4oY3R4X29iaik7Ci0JCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhfb2JqLT5i YXNlKTsKIAkJcmV0ID0gLUVOT01FTTsKLQkJcmV0dXJuIHJldDsKKwkJZ290byBlcnJvcl91bnBp bl9jdHg7CiAJfQogCiAJcmluZ2J1Zi0+cmluZyA9IHJpbmc7CkBAIC0xNzg5LDIyICsxODI0LDMw IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2NyZWF0ZShzdHJ1Y3QgaW50ZWxfY29u dGV4dCAqY3R4LAogCXJpbmdidWYtPnNwYWNlID0gcmluZ2J1Zi0+c2l6ZTsKIAlyaW5nYnVmLT5s YXN0X3JldGlyZWRfaGVhZCA9IC0xOwogCi0JLyogVE9ETzogRm9yIG5vdyB3ZSBwdXQgdGhpcyBp biB0aGUgbWFwcGFibGUgcmVnaW9uIHNvIHRoYXQgd2UgY2FuIHJldXNlCi0JICogdGhlIGV4aXN0 aW5nIHJpbmdidWZmZXIgY29kZSB3aGljaCBpb3JlbWFwcyBpdC4gV2hlbiB3ZSBzdGFydAotCSAq IGNyZWF0aW5nIG1hbnkgY29udGV4dHMsIHRoaXMgd2lsbCBubyBsb25nZXIgd29yayBhbmQgd2Ug bXVzdCBzd2l0Y2gKLQkgKiB0byBhIGttYXBpc2ggaW50ZXJmYWNlLgotCSAqLwotCXJldCA9IGlu dGVsX2FsbG9jX3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7Ci0JaWYgKHJldCkgewotCQlE Uk1fREVCVUdfRFJJVkVSKCJGYWlsZWQgdG8gYWxsb2NhdGUgcmluZ2J1ZmZlciBvYmogJXM6ICVk XG4iLAorCWlmIChyaW5nYnVmLT5vYmogPT0gTlVMTCkgeworCQlyZXQgPSBpbnRlbF9hbGxvY19y aW5nYnVmZmVyX29iaihkZXYsIHJpbmdidWYpOworCQlpZiAocmV0KSB7CisJCQlEUk1fREVCVUdf RFJJVkVSKAorCQkJCSJGYWlsZWQgdG8gYWxsb2NhdGUgcmluZ2J1ZmZlciBvYmogJXM6ICVkXG4i LAogCQkJCXJpbmctPm5hbWUsIHJldCk7Ci0JCWdvdG8gZXJyb3I7CisJCQlnb3RvIGVycm9yX2Zy ZWVfcmJ1ZjsKKwkJfQorCisJCWlmIChpc19nbG9iYWxfZGVmYXVsdF9jdHgpIHsKKwkJCXJldCA9 IGludGVsX3Bpbl9hbmRfbWFwX3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7CisJCQlpZiAo cmV0KSB7CisJCQkJRFJNX0VSUk9SKAorCQkJCQkiRmFpbGVkIHRvIHBpbiBhbmQgbWFwIHJpbmdi dWZmZXIgJXM6ICVkXG4iLAorCQkJCQlyaW5nLT5uYW1lLCByZXQpOworCQkJCWdvdG8gZXJyb3Jf ZGVzdHJveV9yYnVmOworCQkJfQorCQl9CisKIAl9CiAKIAlyZXQgPSBwb3B1bGF0ZV9scl9jb250 ZXh0KGN0eCwgY3R4X29iaiwgcmluZywgcmluZ2J1Zik7CiAJaWYgKHJldCkgewogCQlEUk1fREVC VUdfRFJJVkVSKCJGYWlsZWQgdG8gcG9wdWxhdGUgTFJDOiAlZFxuIiwgcmV0KTsKLQkJaW50ZWxf ZGVzdHJveV9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKIAkJZ290byBlcnJvcjsKIAl9CiAKQEAg LTE4MjYsNyArMTg2OSw2IEBAIGludCBpbnRlbF9scl9jb250ZXh0X2RlZmVycmVkX2NyZWF0ZShz dHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAogCQkJRFJNX0VSUk9SKCJJbml0IHJlbmRlciBzdGF0 ZSBmYWlsZWQ6ICVkXG4iLCByZXQpOwogCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnJpbmdidWYg PSBOVUxMOwogCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlID0gTlVMTDsKLQkJCWludGVs X2Rlc3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CiAJCQlnb3RvIGVycm9yOwogCQl9CiAJ CWN0eC0+cmNzX2luaXRpYWxpemVkID0gdHJ1ZTsKQEAgLTE4MzUsNyArMTg3NywxMyBAQCBpbnQg aW50ZWxfbHJfY29udGV4dF9kZWZlcnJlZF9jcmVhdGUoc3RydWN0IGludGVsX2NvbnRleHQgKmN0 eCwKIAlyZXR1cm4gMDsKIAogZXJyb3I6CisJaWYgKGlzX2dsb2JhbF9kZWZhdWx0X2N0eCkKKwkJ aW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CitlcnJvcl9kZXN0cm95X3JidWY6 CisJaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKK2Vycm9yX2ZyZWVfcmJ1 ZjoKIAlrZnJlZShyaW5nYnVmKTsKK2Vycm9yX3VucGluX2N0eDoKIAlpZiAoaXNfZ2xvYmFsX2Rl ZmF1bHRfY3R4KQogCQlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKIAlkcm1f Z2VtX29iamVjdF91bnJlZmVyZW5jZSgmY3R4X29iai0+YmFzZSk7CmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2xyYy5oCmluZGV4IDE0YjIxNmIuLjIxMjMzYTAgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5o CkBAIC0xMTAsNiArMTEwLDcgQEAgc3RydWN0IGludGVsX2N0eF9zdWJtaXRfcmVxdWVzdCB7CiAJ c3RydWN0IGxpc3RfaGVhZCBleGVjbGlzdF9saW5rOwogCiAJaW50IGVsc3Bfc3VibWl0dGVkOwor CWJvb2wgbmVlZF91bnBpbjsKIH07CiAKIHZvaWQgaW50ZWxfZXhlY2xpc3RzX2hhbmRsZV9jdHhf ZXZlbnRzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwpkaWZmIC0tZ2l0IGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcmluZ2J1ZmZlci5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfcmluZ2J1ZmZlci5jCmluZGV4IGE4ZjcyZTguLjBjNGFhYjEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmMKQEAgLTE3MjEsMTMgKzE3MjEsNDIgQEAgc3RhdGlj IGludCBpbml0X3BoeXNfc3RhdHVzX3BhZ2Uoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykK IAlyZXR1cm4gMDsKIH0KIAotdm9pZCBpbnRlbF9kZXN0cm95X3JpbmdidWZmZXJfb2JqKHN0cnVj dCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKQordm9pZCBpbnRlbF91bnBpbl9yaW5nYnVmZmVy X29iaihzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKIHsKLQlpZiAoIXJpbmdidWYt Pm9iaikKLQkJcmV0dXJuOwotCiAJaW91bm1hcChyaW5nYnVmLT52aXJ0dWFsX3N0YXJ0KTsKKwly aW5nYnVmLT52aXJ0dWFsX3N0YXJ0ID0gTlVMTDsKIAlpOTE1X2dlbV9vYmplY3RfZ2d0dF91bnBp bihyaW5nYnVmLT5vYmopOworfQorCitpbnQgaW50ZWxfcGluX2FuZF9tYXBfcmluZ2J1ZmZlcl9v Ymooc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkgICAgIHN0cnVjdCBpbnRlbF9yaW5nYnVm ZmVyICpyaW5nYnVmKQoreworCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRv X2k5MTUoZGV2KTsKKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqID0gcmluZ2J1Zi0+ b2JqOworCWludCByZXQ7CisKKwlyZXQgPSBpOTE1X2dlbV9vYmpfZ2d0dF9waW4ob2JqLCBQQUdF X1NJWkUsIFBJTl9NQVBQQUJMRSk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJldDsKKworCXJldCA9 IGk5MTVfZ2VtX29iamVjdF9zZXRfdG9fZ3R0X2RvbWFpbihvYmosIHRydWUpOworCWlmIChyZXQp IHsKKwkJaTkxNV9nZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKKwkJcmV0dXJuIHJldDsKKwl9 CisKKwlyaW5nYnVmLT52aXJ0dWFsX3N0YXJ0ID0gaW9yZW1hcF93YyhkZXZfcHJpdi0+Z3R0Lm1h cHBhYmxlX2Jhc2UgKworCQkJaTkxNV9nZW1fb2JqX2dndHRfb2Zmc2V0KG9iaiksIHJpbmdidWYt PnNpemUpOworCWlmIChyaW5nYnVmLT52aXJ0dWFsX3N0YXJ0ID09IE5VTEwpIHsKKwkJaTkxNV9n ZW1fb2JqZWN0X2dndHRfdW5waW4ob2JqKTsKKwkJcmV0dXJuIC1FSU5WQUw7CisJfQorCisJcmV0 dXJuIDA7Cit9CisKK3ZvaWQgaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29iaihzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKK3sKIAlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgm cmluZ2J1Zi0+b2JqLT5iYXNlKTsKIAlyaW5nYnVmLT5vYmogPSBOVUxMOwogfQpAQCAtMTczNSwx MiArMTc2NCw3IEBAIHZvaWQgaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29iaihzdHJ1Y3QgaW50 ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKIGludCBpbnRlbF9hbGxvY19yaW5nYnVmZmVyX29iaihz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICAgIHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVy ICpyaW5nYnVmKQogewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5 MTUoZGV2KTsKIAlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqb2JqOwotCWludCByZXQ7Ci0K LQlpZiAocmluZ2J1Zi0+b2JqKQotCQlyZXR1cm4gMDsKIAogCW9iaiA9IE5VTEw7CiAJaWYgKCFI QVNfTExDKGRldikpCkBAIC0xNzUzLDMwICsxNzc3LDkgQEAgaW50IGludGVsX2FsbG9jX3Jpbmdi dWZmZXJfb2JqKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJLyogbWFyayByaW5nIGJ1ZmZlcnMg YXMgcmVhZC1vbmx5IGZyb20gR1BVIHNpZGUgYnkgZGVmYXVsdCAqLwogCW9iai0+Z3Rfcm8gPSAx OwogCi0JcmV0ID0gaTkxNV9nZW1fb2JqX2dndHRfcGluKG9iaiwgUEFHRV9TSVpFLCBQSU5fTUFQ UEFCTEUpOwotCWlmIChyZXQpCi0JCWdvdG8gZXJyX3VucmVmOwotCi0JcmV0ID0gaTkxNV9nZW1f b2JqZWN0X3NldF90b19ndHRfZG9tYWluKG9iaiwgdHJ1ZSk7Ci0JaWYgKHJldCkKLQkJZ290byBl cnJfdW5waW47Ci0KLQlyaW5nYnVmLT52aXJ0dWFsX3N0YXJ0ID0KLQkJaW9yZW1hcF93YyhkZXZf cHJpdi0+Z3R0Lm1hcHBhYmxlX2Jhc2UgKyBpOTE1X2dlbV9vYmpfZ2d0dF9vZmZzZXQob2JqKSwK LQkJCQlyaW5nYnVmLT5zaXplKTsKLQlpZiAocmluZ2J1Zi0+dmlydHVhbF9zdGFydCA9PSBOVUxM KSB7Ci0JCXJldCA9IC1FSU5WQUw7Ci0JCWdvdG8gZXJyX3VucGluOwotCX0KLQogCXJpbmdidWYt Pm9iaiA9IG9iajsKLQlyZXR1cm4gMDsKIAotZXJyX3VucGluOgotCWk5MTVfZ2VtX29iamVjdF9n Z3R0X3VucGluKG9iaik7Ci1lcnJfdW5yZWY6Ci0JZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2Uo Jm9iai0+YmFzZSk7Ci0JcmV0dXJuIHJldDsKKwlyZXR1cm4gMDsKIH0KIAogc3RhdGljIGludCBp bnRlbF9pbml0X3JpbmdfYnVmZmVyKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCkBAIC0xODEzLDEw ICsxODE2LDIxIEBAIHN0YXRpYyBpbnQgaW50ZWxfaW5pdF9yaW5nX2J1ZmZlcihzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LAogCQkJZ290byBlcnJvcjsKIAl9CiAKLQlyZXQgPSBpbnRlbF9hbGxvY19y aW5nYnVmZmVyX29iaihkZXYsIHJpbmdidWYpOwotCWlmIChyZXQpIHsKLQkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gYWxsb2NhdGUgcmluZ2J1ZmZlciAlczogJWRcbiIsIHJpbmctPm5hbWUsIHJldCk7 Ci0JCWdvdG8gZXJyb3I7CisJaWYgKHJpbmdidWYtPm9iaiA9PSBOVUxMKSB7CisJCXJldCA9IGlu dGVsX2FsbG9jX3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7CisJCWlmIChyZXQpIHsKKwkJ CURSTV9FUlJPUigiRmFpbGVkIHRvIGFsbG9jYXRlIHJpbmdidWZmZXIgJXM6ICVkXG4iLAorCQkJ CQlyaW5nLT5uYW1lLCByZXQpOworCQkJZ290byBlcnJvcjsKKwkJfQorCisJCXJldCA9IGludGVs X3Bpbl9hbmRfbWFwX3JpbmdidWZmZXJfb2JqKGRldiwgcmluZ2J1Zik7CisJCWlmIChyZXQpIHsK KwkJCURSTV9FUlJPUigiRmFpbGVkIHRvIHBpbiBhbmQgbWFwIHJpbmdidWZmZXIgJXM6ICVkXG4i LAorCQkJCQlyaW5nLT5uYW1lLCByZXQpOworCQkJaW50ZWxfZGVzdHJveV9yaW5nYnVmZmVyX29i aihyaW5nYnVmKTsKKwkJCWdvdG8gZXJyb3I7CisJCX0KIAl9CiAKIAkvKiBXb3JrYXJvdW5kIGFu IGVycmF0dW0gb24gdGhlIGk4MzAgd2hpY2ggY2F1c2VzIGEgaGFuZyBpZgpAQCAtMTg1NCw2ICsx ODY4LDcgQEAgdm9pZCBpbnRlbF9jbGVhbnVwX3JpbmdfYnVmZmVyKHN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKnJpbmcpCiAJaW50ZWxfc3RvcF9yaW5nX2J1ZmZlcihyaW5nKTsKIAlXQVJOX09OKCFJ U19HRU4yKHJpbmctPmRldikgJiYgKEk5MTVfUkVBRF9NT0RFKHJpbmcpICYgTU9ERV9JRExFKSA9 PSAwKTsKIAorCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwogCWludGVsX2Rl c3Ryb3lfcmluZ2J1ZmZlcl9vYmoocmluZ2J1Zik7CiAJcmluZy0+cHJlYWxsb2NhdGVkX2xhenlf cmVxdWVzdCA9IE5VTEw7CiAJcmluZy0+b3V0c3RhbmRpbmdfbGF6eV9zZXFubyA9IDA7CmRpZmYg LS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmggYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKaW5kZXggOGMwMDJkMi4uMzY1ODU0YWQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3JpbmdidWZmZXIuaAorKysg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9yaW5nYnVmZmVyLmgKQEAgLTM4Miw2ICszODIs OSBAQCBpbnRlbF93cml0ZV9zdGF0dXNfcGFnZShzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5n LAogI2RlZmluZSBJOTE1X0dFTV9IV1NfU0NSQVRDSF9JTkRFWAkweDMwCiAjZGVmaW5lIEk5MTVf R0VNX0hXU19TQ1JBVENIX0FERFIgKEk5MTVfR0VNX0hXU19TQ1JBVENIX0lOREVYIDw8IE1JX1NU T1JFX0RXT1JEX0lOREVYX1NISUZUKQogCit2b2lkIGludGVsX3VucGluX3JpbmdidWZmZXJfb2Jq KHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKK2ludCBpbnRlbF9waW5fYW5kX21h cF9yaW5nYnVmZmVyX29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAorCQkJCSAgICAgc3RydWN0 IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpOwogdm9pZCBpbnRlbF9kZXN0cm95X3JpbmdidWZm ZXJfb2JqKHN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKIGludCBpbnRlbF9hbGxv Y19yaW5nYnVmZmVyX29iaihzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkJICAgICAgIHN0cnVj dCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmKTsKLS0gCjEuNy45LjUKCl9fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QK SW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Au b3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==