From mboxrd@z Thu Jan 1 00:00:00 1970 From: =?UTF-8?q?Micha=C5=82=20Winiarski?= Subject: [PATCH v4] drm/i915/guc: Add a second client, to be used for preemption Date: Thu, 26 Oct 2017 15:20:35 +0200 Message-ID: <20171026132035.10819-1-michal.winiarski@intel.com> References: <20171025200020.16636-6-michal.winiarski@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga06.intel.com (mga06.intel.com [134.134.136.31]) by gabe.freedesktop.org (Postfix) with ESMTPS id A8B676E2AB for ; Thu, 26 Oct 2017 13:20:57 +0000 (UTC) In-Reply-To: <20171025200020.16636-6-michal.winiarski@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: Dave Gordon List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4KClRoaXMgc2Vjb25k IGNsaWVudCBpcyBjcmVhdGVkIHdpdGggcHJpb3JpdHkgS01EX0hJR0gsIGFuZCBtYXJrZWQKYXMg cHJlZW1wdGl2ZS4gVGhpcyB3aWxsIGFsbG93IHVzIHRvIHJlcXVlc3QgcHJlZW1wdGlvbiB1c2lu ZyBHdUMgYWN0aW9ucy4KCnYyOiBFeHRyYWN0IGNsaWVudHMgY3JlYXRpb24gaW50byBhIGhlbHBl ciwgZGVidWdmcyBmaXh1cHMuIChNaWNoYcWCKQpSZWNyZWF0ZSBkb29yYmVsbCBvbiBpbml0LiAo RGFuaWVsZSkKTW92ZSBjbGllbnRzIGludG8gYW4gYXJyYXkuCgp2MzogQW5kIG1vdmUgY2xpZW50 cyBiYWNrIGZyb20gYW4gYXJyYXksIHRvIGdldCByaWQgb2YgdGhlIGVudW0gKE1pY2hhxYIpCgp2 NDogVXNlIGlzX2hpZ2hfcHJpb3JpdHksIG1vdmUgRFJNX0VSUk9SIGludG8gX19jcmVhdGVfZG9v cmJlbGwsIG1vdmUKR0VNX0JVR19PTiBpbnNpZGUgZ3VjX2NsaWVudHNfY3JlYXRlIChNaWNoYcWC KQoKU2lnbmVkLW9mZi1ieTogRGF2ZSBHb3Jkb24gPGRhdmlkLnMuZ29yZG9uQGludGVsLmNvbT4K U2lnbmVkLW9mZi1ieTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwu Y29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24uY28udWs+CkNjOiBEYW5p ZWxlIENlcmFvbG8gU3B1cmlvIDxkYW5pZWxlLmNlcmFvbG9zcHVyaW9AaW50ZWwuY29tPgpDYzog SmVmZiBNY0dlZSA8amVmZi5tY2dlZUBpbnRlbC5jb20+CkNjOiBNaWNoYWwgV2FqZGVjemtvIDxt aWNoYWwud2FqZGVjemtvQGludGVsLmNvbT4KQ2M6IE9zY2FyIE1hdGVvIDxvc2Nhci5tYXRlb0Bp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgICAgICAg IHwgICAyICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyB8IDEx NyArKysrKysrKysrKysrKysrKysrKy0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfZ3VjLmggICAgICAgICAgIHwgICAxICsKIDMgZmlsZXMgY2hhbmdlZCwgODQgaW5zZXJ0aW9u cygrKSwgMzYgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwppbmRl eCBjNjVlMzgxYjg1ZjMuLjZlMTc4ZDc1YmIxNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9kZWJ1Z2ZzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1 Z2ZzLmMKQEAgLTI0ODQsNiArMjQ4NCw4IEBAIHN0YXRpYyBpbnQgaTkxNV9ndWNfaW5mbyhzdHJ1 Y3Qgc2VxX2ZpbGUgKm0sIHZvaWQgKmRhdGEpCiAKIAlzZXFfcHJpbnRmKG0sICJcbkd1QyBleGVj YnVmIGNsaWVudCBAICVwOlxuIiwgZ3VjLT5leGVjYnVmX2NsaWVudCk7CiAJaTkxNV9ndWNfY2xp ZW50X2luZm8obSwgZGV2X3ByaXYsIGd1Yy0+ZXhlY2J1Zl9jbGllbnQpOworCXNlcV9wcmludGYo bSwgIlxuR3VDIHByZWVtcHQgY2xpZW50IEAgJXA6XG4iLCBndWMtPnByZWVtcHRfY2xpZW50KTsK KwlpOTE1X2d1Y19jbGllbnRfaW5mbyhtLCBkZXZfcHJpdiwgZ3VjLT5wcmVlbXB0X2NsaWVudCk7 CiAKIAlpOTE1X2d1Y19sb2dfaW5mbyhtLCBkZXZfcHJpdik7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwppbmRleCBkMWE1NjEzZGEyNGMuLjRjOGEwMjQxZDk1 MyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9ndWNfc3VibWlzc2lvbi5j CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZ3VjX3N1Ym1pc3Npb24uYwpAQCAtMzMs MTAgKzMzLDExIEBACiAgKgogICogR3VDIGNsaWVudDoKICAqIEEgaTkxNV9ndWNfY2xpZW50IHJl ZmVycyB0byBhIHN1Ym1pc3Npb24gcGF0aCB0aHJvdWdoIEd1Qy4gQ3VycmVudGx5LCB0aGVyZQot ICogaXMgb25seSBvbmUgb2YgdGhlc2UgKHRoZSBleGVjYnVmX2NsaWVudCkgYW5kIHRoaXMgb25l IGlzIGNoYXJnZWQgd2l0aCBhbGwKLSAqIHN1Ym1pc3Npb25zIHRvIHRoZSBHdUMuIFRoaXMgc3Ry dWN0IGlzIHRoZSBvd25lciBvZiBhIGRvb3JiZWxsLCBhIHByb2Nlc3MKLSAqIGRlc2NyaXB0b3Ig YW5kIGEgd29ya3F1ZXVlIChhbGwgb2YgdGhlbSBpbnNpZGUgYSBzaW5nbGUgZ2VtIG9iamVjdCB0 aGF0Ci0gKiBjb250YWlucyBhbGwgcmVxdWlyZWQgcGFnZXMgZm9yIHRoZXNlIGVsZW1lbnRzKS4K KyAqIGFyZSB0d28gY2xpZW50cy4gT25lIG9mIHRoZW0gKHRoZSBleGVjYnVmX2NsaWVudCkgaXMg Y2hhcmdlZCB3aXRoIGFsbAorICogc3VibWlzc2lvbnMgdG8gdGhlIEd1QywgdGhlIG90aGVyIG9u ZSAocHJlZW1wdF9jbGllbnQpIGlzIHJlc3BvbnNpYmxlIGZvcgorICogcHJlZW1wdGluZyB0aGUg ZXhlY2J1Zl9jbGllbnQuIFRoaXMgc3RydWN0IGlzIHRoZSBvd25lciBvZiBhIGRvb3JiZWxsLCBh CisgKiBwcm9jZXNzIGRlc2NyaXB0b3IgYW5kIGEgd29ya3F1ZXVlIChhbGwgb2YgdGhlbSBpbnNp ZGUgYSBzaW5nbGUgZ2VtIG9iamVjdAorICogdGhhdCBjb250YWlucyBhbGwgcmVxdWlyZWQgcGFn ZXMgZm9yIHRoZXNlIGVsZW1lbnRzKS4KICAqCiAgKiBHdUMgc3RhZ2UgZGVzY3JpcHRvcjoKICAq IER1cmluZyBpbml0aWFsaXphdGlvbiwgdGhlIGRyaXZlciBhbGxvY2F0ZXMgYSBzdGF0aWMgcG9v bCBvZiAxMDI0IHN1Y2gKQEAgLTgzLDcgKzg0LDggQEAKIAogc3RhdGljIGlubGluZSBib29sIGlz X2hpZ2hfcHJpb3JpdHkoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCogY2xpZW50KQogewotCXJldHVy biBjbGllbnQtPnByaW9yaXR5IDw9IEdVQ19DTElFTlRfUFJJT1JJVFlfSElHSDsKKwlyZXR1cm4g KGNsaWVudC0+cHJpb3JpdHkgPT0gR1VDX0NMSUVOVF9QUklPUklUWV9LTURfSElHSCB8fAorCQlj bGllbnQtPnByaW9yaXR5ID09IEdVQ19DTElFTlRfUFJJT1JJVFlfSElHSCk7CiB9CiAKIHN0YXRp YyBpbnQgX19yZXNlcnZlX2Rvb3JiZWxsKHN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudCkK QEAgLTE5Niw4ICsxOTgsMTEgQEAgc3RhdGljIGludCBfX2NyZWF0ZV9kb29yYmVsbChzdHJ1Y3Qg aTkxNV9ndWNfY2xpZW50ICpjbGllbnQpCiAJZG9vcmJlbGwtPmNvb2tpZSA9IDA7CiAKIAllcnIg PSBfX2d1Y19hbGxvY2F0ZV9kb29yYmVsbChjbGllbnQtPmd1YywgY2xpZW50LT5zdGFnZV9pZCk7 Ci0JaWYgKGVycikKKwlpZiAoZXJyKSB7CiAJCWRvb3JiZWxsLT5kYl9zdGF0dXMgPSBHVUNfRE9P UkJFTExfRElTQUJMRUQ7CisJCURSTV9FUlJPUigiQ291bGRuJ3QgY3JlYXRlIGNsaWVudCAldSBk b29yYmVsbDogJWRcbiIsCisJCQkgIGNsaWVudC0+c3RhZ2VfaWQsIGVycik7CisJfQogCiAJcmV0 dXJuIGVycjsKIH0KQEAgLTM2Myw2ICszNjgsOCBAQCBzdGF0aWMgdm9pZCBndWNfc3RhZ2VfZGVz Y19pbml0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywKIAltZW1zZXQoZGVzYywgMCwgc2l6ZW9mKCpk ZXNjKSk7CiAKIAlkZXNjLT5hdHRyaWJ1dGUgPSBHVUNfU1RBR0VfREVTQ19BVFRSX0FDVElWRSB8 IEdVQ19TVEFHRV9ERVNDX0FUVFJfS0VSTkVMOworCWlmIChpc19oaWdoX3ByaW9yaXR5KGNsaWVu dCkpCisJCWRlc2MtPmF0dHJpYnV0ZSB8PSBHVUNfU1RBR0VfREVTQ19BVFRSX1BSRUVNUFQ7CiAJ ZGVzYy0+c3RhZ2VfaWQgPSBjbGllbnQtPnN0YWdlX2lkOwogCWRlc2MtPnByaW9yaXR5ID0gY2xp ZW50LT5wcmlvcml0eTsKIAlkZXNjLT5kYl9pZCA9IGNsaWVudC0+ZG9vcmJlbGxfaWQ7CkBAIC03 NjMsMTUgKzc3MCwxMyBAQCBzdGF0aWMgaW50IGd1Y19pbml0X2Rvb3JiZWxsX2h3KHN0cnVjdCBp bnRlbF9ndWMgKmd1YykKIAogCS8qIE5vdyBmb3IgZXZlcnkgY2xpZW50IChhbmQgbm90IG9ubHkg ZXhlY2J1Zl9jbGllbnQpIG1ha2Ugc3VyZSB0aGVpcgogCSAqIGRvb3JiZWxscyBhcmUga25vd24g YnkgdGhlIEd1QyAqLwotCS8vZm9yIChjbGllbnQgPSBjbGllbnRfbGlzdDsgY2xpZW50ICE9IE5V TEw7IGNsaWVudCA9IGNsaWVudC0+bmV4dCkKLQl7Ci0JCXJldCA9IF9fY3JlYXRlX2Rvb3JiZWxs KGNsaWVudCk7Ci0JCWlmIChyZXQpIHsKLQkJCURSTV9FUlJPUigiQ291bGRuJ3QgcmVjcmVhdGUg Y2xpZW50ICV1IGRvb3JiZWxsOiAlZFxuIiwKLQkJCQljbGllbnQtPnN0YWdlX2lkLCByZXQpOwot CQkJcmV0dXJuIHJldDsKLQkJfQotCX0KKwlyZXQgPSBfX2NyZWF0ZV9kb29yYmVsbChndWMtPmV4 ZWNidWZfY2xpZW50KTsKKwlpZiAocmV0KQorCQlyZXR1cm4gcmV0OworCisJcmV0ID0gX19jcmVh dGVfZG9vcmJlbGwoZ3VjLT5wcmVlbXB0X2NsaWVudCk7CisJaWYgKHJldCkKKwkJcmV0dXJuIHJl dDsKIAogCS8qIFJlYWQgYmFjayAmIHZlcmlmeSBhbGwgKHVzZWQgJiB1bnVzZWQpIGRvb3JiZWxs IHJlZ2lzdGVycyAqLwogCWZvciAoZGJfaWQgPSAwOyBkYl9pZCA8IEdVQ19OVU1fRE9PUkJFTExT OyArK2RiX2lkKQpAQCAtODk1LDYgKzkwMCw0OSBAQCBzdGF0aWMgdm9pZCBndWNfY2xpZW50X2Zy ZWUoc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqY2xpZW50KQogCWtmcmVlKGNsaWVudCk7CiB9CiAK K3N0YXRpYyBpbnQgZ3VjX2NsaWVudHNfY3JlYXRlKHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKK3sK KwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwor CXN0cnVjdCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudDsKKworCUdFTV9CVUdfT04oZ3VjLT5leGVj YnVmX2NsaWVudCB8fCBndWMtPnByZWVtcHRfY2xpZW50KTsKKworCWNsaWVudCA9IGd1Y19jbGll bnRfYWxsb2MoZGV2X3ByaXYsCisJCQkJICBJTlRFTF9JTkZPKGRldl9wcml2KS0+cmluZ19tYXNr LAorCQkJCSAgR1VDX0NMSUVOVF9QUklPUklUWV9LTURfTk9STUFMLAorCQkJCSAgZGV2X3ByaXYt Pmtlcm5lbF9jb250ZXh0KTsKKwlpZiAoSVNfRVJSKGNsaWVudCkpIHsKKwkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gY3JlYXRlIEd1QyBjbGllbnQgZm9yIHN1Ym1pc3Npb24hXG4iKTsKKwkJcmV0dXJu IFBUUl9FUlIoY2xpZW50KTsKKwl9CisJZ3VjLT5leGVjYnVmX2NsaWVudCA9IGNsaWVudDsKKwor CWNsaWVudCA9IGd1Y19jbGllbnRfYWxsb2MoZGV2X3ByaXYsCisJCQkJICBJTlRFTF9JTkZPKGRl dl9wcml2KS0+cmluZ19tYXNrLAorCQkJCSAgR1VDX0NMSUVOVF9QUklPUklUWV9LTURfSElHSCwK KwkJCQkgIGRldl9wcml2LT5wcmVlbXB0X2NvbnRleHQpOworCWlmIChJU19FUlIoY2xpZW50KSkg eworCQlEUk1fRVJST1IoIkZhaWxlZCB0byBjcmVhdGUgR3VDIGNsaWVudCBmb3IgcHJlZW1wdGlv biFcbiIpOworCQlndWNfY2xpZW50X2ZyZWUoZ3VjLT5leGVjYnVmX2NsaWVudCk7CisJCWd1Yy0+ ZXhlY2J1Zl9jbGllbnQgPSBOVUxMOworCQlyZXR1cm4gUFRSX0VSUihjbGllbnQpOworCX0KKwln dWMtPnByZWVtcHRfY2xpZW50ID0gY2xpZW50OworCisJcmV0dXJuIDA7Cit9CisKK3N0YXRpYyB2 b2lkIGd1Y19jbGllbnRzX2Rlc3Ryb3koc3RydWN0IGludGVsX2d1YyAqZ3VjKQoreworCXN0cnVj dCBpOTE1X2d1Y19jbGllbnQgKmNsaWVudDsKKworCWNsaWVudCA9IGZldGNoX2FuZF96ZXJvKCZn dWMtPmV4ZWNidWZfY2xpZW50KTsKKwlndWNfY2xpZW50X2ZyZWUoY2xpZW50KTsKKworCWNsaWVu dCA9IGZldGNoX2FuZF96ZXJvKCZndWMtPnByZWVtcHRfY2xpZW50KTsKKwlndWNfY2xpZW50X2Zy ZWUoY2xpZW50KTsKK30KKwogc3RhdGljIHZvaWQgZ3VjX3BvbGljeV9pbml0KHN0cnVjdCBndWNf cG9saWN5ICpwb2xpY3kpCiB7CiAJcG9saWN5LT5leGVjdXRpb25fcXVhbnR1bSA9IFBPTElDWV9E RUZBVUxUX0VYRUNVVElPTl9RVUFOVFVNX1VTOwpAQCAtMTEzNCw3ICsxMTgyLDYgQEAgc3RhdGlj IHZvaWQgaTkxNV9ndWNfc3VibWlzc2lvbl91bnBhcmsoc3RydWN0IGludGVsX2VuZ2luZV9jcyAq ZW5naW5lKQogaW50IGk5MTVfZ3VjX3N1Ym1pc3Npb25fZW5hYmxlKHN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdikKIHsKIAlzdHJ1Y3QgaW50ZWxfZ3VjICpndWMgPSAmZGV2X3ByaXYt Pmd1YzsKLQlzdHJ1Y3QgaTkxNV9ndWNfY2xpZW50ICpjbGllbnQgPSBndWMtPmV4ZWNidWZfY2xp ZW50OwogCXN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZTsKIAllbnVtIGludGVsX2VuZ2lu ZV9pZCBpZDsKIAlpbnQgZXJyOwpAQCAtMTE1MiwyOCArMTE5OSwyOCBAQCBpbnQgaTkxNV9ndWNf c3VibWlzc2lvbl9lbmFibGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkg ICAgIHNpemVvZihzdHJ1Y3QgZ3VjX3dxX2l0ZW0pICoKIAkJICAgICBJOTE1X05VTV9FTkdJTkVT ID4gR1VDX1dRX1NJWkUpOwogCi0JaWYgKCFjbGllbnQpIHsKLQkJY2xpZW50ID0gZ3VjX2NsaWVu dF9hbGxvYyhkZXZfcHJpdiwKLQkJCQkJICBJTlRFTF9JTkZPKGRldl9wcml2KS0+cmluZ19tYXNr LAotCQkJCQkgIEdVQ19DTElFTlRfUFJJT1JJVFlfS01EX05PUk1BTCwKLQkJCQkJICBkZXZfcHJp di0+a2VybmVsX2NvbnRleHQpOwotCQlpZiAoSVNfRVJSKGNsaWVudCkpIHsKLQkJCURSTV9FUlJP UigiRmFpbGVkIHRvIGNyZWF0ZSBHdUMgY2xpZW50IGZvciBleGVjYnVmIVxuIik7Ci0JCQlyZXR1 cm4gUFRSX0VSUihjbGllbnQpOwotCQl9Ci0KLQkJZ3VjLT5leGVjYnVmX2NsaWVudCA9IGNsaWVu dDsKKwkvKgorCSAqIFdlJ3JlIGJlaW5nIGNhbGxlZCBvbiBib3RoIG1vZHVsZSBpbml0aWFsaXph dGlvbiBhbmQgb24gcmVzZXQsCisJICogdW50aWwgdGhpcyBmbG93IGlzIGNoYW5nZWQsIHdlJ3Jl IHVzaW5nIHJlZ3VsYXIgY2xpZW50IHByZXNlbmNlIHRvCisJICogZGV0ZXJtaW5lIHdoaWNoIGNh c2UgYXJlIHdlIGluLCBhbmQgd2hldGhlciB3ZSBzaG91bGQgYWxsb2NhdGUgbmV3CisJICogY2xp ZW50cyBvciBqdXN0IHJlc2V0IHRoZWlyIHdvcmtxdWV1ZXMuCisJICovCisJaWYgKCFndWMtPmV4 ZWNidWZfY2xpZW50KSB7CisJCWVyciA9IGd1Y19jbGllbnRzX2NyZWF0ZShndWMpOworCQlpZiAo ZXJyKQorCQkJcmV0dXJuIGVycjsKKwl9IGVsc2UgeworCQlndWNfcmVzZXRfd3EoZ3VjLT5leGVj YnVmX2NsaWVudCk7CisJCWd1Y19yZXNldF93cShndWMtPnByZWVtcHRfY2xpZW50KTsKIAl9CiAK IAllcnIgPSBpbnRlbF9ndWNfc2FtcGxlX2ZvcmNld2FrZShndWMpOwogCWlmIChlcnIpCi0JCWdv dG8gZXJyX2V4ZWNidWZfY2xpZW50OwotCi0JZ3VjX3Jlc2V0X3dxKGNsaWVudCk7CisJCWdvdG8g ZXJyX2ZyZWVfY2xpZW50czsKIAogCWVyciA9IGd1Y19pbml0X2Rvb3JiZWxsX2h3KGd1Yyk7CiAJ aWYgKGVycikKLQkJZ290byBlcnJfZXhlY2J1Zl9jbGllbnQ7CisJCWdvdG8gZXJyX2ZyZWVfY2xp ZW50czsKIAogCS8qIFRha2Ugb3ZlciBmcm9tIG1hbnVhbCBjb250cm9sIG9mIEVMU1AgKGV4ZWNs aXN0cykgKi8KIAlndWNfaW50ZXJydXB0c19jYXB0dXJlKGRldl9wcml2KTsKQEAgLTExODcsOSAr MTIzNCw4IEBAIGludCBpOTE1X2d1Y19zdWJtaXNzaW9uX2VuYWJsZShzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYpCiAKIAlyZXR1cm4gMDsKIAotZXJyX2V4ZWNidWZfY2xpZW50Ogot CWd1Y19jbGllbnRfZnJlZShndWMtPmV4ZWNidWZfY2xpZW50KTsKLQlndWMtPmV4ZWNidWZfY2xp ZW50ID0gTlVMTDsKK2Vycl9mcmVlX2NsaWVudHM6CisJZ3VjX2NsaWVudHNfZGVzdHJveShndWMp OwogCXJldHVybiBlcnI7CiB9CiAKQEAgLTEyMDQsNiArMTI1MCw1IEBAIHZvaWQgaTkxNV9ndWNf c3VibWlzc2lvbl9kaXNhYmxlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAkv KiBSZXZlcnQgYmFjayB0byBtYW51YWwgRUxTUCBzdWJtaXNzaW9uICovCiAJaW50ZWxfZW5naW5l c19yZXNldF9kZWZhdWx0X3N1Ym1pc3Npb24oZGV2X3ByaXYpOwogCi0JZ3VjX2NsaWVudF9mcmVl KGd1Yy0+ZXhlY2J1Zl9jbGllbnQpOwotCWd1Yy0+ZXhlY2J1Zl9jbGllbnQgPSBOVUxMOworCWd1 Y19jbGllbnRzX2Rlc3Ryb3koZ3VjKTsKIH0KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjLmgKaW5kZXgg YWExNTgzMTY3YjBhLi42Y2E1NWM1YmVkM2MgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2d1Yy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Yy5oCkBA IC01OCw2ICs1OCw3IEBAIHN0cnVjdCBpbnRlbF9ndWMgewogCXZvaWQgKnNoYXJlZF9kYXRhX3Zh ZGRyOwogCiAJc3RydWN0IGk5MTVfZ3VjX2NsaWVudCAqZXhlY2J1Zl9jbGllbnQ7CisJc3RydWN0 IGk5MTVfZ3VjX2NsaWVudCAqcHJlZW1wdF9jbGllbnQ7CiAKIAlERUNMQVJFX0JJVE1BUChkb29y YmVsbF9iaXRtYXAsIEdVQ19OVU1fRE9PUkJFTExTKTsKIAkvKiBDeWNsaWMgY291bnRlciBtb2Qg cGFnZXNpemUJKi8KLS0gCjIuMTMuNgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJl ZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGlu Zm8vaW50ZWwtZ2Z4Cg==