From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH] drm/i915: Extend LRC pinning to cover GPU context writeback Date: Tue, 1 Dec 2015 14:48:57 +0000 Message-ID: <1448981337-4319-1-git-send-email-nicholas.hoath@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 BFBCB6E847 for ; Tue, 1 Dec 2015 06:49:21 -0800 (PST) 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: Daniel Vetter List-Id: intel-gfx@lists.freedesktop.org VXNlIHRoZSBmaXJzdCByZXRpcmVkIHJlcXVlc3Qgb24gYSBuZXcgY29udGV4dCB0byB1bnBpbgp0 aGUgb2xkIGNvbnRleHQuIFRoaXMgZW5zdXJlcyB0aGF0IHRoZSBodyBjb250ZXh0IHJlbWFpbnMK Ym91bmQgdW50aWwgaXQgaGFzIGJlZW4gd3JpdHRlbiBiYWNrIHRvIGJ5IHRoZSBHUFUuCk5vdyB0 aGF0IHRoZSBjb250ZXh0IGlzIHBpbm5lZCB1bnRpbCBsYXRlciBpbiB0aGUgcmVxdWVzdC9jb250 ZXh0CmxpZmVjeWNsZSwgaXQgbm8gbG9uZ2VyIG5lZWRzIHRvIGJlIHBpbm5lZCBmcm9tIGNvbnRl eHRfcXVldWUgdG8KcmV0aXJlX3JlcXVlc3RzLgpUaGlzIGZpeGVzIGFuIGlzc3VlIHdpdGggR3VD IHN1Ym1pc3Npb24gd2hlcmUgdGhlIEdQVSBtaWdodCBub3QKaGF2ZSBmaW5pc2hlZCB3cml0aW5n IGJhY2sgdGhlIGNvbnRleHQgYmVmb3JlIGl0IGlzIHVucGlubmVkLiBUaGlzCnJlc3VsdHMgaW4g YSBHUFUgaGFuZy4KCnYyOiBNb3ZlZCB0aGUgbmV3IHBpbiB0byBjb3ZlciBHdUMgc3VibWlzc2lv biAoQWxleCBEYWkpCiAgICBNb3ZlZCB0aGUgbmV3IHVucGluIHRvIHJlcXVlc3RfcmV0aXJlIHRv IGZpeCBjb3ZlcmFnZSBsZWFrCnYzOiBBZGRlZCBzd2l0Y2ggdG8gZGVmYXVsdCBjb250ZXh0IGlm IGZyZWVpbmcgYSBzdGlsbCBwaW5uZWQKICAgIGNvbnRleHQganVzdCBpbiBjYXNlIHRoZSBodyB3 YXMgYWN0dWFsbHkgc3RpbGwgdXNpbmcgaXQKdjQ6IFVud3JhcHBlZCBjb250ZXh0IHVucGluIHRv IGFsbG93IGNhbGxpbmcgd2l0aG91dCBhIHJlcXVlc3QKdjU6IE9ubHkgY3JlYXRlIGEgc3dpdGNo IHRvIGlkbGUgY29udGV4dCBpZiB0aGUgcmluZyBkb2Vzbid0CiAgICBhbHJlYWR5IGhhdmUgYSBy ZXF1ZXN0IHBlbmRpbmcgb24gaXQgKEFsZXggRGFpKQogICAgUmVuYW1lIHVuc2F2ZWQgdG8gZGly dHkgdG8gYXZvaWQgZG91YmxlIG5lZ2F0aXZlcyAoRGF2ZSBHb3Jkb24pCiAgICBDaGFuZ2VkIF9u b19yZXEgcG9zdGZpeCB0byBfXyBwcmVmaXggZm9yIGNvbnNpc3RlbmN5IChEYXZlIEdvcmRvbikK ICAgIFNwbGl0IG91dCBwZXIgZW5naW5lIGNsZWFudXAgZnJvbSBjb250ZXh0X2ZyZWUgYXMgaXQK ICAgIHdhcyBnZXR0aW5nIHVud2llbGR5CiAgICBDb3JyZWN0ZWQgbG9ja2luZyAoRGF2ZSBHb3Jk b24pCnY2OiBSZW1vdmVkIHNvbWUgYmlrZXNoZWRkaW5nIChNaWthIEt1b3BwYWxhKQogICAgQWRk ZWQgZXhwbGFuYXRpb24gb2YgdGhlIEd1QyBoYW5nIHRoYXQgdGhpcyBmaXhlcyAoRGFuaWVsIFZl dHRlcikKdjc6IFJlbW92ZWQgZXh0cmEgcGVyIHJlcXVlc3QgcGlubmluZyBmcm9tIHJpbmcgcmVz ZXQgY29kZSAoQWxleCBEYWkpCiAgICBBZGRlZCBmb3JjZWQgcmluZyB1bnBpbi9jbGVhbiBpbiBl cnJvciBjYXNlIGluIGNvbnRleHQgZnJlZSAoQWxleCBEYWkpCgpTaWduZWQtb2ZmLWJ5OiBOaWNr IEhvYXRoIDxuaWNob2xhcy5ob2F0aEBpbnRlbC5jb20+Cklzc3VlOiBWSVotNDI3NwpDYzogRGFu aWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQ2M6IERhdmlkIEdvcmRvbiA8ZGF2 aWQucy5nb3Jkb25AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxz b24uY28udWs+CkNjOiBBbGV4IERhaSA8eXUuZGFpQGludGVsLmNvbT4KQ2M6IE1pa2EgS3VvcHBh bGEgPG1pa2Eua3VvcHBhbGFAbGludXguaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZHJ2LmggIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMg IHwgICA3ICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scmMuYyB8IDEzNiArKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKy0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xyYy5oIHwgICAxICsKIDQgZmlsZXMgY2hhbmdlZCwgMTE4IGluc2VydGlvbnMoKyksIDI3 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IGQ1Y2YzMGIuLmU4Mjcx N2EgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaApAQCAtODg5LDYgKzg4OSw3IEBAIHN0cnVjdCBp bnRlbF9jb250ZXh0IHsKIAlzdHJ1Y3QgewogCQlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAq c3RhdGU7CiAJCXN0cnVjdCBpbnRlbF9yaW5nYnVmZmVyICpyaW5nYnVmOworCQlib29sIGRpcnR5 OwogCQlpbnQgcGluX2NvdW50OwogCX0gZW5naW5lW0k5MTVfTlVNX1JJTkdTXTsKIApkaWZmIC0t Z2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ2VtLmMKaW5kZXggZTk1NTQ5OS4uNjllOWQ5NiAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaTkxNV9nZW0uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X2dlbS5jCkBAIC0xMzU0LDYgKzEzNTQsOSBAQCBzdGF0aWMgdm9pZCBpOTE1X2dlbV9yZXF1ZXN0 X3JldGlyZShzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcXVlc3QpCiB7CiAJdHJhY2Vf aTkxNV9nZW1fcmVxdWVzdF9yZXRpcmUocmVxdWVzdCk7CiAKKwlpZiAoaTkxNS5lbmFibGVfZXhl Y2xpc3RzKQorCQlpbnRlbF9scl9jb250ZXh0X2NvbXBsZXRlX2NoZWNrKHJlcXVlc3QpOworCiAJ LyogV2Uga25vdyB0aGUgR1BVIG11c3QgaGF2ZSByZWFkIHRoZSByZXF1ZXN0IHRvIGhhdmUKIAkg KiBzZW50IHVzIHRoZSBzZXFubyArIGludGVycnVwdCwgc28gdXNlIHRoZSBwb3NpdGlvbgogCSAq IG9mIHRhaWwgb2YgdGhlIHJlcXVlc3QgdG8gdXBkYXRlIHRoZSBsYXN0IGtub3duIHBvc2l0aW9u CkBAIC0yNzY1LDEwICsyNzY4LDYgQEAgc3RhdGljIHZvaWQgaTkxNV9nZW1fcmVzZXRfcmluZ19j bGVhbnVwKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJCQkJc3RydWN0IGRy bV9pOTE1X2dlbV9yZXF1ZXN0LAogCQkJCQlleGVjbGlzdF9saW5rKTsKIAkJCWxpc3RfZGVsKCZz dWJtaXRfcmVxLT5leGVjbGlzdF9saW5rKTsKLQotCQkJaWYgKHN1Ym1pdF9yZXEtPmN0eCAhPSBy aW5nLT5kZWZhdWx0X2NvbnRleHQpCi0JCQkJaW50ZWxfbHJfY29udGV4dF91bnBpbihzdWJtaXRf cmVxKTsKLQogCQkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShzdWJtaXRfcmVxKTsKIAkJ fQogCQlzcGluX3VubG9ja19pcnEoJnJpbmctPmV4ZWNsaXN0X2xvY2spOwpkaWZmIC0tZ2l0IGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9scmMuYwppbmRleCAwNjE4MGRjLi5iNGQ5YzhmIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9s cmMuYwpAQCAtNTY2LDkgKzU2Niw2IEBAIHN0YXRpYyBpbnQgZXhlY2xpc3RzX2NvbnRleHRfcXVl dWUoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCXN0cnVjdCBkcm1faTkx NV9nZW1fcmVxdWVzdCAqY3Vyc29yOwogCWludCBudW1fZWxlbWVudHMgPSAwOwogCi0JaWYgKHJl cXVlc3QtPmN0eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpCi0JCWludGVsX2xyX2NvbnRleHRf cGluKHJlcXVlc3QpOwotCiAJaTkxNV9nZW1fcmVxdWVzdF9yZWZlcmVuY2UocmVxdWVzdCk7CiAK IAlzcGluX2xvY2tfaXJxKCZyaW5nLT5leGVjbGlzdF9sb2NrKTsKQEAgLTczMiw2ICs3MjksMTMg QEAgaW50ZWxfbG9naWNhbF9yaW5nX2FkdmFuY2VfYW5kX3N1Ym1pdChzdHJ1Y3QgZHJtX2k5MTVf Z2VtX3JlcXVlc3QgKnJlcXVlc3QpCiAJaWYgKGludGVsX3Jpbmdfc3RvcHBlZChyaW5nKSkKIAkJ cmV0dXJuOwogCisJaWYgKHJlcXVlc3QtPmN0eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsK KwkJaWYgKCFyZXF1ZXN0LT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0uZGlydHkpIHsKKwkJCWludGVs X2xyX2NvbnRleHRfcGluKHJlcXVlc3QpOworCQkJcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+ aWRdLmRpcnR5ID0gdHJ1ZTsKKwkJfQorCX0KKwogCWlmIChkZXZfcHJpdi0+Z3VjLmV4ZWNidWZf Y2xpZW50KQogCQlpOTE1X2d1Y19zdWJtaXQoZGV2X3ByaXYtPmd1Yy5leGVjYnVmX2NsaWVudCwg cmVxdWVzdCk7CiAJZWxzZQpAQCAtOTU4LDEyICs5NjIsNiBAQCB2b2lkIGludGVsX2V4ZWNsaXN0 c19yZXRpcmVfcmVxdWVzdHMoc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZykKIAlzcGluX3Vu bG9ja19pcnEoJnJpbmctPmV4ZWNsaXN0X2xvY2spOwogCiAJbGlzdF9mb3JfZWFjaF9lbnRyeV9z YWZlKHJlcSwgdG1wLCAmcmV0aXJlZF9saXN0LCBleGVjbGlzdF9saW5rKSB7Ci0JCXN0cnVjdCBp bnRlbF9jb250ZXh0ICpjdHggPSByZXEtPmN0eDsKLQkJc3RydWN0IGRybV9pOTE1X2dlbV9vYmpl Y3QgKmN0eF9vYmogPQotCQkJCWN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKLQotCQlpZiAo Y3R4X29iaiAmJiAoY3R4ICE9IHJpbmctPmRlZmF1bHRfY29udGV4dCkpCi0JCQlpbnRlbF9scl9j b250ZXh0X3VucGluKHJlcSk7CiAJCWxpc3RfZGVsKCZyZXEtPmV4ZWNsaXN0X2xpbmspOwogCQlp OTE1X2dlbV9yZXF1ZXN0X3VucmVmZXJlbmNlKHJlcSk7CiAJfQpAQCAtMTA1OCwyMSArMTA1Niwz OSBAQCByZXNldF9waW5fY291bnQ6CiAJcmV0dXJuIHJldDsKIH0KIAotdm9pZCBpbnRlbF9scl9j b250ZXh0X3VucGluKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcnEpCitzdGF0aWMgdm9p ZCBfX2ludGVsX2xyX2NvbnRleHRfdW5waW4oc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZywK KwkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCkKIHsKLQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nID0gcnEtPnJpbmc7Ci0Jc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9vYmog PSBycS0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLnN0YXRlOwotCXN0cnVjdCBpbnRlbF9yaW5nYnVm ZmVyICpyaW5nYnVmID0gcnEtPnJpbmdidWY7Ci0KKwlzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVj dCAqY3R4X29iaiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxf cmluZ2J1ZmZlciAqcmluZ2J1ZiA9IGN0eC0+ZW5naW5lW3JpbmctPmlkXS5yaW5nYnVmOwogCWlm IChjdHhfb2JqKSB7CiAJCVdBUk5fT04oIW11dGV4X2lzX2xvY2tlZCgmcmluZy0+ZGV2LT5zdHJ1 Y3RfbXV0ZXgpKTsKLQkJaWYgKC0tcnEtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5waW5fY291bnQg PT0gMCkgeworCQlpZiAoLS1jdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50ID09IDApIHsK IAkJCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYpOwogCQkJaTkxNV9nZW1fb2Jq ZWN0X2dndHRfdW5waW4oY3R4X29iaik7CiAJCX0KIAl9CiB9CiAKK3ZvaWQgaW50ZWxfbHJfY29u dGV4dF91bnBpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQoreworCV9faW50ZWxf bHJfY29udGV4dF91bnBpbihycS0+cmluZywgcnEtPmN0eCk7Cit9CisKK3ZvaWQgaW50ZWxfbHJf Y29udGV4dF9jb21wbGV0ZV9jaGVjayhzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJlcSkK K3sKKwlzdHJ1Y3QgaW50ZWxfZW5naW5lX2NzICpyaW5nID0gcmVxLT5yaW5nOworCisJaWYgKHJp bmctPmxhc3RfY29udGV4dCAmJiByaW5nLT5sYXN0X2NvbnRleHQgIT0gcmVxLT5jdHggJiYKKwkJ CXJpbmctPmxhc3RfY29udGV4dC0+ZW5naW5lW3JpbmctPmlkXS5kaXJ0eSkgeworCQlfX2ludGVs X2xyX2NvbnRleHRfdW5waW4oCisJCQkJcmluZywKKwkJCQlyaW5nLT5sYXN0X2NvbnRleHQpOwor CQlyaW5nLT5sYXN0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0uZGlydHkgPSBmYWxzZTsKKwl9 CisJcmluZy0+bGFzdF9jb250ZXh0ID0gcmVxLT5jdHg7Cit9CisKIHN0YXRpYyBpbnQgaW50ZWxf bG9naWNhbF9yaW5nX3dvcmthcm91bmRzX2VtaXQoc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0 ICpyZXEpCiB7CiAJaW50IHJldCwgaTsKQEAgLTIzNjcsNiArMjM4Myw3NiBAQCBwb3B1bGF0ZV9s cl9jb250ZXh0KHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsIHN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpjdHhfbwogfQogCiAvKioKKyAqIGludGVsX2xyX2NvbnRleHRfY2xlYW5fcmluZygp IC0gY2xlYW4gdGhlIHJpbmcgc3BlY2lmaWMgcGFydHMgb2YgYW4gTFJDCisgKiBAY3R4OiB0aGUg TFIgY29udGV4dCBiZWluZyBmcmVlZC4KKyAqIEByaW5nOiB0aGUgZW5naW5lIGJlaW5nIGNsZWFu ZWQKKyAqIEBjdHhfb2JqOiB0aGUgaHcgY29udGV4dCBiZWluZyB1bnJlZmVyZW5jZWQKKyAqIEBy aW5nYnVmOiB0aGUgcmluZ2J1ZiBiZWluZyBmcmVlZAorICoKKyAqIFRha2UgY2FyZSBvZiBjbGVh bmluZyB1cCB0aGUgcGVyLWVuZ2luZSBiYWNraW5nCisgKiBvYmplY3RzIGFuZCB0aGUgbG9naWNh bCByaW5nYnVmZmVyLgorICovCitzdGF0aWMgdm9pZAoraW50ZWxfbHJfY29udGV4dF9jbGVhbl9y aW5nKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgsCisJCQkgICAgc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZywKKwkJCSAgICBzdHJ1Y3QgZHJtX2k5MTVfZ2VtX29iamVjdCAqY3R4X29iaiwK KwkJCSAgICBzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZikKK3sKKwlpbnQgcmV0Owor CisJV0FSTl9PTighbXV0ZXhfaXNfbG9ja2VkKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCkpOwor CisJaWYgKGN0eCA9PSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKKwkJaW50ZWxfdW5waW5fcmlu Z2J1ZmZlcl9vYmoocmluZ2J1Zik7CisJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9v YmopOworCX0KKworCWlmIChjdHgtPmVuZ2luZVtyaW5nLT5pZF0uZGlydHkpIHsKKwkJc3RydWN0 IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEgPSBOVUxMOworCisJCS8qKgorCQkgKiBJZiB0aGVy ZSBpcyBhbHJlYWR5IGEgcmVxdWVzdCBwZW5kaW5nIG9uCisJCSAqIHRoaXMgcmluZywgd2FpdCBm b3IgdGhhdCB0byBjb21wbGV0ZSwKKwkJICogb3RoZXJ3aXNlIGNyZWF0ZSBhIHN3aXRjaCB0byBp ZGxlIHJlcXVlc3QKKwkJICovCisJCWlmIChsaXN0X2VtcHR5KCZyaW5nLT5yZXF1ZXN0X2xpc3Qp KSB7CisJCQlpbnQgcmV0OworCisJCQlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKAorCQkJ CQlyaW5nLAorCQkJCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQsCisJCQkJCSZyZXEpOworCQkJaWYg KCFyZXQpCisJCQkJaTkxNV9hZGRfcmVxdWVzdChyZXEpOworCQkJZWxzZQorCQkJCURSTV9ERUJV RygiRmFpbGVkIHRvIGVuc3VyZSBjb250ZXh0IHNhdmVkIik7CisJCX0gZWxzZSB7CisJCQlyZXEg PSBsaXN0X2ZpcnN0X2VudHJ5KAorCQkJCQkmcmluZy0+cmVxdWVzdF9saXN0LAorCQkJCQl0eXBl b2YoKnJlcSksIGxpc3QpOworCQl9CisJCWlmIChyZXEpIHsKKwkJCXJldCA9IGk5MTVfd2FpdF9y ZXF1ZXN0KHJlcSk7CisJCQlpZiAocmV0ICE9IDApIHsKKwkJCQkvKioKKwkJCQkgKiBJZiB3ZSBn ZXQgaGVyZSwgdGhlcmUncyBwcm9iYWJseSBiZWVuIGEgcmluZworCQkJCSAqIHJlc2V0LCBzbyB3 ZSBqdXN0IGNsZWFuIHVwIHRoZSBkaXJ0eSBmbGFnLiYKKwkJCQkgKiBwaW4gY291bnQuCisJCQkJ ICovCisJCQkJY3R4LT5lbmdpbmVbcmluZy0+aWRdLmRpcnR5ID0gZmFsc2U7CisJCQkJX19pbnRl bF9scl9jb250ZXh0X3VucGluKAorCQkJCQlyaW5nLAorCQkJCQljdHgpOworCQkJfQorCQl9CisJ fQorCisJV0FSTl9PTihjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50KTsKKwlpbnRlbF9y aW5nYnVmZmVyX2ZyZWUocmluZ2J1Zik7CisJZHJtX2dlbV9vYmplY3RfdW5yZWZlcmVuY2UoJmN0 eF9vYmotPmJhc2UpOworfQorCisvKioKICAqIGludGVsX2xyX2NvbnRleHRfZnJlZSgpIC0gZnJl ZSB0aGUgTFJDIHNwZWNpZmljIGJpdHMgb2YgYSBjb250ZXh0CiAgKiBAY3R4OiB0aGUgTFIgY29u dGV4dCB0byBmcmVlLgogICoKQEAgLTIzNzgsNyArMjQ2NCw3IEBAIHZvaWQgaW50ZWxfbHJfY29u dGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiB7CiAJaW50IGk7CiAKLQlmb3Ig KGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBJOTE1 X05VTV9SSU5HUzsgKytpKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2Jq ID0gY3R4LT5lbmdpbmVbaV0uc3RhdGU7CiAKIAkJaWYgKGN0eF9vYmopIHsKQEAgLTIzODYsMTMg KzI0NzIsMTAgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X2ZyZWUoc3RydWN0IGludGVsX2NvbnRl eHQgKmN0eCkKIAkJCQkJY3R4LT5lbmdpbmVbaV0ucmluZ2J1ZjsKIAkJCXN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcgPSByaW5nYnVmLT5yaW5nOwogCi0JCQlpZiAoY3R4ID09IHJpbmctPmRl ZmF1bHRfY29udGV4dCkgewotCQkJCWludGVsX3VucGluX3JpbmdidWZmZXJfb2JqKHJpbmdidWYp OwotCQkJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOwotCQkJfQotCQkJV0FS Tl9PTihjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2NvdW50KTsKLQkJCWludGVsX3JpbmdidWZm ZXJfZnJlZShyaW5nYnVmKTsKLQkJCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhfb2Jq LT5iYXNlKTsKKwkJCWludGVsX2xyX2NvbnRleHRfY2xlYW5fcmluZyhjdHgsCisJCQkJCQkgICAg cmluZywKKwkJCQkJCSAgICBjdHhfb2JqLAorCQkJCQkJICAgIHJpbmdidWYpOwogCQl9CiAJfQog fQpAQCAtMjU1NCw1ICsyNjM3LDEyIEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1 Y3QgZHJtX2RldmljZSAqZGV2LAogCiAJCXJpbmdidWYtPmhlYWQgPSAwOwogCQlyaW5nYnVmLT50 YWlsID0gMDsKKworCQlpZiAoY3R4LT5lbmdpbmVbcmluZy0+aWRdLmRpcnR5KSB7CisJCQlfX2lu dGVsX2xyX2NvbnRleHRfdW5waW4oCisJCQkJCXJpbmcsCisJCQkJCWN0eCk7CisJCQljdHgtPmVu Z2luZVtyaW5nLT5pZF0uZGlydHkgPSBmYWxzZTsKKwkJfQogCX0KIH0KZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmgKaW5kZXggNGU2MGQ1NC4uY2JjNDJiOCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2k5MTUvaW50ZWxfbHJjLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJj LmgKQEAgLTg2LDYgKzg2LDcgQEAgdm9pZCBpbnRlbF9scl9jb250ZXh0X3Jlc2V0KHN0cnVjdCBk cm1fZGV2aWNlICpkZXYsCiAJCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4KTsKIHVpbnQ2NF90 IGludGVsX2xyX2NvbnRleHRfZGVzY3JpcHRvcihzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAog CQkJCSAgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyk7Cit2b2lkIGludGVsX2xyX2Nv bnRleHRfY29tcGxldGVfY2hlY2soc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpyZXEpOwog CiAvKiBFeGVjbGlzdHMgKi8KIGludCBpbnRlbF9zYW5pdGl6ZV9lbmFibGVfZXhlY2xpc3RzKHN0 cnVjdCBkcm1fZGV2aWNlICpkZXYsIGludCBlbmFibGVfZXhlY2xpc3RzKTsKLS0gCjEuOS4xCgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZngg bWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=