From mboxrd@z Thu Jan 1 00:00:00 1970 From: Nick Hoath Subject: [PATCH] drm/i915: Change context lifecycle Date: Wed, 25 Nov 2015 12:57:16 +0000 Message-ID: <1448456237-31421-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 mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTP id BA5966EBAD for ; Wed, 25 Nov 2015 04:57:27 -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 eHRfcXVldWUgdG8KcmV0aXJlX3JlcXVlc3RzLgoKdjI6IE1vdmVkIHRoZSBuZXcgcGluIHRvIGNv dmVyIEd1QyBzdWJtaXNzaW9uIChBbGV4IERhaSkKICAgIE1vdmVkIHRoZSBuZXcgdW5waW4gdG8g cmVxdWVzdF9yZXRpcmUgdG8gZml4IGNvdmVyYWdlIGxlYWsKdjM6IEFkZGVkIHN3aXRjaCB0byBk ZWZhdWx0IGNvbnRleHQgaWYgZnJlZWluZyBhIHN0aWxsIHBpbm5lZAogICAgY29udGV4dCBqdXN0 IGluIGNhc2UgdGhlIGh3IHdhcyBhY3R1YWxseSBzdGlsbCB1c2luZyBpdAp2NDogVW53cmFwcGVk IGNvbnRleHQgdW5waW4gdG8gYWxsb3cgY2FsbGluZyB3aXRob3V0IGEgcmVxdWVzdAp2NTogT25s eSBjcmVhdGUgYSBzd2l0Y2ggdG8gaWRsZSBjb250ZXh0IGlmIHRoZSByaW5nIGRvZXNuJ3QKICAg IGFscmVhZHkgaGF2ZSBhIHJlcXVlc3QgcGVuZGluZyBvbiBpdCAoQWxleCBEYWkpCiAgICBSZW5h bWUgdW5zYXZlZCB0byBkaXJ0eSB0byBhdm9pZCBkb3VibGUgbmVnYXRpdmVzIChEYXZlIEdvcmRv bikKICAgIENoYW5nZWQgX25vX3JlcSBwb3N0Zml4IHRvIF9fIHByZWZpeCBmb3IgY29uc2lzdGVu Y3kgKERhdmUgR29yZG9uKQogICAgU3BsaXQgb3V0IHBlciBlbmdpbmUgY2xlYW51cCBmcm9tIGNv bnRleHRfZnJlZSBhcyBpdAogICAgd2FzIGdldHRpbmcgdW53aWVsZHkKICAgIENvcnJlY3RlZCBs b2NraW5nIChEYXZlIEdvcmRvbikKClNpZ25lZC1vZmYtYnk6IE5pY2sgSG9hdGggPG5pY2hvbGFz LmhvYXRoQGludGVsLmNvbT4KSXNzdWU6IFZJWi00Mjc3CkNjOiBEYW5pZWwgVmV0dGVyIDxkYW5p ZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogRGF2aWQgR29yZG9uIDxkYXZpZC5zLmdvcmRvbkBpbnRl bC5jb20+CkNjOiBDaHJpcyBXaWxzb24gPGNocmlzQGNocmlzLXdpbHNvbi5jby51az4KQ2M6IEFs ZXggRGFpIDx5dS5kYWlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmggIHwgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMgIHwgICAzICsK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIHwgMTI0ICsrKysrKysrKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmgg fCAgIDEgKwogNCBmaWxlcyBjaGFuZ2VkLCAxMDUgaW5zZXJ0aW9ucygrKSwgMjQgZGVsZXRpb25z KC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKaW5kZXggZDVjZjMwYi4uZTgyNzE3YSAxMDA2NDQK LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2Rydi5oCkBAIC04ODksNiArODg5LDcgQEAgc3RydWN0IGludGVsX2NvbnRl eHQgewogCXN0cnVjdCB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpzdGF0ZTsKIAkJ c3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWY7CisJCWJvb2wgZGlydHk7CiAJCWludCBw aW5fY291bnQ7CiAJfSBlbmdpbmVbSTkxNV9OVU1fUklOR1NdOwogCmRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2dlbS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9n ZW0uYwppbmRleCBlOTU1NDk5Li4zODI5YmMxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2dlbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ2VtLmMKQEAg LTEzNTQsNiArMTM1NCw5IEBAIHN0YXRpYyB2b2lkIGk5MTVfZ2VtX3JlcXVlc3RfcmV0aXJlKHN0 cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIHsKIAl0cmFjZV9pOTE1X2dlbV9y ZXF1ZXN0X3JldGlyZShyZXF1ZXN0KTsKIAorCWlmIChpOTE1LmVuYWJsZV9leGVjbGlzdHMpCisJ CWludGVsX2xyX2NvbnRleHRfY29tcGxldGVfY2hlY2socmVxdWVzdCk7CisKIAkvKiBXZSBrbm93 IHRoZSBHUFUgbXVzdCBoYXZlIHJlYWQgdGhlIHJlcXVlc3QgdG8gaGF2ZQogCSAqIHNlbnQgdXMg dGhlIHNlcW5vICsgaW50ZXJydXB0LCBzbyB1c2UgdGhlIHBvc2l0aW9uCiAJICogb2YgdGFpbCBv ZiB0aGUgcmVxdWVzdCB0byB1cGRhdGUgdGhlIGxhc3Qga25vd24gcG9zaXRpb24KZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfbHJjLmMKaW5kZXggMDYxODBkYy4uMDNkNWJjYSAxMDA2NDQKLS0tIGEvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfbHJjLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHJjLmMKQEAgLTU2Niw5ICs1NjYsNiBAQCBzdGF0aWMgaW50IGV4ZWNsaXN0c19jb250ZXh0 X3F1ZXVlKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxdWVzdCkKIAlzdHJ1Y3QgZHJt X2k5MTVfZ2VtX3JlcXVlc3QgKmN1cnNvcjsKIAlpbnQgbnVtX2VsZW1lbnRzID0gMDsKIAotCWlm IChyZXF1ZXN0LT5jdHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0KQotCQlpbnRlbF9scl9jb250 ZXh0X3BpbihyZXF1ZXN0KTsKLQogCWk5MTVfZ2VtX3JlcXVlc3RfcmVmZXJlbmNlKHJlcXVlc3Qp OwogCiAJc3Bpbl9sb2NrX2lycSgmcmluZy0+ZXhlY2xpc3RfbG9jayk7CkBAIC03MzIsNiArNzI5 LDEzIEBAIGludGVsX2xvZ2ljYWxfcmluZ19hZHZhbmNlX2FuZF9zdWJtaXQoc3RydWN0IGRybV9p OTE1X2dlbV9yZXF1ZXN0ICpyZXF1ZXN0KQogCWlmIChpbnRlbF9yaW5nX3N0b3BwZWQocmluZykp CiAJCXJldHVybjsKIAorCWlmIChyZXF1ZXN0LT5jdHggIT0gcmluZy0+ZGVmYXVsdF9jb250ZXh0 KSB7CisJCWlmICghcmVxdWVzdC0+Y3R4LT5lbmdpbmVbcmluZy0+aWRdLmRpcnR5KSB7CisJCQlp bnRlbF9scl9jb250ZXh0X3BpbihyZXF1ZXN0KTsKKwkJCXJlcXVlc3QtPmN0eC0+ZW5naW5lW3Jp bmctPmlkXS5kaXJ0eSA9IHRydWU7CisJCX0KKwl9CisKIAlpZiAoZGV2X3ByaXYtPmd1Yy5leGVj YnVmX2NsaWVudCkKIAkJaTkxNV9ndWNfc3VibWl0KGRldl9wcml2LT5ndWMuZXhlY2J1Zl9jbGll bnQsIHJlcXVlc3QpOwogCWVsc2UKQEAgLTk1OCwxMiArOTYyLDYgQEAgdm9pZCBpbnRlbF9leGVj bGlzdHNfcmV0aXJlX3JlcXVlc3RzKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpCiAJc3Bp bl91bmxvY2tfaXJxKCZyaW5nLT5leGVjbGlzdF9sb2NrKTsKIAogCWxpc3RfZm9yX2VhY2hfZW50 cnlfc2FmZShyZXEsIHRtcCwgJnJldGlyZWRfbGlzdCwgZXhlY2xpc3RfbGluaykgewotCQlzdHJ1 Y3QgaW50ZWxfY29udGV4dCAqY3R4ID0gcmVxLT5jdHg7Ci0JCXN0cnVjdCBkcm1faTkxNV9nZW1f b2JqZWN0ICpjdHhfb2JqID0KLQkJCQljdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7Ci0KLQkJ aWYgKGN0eF9vYmogJiYgKGN0eCAhPSByaW5nLT5kZWZhdWx0X2NvbnRleHQpKQotCQkJaW50ZWxf bHJfY29udGV4dF91bnBpbihyZXEpOwogCQlsaXN0X2RlbCgmcmVxLT5leGVjbGlzdF9saW5rKTsK IAkJaTkxNV9nZW1fcmVxdWVzdF91bnJlZmVyZW5jZShyZXEpOwogCX0KQEAgLTEwNTgsMjEgKzEw NTYsMzkgQEAgcmVzZXRfcGluX2NvdW50OgogCXJldHVybiByZXQ7CiB9CiAKLXZvaWQgaW50ZWxf bHJfY29udGV4dF91bnBpbihzdHJ1Y3QgZHJtX2k5MTVfZ2VtX3JlcXVlc3QgKnJxKQorc3RhdGlj IHZvaWQgX19pbnRlbF9scl9jb250ZXh0X3VucGluKHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJp bmcsCisJCXN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiB7Ci0Jc3RydWN0IGludGVsX2VuZ2lu ZV9jcyAqcmluZyA9IHJxLT5yaW5nOwotCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhf b2JqID0gcnEtPmN0eC0+ZW5naW5lW3JpbmctPmlkXS5zdGF0ZTsKLQlzdHJ1Y3QgaW50ZWxfcmlu Z2J1ZmZlciAqcmluZ2J1ZiA9IHJxLT5yaW5nYnVmOwotCisJc3RydWN0IGRybV9pOTE1X2dlbV9v YmplY3QgKmN0eF9vYmogPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0uc3RhdGU7CisJc3RydWN0IGlu dGVsX3JpbmdidWZmZXIgKnJpbmdidWYgPSBjdHgtPmVuZ2luZVtyaW5nLT5pZF0ucmluZ2J1ZjsK IAlpZiAoY3R4X29iaikgewogCQlXQVJOX09OKCFtdXRleF9pc19sb2NrZWQoJnJpbmctPmRldi0+ c3RydWN0X211dGV4KSk7Ci0JCWlmICgtLXJxLT5jdHgtPmVuZ2luZVtyaW5nLT5pZF0ucGluX2Nv dW50ID09IDApIHsKKwkJaWYgKC0tY3R4LT5lbmdpbmVbcmluZy0+aWRdLnBpbl9jb3VudCA9PSAw KSB7CiAJCQlpbnRlbF91bnBpbl9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKIAkJCWk5MTVfZ2Vt X29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOwogCQl9CiAJfQogfQogCit2b2lkIGludGVsX2xy X2NvbnRleHRfdW5waW4oc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpycSkKK3sKKwlfX2lu dGVsX2xyX2NvbnRleHRfdW5waW4ocnEtPnJpbmcsIHJxLT5jdHgpOworfQorCit2b2lkIGludGVs X2xyX2NvbnRleHRfY29tcGxldGVfY2hlY2soc3RydWN0IGRybV9pOTE1X2dlbV9yZXF1ZXN0ICpy ZXEpCit7CisJc3RydWN0IGludGVsX2VuZ2luZV9jcyAqcmluZyA9IHJlcS0+cmluZzsKKworCWlm IChyaW5nLT5sYXN0X2NvbnRleHQgJiYgcmluZy0+bGFzdF9jb250ZXh0ICE9IHJlcS0+Y3R4ICYm CisJCQlyaW5nLT5sYXN0X2NvbnRleHQtPmVuZ2luZVtyaW5nLT5pZF0uZGlydHkpIHsKKwkJX19p bnRlbF9scl9jb250ZXh0X3VucGluKAorCQkJCXJpbmcsCisJCQkJcmluZy0+bGFzdF9jb250ZXh0 KTsKKwkJcmluZy0+bGFzdF9jb250ZXh0LT5lbmdpbmVbcmluZy0+aWRdLmRpcnR5ID0gZmFsc2U7 CisJfQorCXJpbmctPmxhc3RfY29udGV4dCA9IHJlcS0+Y3R4OworfQorCiBzdGF0aWMgaW50IGlu dGVsX2xvZ2ljYWxfcmluZ193b3JrYXJvdW5kc19lbWl0KHN0cnVjdCBkcm1faTkxNV9nZW1fcmVx dWVzdCAqcmVxKQogewogCWludCByZXQsIGk7CkBAIC0yMzY3LDYgKzIzODMsNjIgQEAgcG9wdWxh dGVfbHJfY29udGV4dChzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LCBzdHJ1Y3QgZHJtX2k5MTVf Z2VtX29iamVjdCAqY3R4X28KIH0KIAogLyoqCisgKiBpbnRlbF9scl9jb250ZXh0X2NsZWFuX3Jp bmcoKSAtIGNsZWFuIHRoZSByaW5nIHNwZWNpZmljIHBhcnRzIG9mIGFuIExSQworICogQGN0eDog dGhlIExSIGNvbnRleHQgYmVpbmcgZnJlZWQuCisgKiBAcmluZzogdGhlIGVuZ2luZSBiZWluZyBj bGVhbmVkCisgKiBAY3R4X29iajogdGhlIGh3IGNvbnRleHQgYmVpbmcgdW5yZWZlcmVuY2VkCisg KiBAcmluZ2J1ZjogdGhlIHJpbmdidWYgYmVpbmcgZnJlZWQKKyAqCisgKiBUYWtlIGNhcmUgb2Yg Y2xlYW5pbmcgdXAgdGhlIHBlci1lbmdpbmUgYmFja2luZworICogb2JqZWN0cyBhbmQgdGhlIGxv Z2ljYWwgcmluZ2J1ZmZlci4KKyAqLworc3RhdGljIHZvaWQKK2ludGVsX2xyX2NvbnRleHRfY2xl YW5fcmluZyhzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY3R4LAorCQkJICAgIHN0cnVjdCBpbnRlbF9l bmdpbmVfY3MgKnJpbmcsCisJCQkgICAgc3RydWN0IGRybV9pOTE1X2dlbV9vYmplY3QgKmN0eF9v YmosCisJCQkgICAgc3RydWN0IGludGVsX3JpbmdidWZmZXIgKnJpbmdidWYpCit7CisJV0FSTl9P TighbXV0ZXhfaXNfbG9ja2VkKCZyaW5nLT5kZXYtPnN0cnVjdF9tdXRleCkpOworCisJaWYgKGN0 eCA9PSByaW5nLT5kZWZhdWx0X2NvbnRleHQpIHsKKwkJaW50ZWxfdW5waW5fcmluZ2J1ZmZlcl9v YmoocmluZ2J1Zik7CisJCWk5MTVfZ2VtX29iamVjdF9nZ3R0X3VucGluKGN0eF9vYmopOworCX0K KworCWlmIChjdHgtPmVuZ2luZVtyaW5nLT5pZF0uZGlydHkpIHsKKwkJc3RydWN0IGRybV9pOTE1 X2dlbV9yZXF1ZXN0ICpyZXEgPSBOVUxMOworCisJCS8qKgorCQkgKiBJZiB0aGVyZSBpcyBhbHJl YWR5IGEgcmVxdWVzdCBwZW5kaW5nIG9uCisJCSAqIHRoaXMgcmluZywgd2FpdCBmb3IgdGhhdCB0 byBjb21wbGV0ZSwKKwkJICogb3RoZXJ3aXNlIGNyZWF0ZSBhIHN3aXRjaCB0byBpZGxlIHJlcXVl c3QKKwkJICovCisJCWlmIChsaXN0X2VtcHR5KCZyaW5nLT5yZXF1ZXN0X2xpc3QpKSB7CisJCQlp bnQgcmV0OworCisJCQlyZXQgPSBpOTE1X2dlbV9yZXF1ZXN0X2FsbG9jKAorCQkJCQlyaW5nLAor CQkJCQlyaW5nLT5kZWZhdWx0X2NvbnRleHQsCisJCQkJCSZyZXEpOworCQkJaWYgKCFyZXQpCisJ CQkJaTkxNV9hZGRfcmVxdWVzdChyZXEpOworCQkJZWxzZQorCQkJCURSTV9ERUJVRygiRmFpbGVk IHRvIGVuc3VyZSBjb250ZXh0IHNhdmVkIik7CisJCX0gZWxzZSB7CisJCQlyZXEgPSBsaXN0X2Zp cnN0X2VudHJ5KAorCQkJCQkmcmluZy0+cmVxdWVzdF9saXN0LAorCQkJCQl0eXBlb2YoKnJlcSks IGxpc3QpOworCQl9CisJCWlmIChyZXEpCisJCQlpOTE1X3dhaXRfcmVxdWVzdChyZXEpOworCX0K KworCVdBUk5fT04oY3R4LT5lbmdpbmVbcmluZy0+aWRdLnBpbl9jb3VudCk7CisJaW50ZWxfcmlu Z2J1ZmZlcl9mcmVlKHJpbmdidWYpOworCWRybV9nZW1fb2JqZWN0X3VucmVmZXJlbmNlKCZjdHhf b2JqLT5iYXNlKTsKK30KKworLyoqCiAgKiBpbnRlbF9scl9jb250ZXh0X2ZyZWUoKSAtIGZyZWUg dGhlIExSQyBzcGVjaWZpYyBiaXRzIG9mIGEgY29udGV4dAogICogQGN0eDogdGhlIExSIGNvbnRl eHQgdG8gZnJlZS4KICAqCkBAIC0yMzc4LDIxICsyNDUwLDE4IEBAIHZvaWQgaW50ZWxfbHJfY29u dGV4dF9mcmVlKHN0cnVjdCBpbnRlbF9jb250ZXh0ICpjdHgpCiB7CiAJaW50IGk7CiAKLQlmb3Ig KGkgPSAwOyBpIDwgSTkxNV9OVU1fUklOR1M7IGkrKykgeworCWZvciAoaSA9IDA7IGkgPCBJOTE1 X05VTV9SSU5HUzsgKytpKSB7CiAJCXN0cnVjdCBkcm1faTkxNV9nZW1fb2JqZWN0ICpjdHhfb2Jq ID0gY3R4LT5lbmdpbmVbaV0uc3RhdGU7CiAKLQkJaWYgKGN0eF9vYmopIHsKKwkJaWYgKGN0eC0+ ZW5naW5lW2ldLnN0YXRlKSB7CiAJCQlzdHJ1Y3QgaW50ZWxfcmluZ2J1ZmZlciAqcmluZ2J1ZiA9 CiAJCQkJCWN0eC0+ZW5naW5lW2ldLnJpbmdidWY7CiAJCQlzdHJ1Y3QgaW50ZWxfZW5naW5lX2Nz ICpyaW5nID0gcmluZ2J1Zi0+cmluZzsKIAotCQkJaWYgKGN0eCA9PSByaW5nLT5kZWZhdWx0X2Nv bnRleHQpIHsKLQkJCQlpbnRlbF91bnBpbl9yaW5nYnVmZmVyX29iaihyaW5nYnVmKTsKLQkJCQlp OTE1X2dlbV9vYmplY3RfZ2d0dF91bnBpbihjdHhfb2JqKTsKLQkJCX0KLQkJCVdBUk5fT04oY3R4 LT5lbmdpbmVbcmluZy0+aWRdLnBpbl9jb3VudCk7Ci0JCQlpbnRlbF9yaW5nYnVmZmVyX2ZyZWUo cmluZ2J1Zik7Ci0JCQlkcm1fZ2VtX29iamVjdF91bnJlZmVyZW5jZSgmY3R4X29iai0+YmFzZSk7 CisJCQlpbnRlbF9scl9jb250ZXh0X2NsZWFuX3JpbmcoY3R4LAorCQkJCQkJICAgIHJpbmcsCisJ CQkJCQkgICAgY3R4X29iaiwKKwkJCQkJCSAgICByaW5nYnVmKTsKIAkJfQogCX0KIH0KQEAgLTI1 NTQsNSArMjYyMywxMiBAQCB2b2lkIGludGVsX2xyX2NvbnRleHRfcmVzZXQoc3RydWN0IGRybV9k ZXZpY2UgKmRldiwKIAogCQlyaW5nYnVmLT5oZWFkID0gMDsKIAkJcmluZ2J1Zi0+dGFpbCA9IDA7 CisKKwkJaWYgKGN0eC0+ZW5naW5lW3JpbmctPmlkXS5kaXJ0eSkgeworCQkJX19pbnRlbF9scl9j b250ZXh0X3VucGluKAorCQkJCQlyaW5nLAorCQkJCQljdHgpOworCQkJY3R4LT5lbmdpbmVbcmlu Zy0+aWRdLmRpcnR5ID0gZmFsc2U7CisJCX0KIAl9CiB9CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9scmMuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5o CmluZGV4IDRlNjBkNTQuLmNiYzQyYjggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2xyYy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xyYy5oCkBAIC04 Niw2ICs4Niw3IEBAIHZvaWQgaW50ZWxfbHJfY29udGV4dF9yZXNldChzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2LAogCQkJc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCk7CiB1aW50NjRfdCBpbnRlbF9s cl9jb250ZXh0X2Rlc2NyaXB0b3Ioc3RydWN0IGludGVsX2NvbnRleHQgKmN0eCwKIAkJCQkgICAg IHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKnJpbmcpOwordm9pZCBpbnRlbF9scl9jb250ZXh0X2Nv bXBsZXRlX2NoZWNrKHN0cnVjdCBkcm1faTkxNV9nZW1fcmVxdWVzdCAqcmVxKTsKIAogLyogRXhl Y2xpc3RzICovCiBpbnQgaW50ZWxfc2FuaXRpemVfZW5hYmxlX2V4ZWNsaXN0cyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBpbnQgZW5hYmxlX2V4ZWNsaXN0cyk7Ci0tIAoxLjkuMQoKX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcg bGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVz a3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK