From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tvrtko Ursulin Subject: [PATCH v4 1/2] drm/i915: Make for_each_engine_masked work on intel_gt Date: Thu, 17 Oct 2019 17:18:52 +0100 Message-ID: <20191017161852.8836-1-tvrtko.ursulin@linux.intel.com> References: <20191017134531.20659-1-tvrtko.ursulin@linux.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 D4D866EAC9 for ; Thu, 17 Oct 2019 16:18:57 +0000 (UTC) In-Reply-To: <20191017134531.20659-1-tvrtko.ursulin@linux.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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVHZydGtvIFVyc3VsaW4gPHR2cnRrby51cnN1bGluQGludGVsLmNvbT4KCk1lZGl1bSB0 ZXJtIGdvYWwgaXMgdG8gZWxpbWluYXRlIHRoZSBpOTE1LT5lbmdpbmVbXSBhcnJheSBhbmQgdG8g Z2V0IHRoZXJlCndlIGhhdmUgcmVjZW50bHkgaW50cm9kdWNlZCBlcXVpdmFsZW50IGFycmF5IGlu IGludGVsX2d0LiBOb3cgd2UgbmVlZCB0bwptaWdyYXRlIHRoZSBjb2RlIGZ1cnRoZXIgdG93YXJk cyB0aGlzIHN0YXRlLgoKVGhpcyBuZXh0IHN0ZXAgaXMgdG8gZWxpbWluYXRlIHVzYWdlIG9mIGk5 MTUtPmVuZ2luZXNbXSBmcm9tIHRoZQpmb3JfZWFjaF9lbmdpbmVfbWFza2VkIGl0ZXJhdG9yLgoK Rm9yIHRoaXMgdG8gd29yayB3ZSBhbHNvIG5lZWQgdG8gdXNlIGVuZ2luZS0+aWQgYXMgaW5kZXgg d2hlbiBwb3B1bGF0aW5nCnRoZSBndC0+ZW5naW5lW10gYXJyYXkgYW5kIGFkanVzdCB0aGUgZGVm YXVsdCBlbmdpbmUgc2V0IGluZGV4aW5nIHRvIHVzZQplbmdpbmUtPmxlZ2FjeV9pZHggaW5zdGVh ZCBvZiBhc3N1bWluZyBndC0+ZW5naW5lc1tdIGluZGV4aW5nLgoKdjI6CiAgKiBQb3B1bGF0ZSBn dC0+ZW5naW5lW10gZWFybGllci4KICAqIENoZWNrIHRoYXQgd2UgZG9uJ3QgZHVwbGljYXRlIGVu Z2luZS0+bGVnYWN5X2lkeAoKdjM6CiAgKiBXb3JrIGFyb3VuZCB0aGUgaW5pdGlhbGl6YXRpb24g b3JkZXIgaXNzdWUgYmV0d2VlbiBkZWZhdWx0X2VuZ2luZXMoKQogICAgYW5kIGludGVsX2VuZ2lu ZXNfZHJpdmVyX3JlZ2lzdGVyKCkgd2hpY2ggc2V0cyBlbmdpbmUtPmxlZ2FjeV9pZHggZm9yCiAg ICBub3cuIEl0IHdpbGwgYmUgZml4ZWQgcHJvcGVybHkgbGF0ZXIuCgp2NDoKICAqIE1lcmdlIHdp dGggZm9yZ290dGVuIHYyLjUuCgpTaWduZWQtb2ZmLWJ5OiBUdnJ0a28gVXJzdWxpbiA8dHZydGtv LnVyc3VsaW5AaW50ZWwuY29tPgpDYzogQ2hyaXMgV2lsc29uIDxjaHJpc0BjaHJpcy13aWxzb24u Y28udWs+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYyAg fCAxMyArKysrKysrKysrLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf Y3MuYyAgICB8ICA1ICsrKysrCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVf dHlwZXMuaCB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2Vy LmMgIHwgMTggKysrKystLS0tLS0tLS0tLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRl bF9ndC5jICAgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9o YW5nY2hlY2suYyAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9yZXNl dC5jICAgICAgICB8IDEyICsrKysrKy0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2V4 ZWNsaXN0LmMgICAgICAgICAgfCAgNCArKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2No ZWR1bGVyLmMgICAgICAgICB8ICAyICstCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2 ZS5jICAgICAgICAgICB8ICA0ICsrLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2Lmgg ICAgICAgICAgICAgIHwgIDYgKysrLS0tCiAxMSBmaWxlcyBjaGFuZ2VkLCAzNyBpbnNlcnRpb25z KCspLCAzMiBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n ZW0vaTkxNV9nZW1fY29udGV4dC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2Vt X2NvbnRleHQuYwppbmRleCA1ZDgyMjFjN2JhODMuLjdiMDFmNDYwNWYyMSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL2k5MTUvZ2VtL2k5MTVfZ2VtX2NvbnRleHQuYworKysgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9nZW0vaTkxNV9nZW1fY29udGV4dC5jCkBAIC0yMDMsMTUgKzIwMywyMiBA QCBzdGF0aWMgc3RydWN0IGk5MTVfZ2VtX2VuZ2luZXMgKmRlZmF1bHRfZW5naW5lcyhzdHJ1Y3Qg aTkxNV9nZW1fY29udGV4dCAqY3R4KQogCWZvcl9lYWNoX2VuZ2luZShlbmdpbmUsIGd0LCBpZCkg ewogCQlzdHJ1Y3QgaW50ZWxfY29udGV4dCAqY2U7CiAKKwkJaWYgKGVuZ2luZS0+bGVnYWN5X2lk eCA9PSBJTlZBTElEX0VOR0lORSkKKwkJCWNvbnRpbnVlOworCisJCUdFTV9CVUdfT04oZW5naW5l LT5sZWdhY3lfaWR4ID49IEk5MTVfTlVNX0VOR0lORVMpOworCQlHRU1fQlVHX09OKGUtPmVuZ2lu ZXNbZW5naW5lLT5sZWdhY3lfaWR4XSk7CisKIAkJY2UgPSBpbnRlbF9jb250ZXh0X2NyZWF0ZShj dHgsIGVuZ2luZSk7CiAJCWlmIChJU19FUlIoY2UpKSB7Ci0JCQlfX2ZyZWVfZW5naW5lcyhlLCBp ZCk7CisJCQlfX2ZyZWVfZW5naW5lcyhlLCBlLT5udW1fZW5naW5lcyArIDEpOwogCQkJcmV0dXJu IEVSUl9DQVNUKGNlKTsKIAkJfQogCi0JCWUtPmVuZ2luZXNbaWRdID0gY2U7Ci0JCWUtPm51bV9l bmdpbmVzID0gaWQgKyAxOworCQllLT5lbmdpbmVzW2VuZ2luZS0+bGVnYWN5X2lkeF0gPSBjZTsK KwkJZS0+bnVtX2VuZ2luZXMgPSBtYXgoZS0+bnVtX2VuZ2luZXMsIGVuZ2luZS0+bGVnYWN5X2lk eCk7CiAJfQorCWUtPm51bV9lbmdpbmVzKys7CiAKIAlyZXR1cm4gZTsKIH0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX2NzLmMKaW5kZXggNTA1MWExZmQyNTY1Li5lNTE0YzY4 YjA3MTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9j cy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV9jcy5jCkBAIC0y NzcsNiArMjc3LDkgQEAgc3RhdGljIGludCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGludGVs X2d0ICpndCwgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQpCiAJQlVJTERfQlVHX09OKE1BWF9FTkdJ TkVfQ0xBU1MgPj0gQklUKEdFTjExX0VOR0lORV9DTEFTU19XSURUSCkpOwogCUJVSUxEX0JVR19P TihNQVhfRU5HSU5FX0lOU1RBTkNFID49IEJJVChHRU4xMV9FTkdJTkVfSU5TVEFOQ0VfV0lEVEgp KTsKIAorCWlmIChHRU1fREVCVUdfV0FSTl9PTihpZCA+PSBBUlJBWV9TSVpFKGd0LT5lbmdpbmUp KSkKKwkJcmV0dXJuIC1FSU5WQUw7CisKIAlpZiAoR0VNX0RFQlVHX1dBUk5fT04oaW5mby0+Y2xh c3MgPiBNQVhfRU5HSU5FX0NMQVNTKSkKIAkJcmV0dXJuIC1FSU5WQUw7CiAKQEAgLTI5Myw2ICsy OTYsNyBAQCBzdGF0aWMgaW50IGludGVsX2VuZ2luZV9zZXR1cChzdHJ1Y3QgaW50ZWxfZ3QgKmd0 LCBlbnVtIGludGVsX2VuZ2luZV9pZCBpZCkKIAlCVUlMRF9CVUdfT04oQklUU19QRVJfVFlQRShl bmdpbmUtPm1hc2spIDwgSTkxNV9OVU1fRU5HSU5FUyk7CiAKIAllbmdpbmUtPmlkID0gaWQ7CisJ ZW5naW5lLT5sZWdhY3lfaWR4ID0gSU5WQUxJRF9FTkdJTkU7CiAJZW5naW5lLT5tYXNrID0gQklU KGlkKTsKIAllbmdpbmUtPmk5MTUgPSBndC0+aTkxNTsKIAllbmdpbmUtPmd0ID0gZ3Q7CkBAIC0z MjgsNiArMzMyLDcgQEAgc3RhdGljIGludCBpbnRlbF9lbmdpbmVfc2V0dXAoc3RydWN0IGludGVs X2d0ICpndCwgZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQpCiAJaW50ZWxfZW5naW5lX3Nhbml0aXpl X21taW8oZW5naW5lKTsKIAogCWd0LT5lbmdpbmVfY2xhc3NbaW5mby0+Y2xhc3NdW2luZm8tPmlu c3RhbmNlXSA9IGVuZ2luZTsKKwlndC0+ZW5naW5lW2lkXSA9IGVuZ2luZTsKIAogCWludGVsX2Vu Z2luZV9hZGRfdXNlcihlbmdpbmUpOwogCWd0LT5pOTE1LT5lbmdpbmVbaWRdID0gZW5naW5lOwpk aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZW5naW5lX3R5cGVzLmgg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdHlwZXMuaAppbmRleCA2MTk5 MDY0ZjMzMmIuLjM0NTFiZTAzNGNhZiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZW5naW5lX3R5cGVzLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50 ZWxfZW5naW5lX3R5cGVzLmgKQEAgLTE0OCw2ICsxNDgsNyBAQCBlbnVtIGludGVsX2VuZ2luZV9p ZCB7CiAJVkVDUzEsCiAjZGVmaW5lIF9WRUNTKG4pIChWRUNTMCArIChuKSkKIAlJOTE1X05VTV9F TkdJTkVTCisjZGVmaW5lIElOVkFMSURfRU5HSU5FICgoZW51bSBpbnRlbF9lbmdpbmVfaWQpLTEp CiB9OwogCiBzdHJ1Y3Qgc3RfcHJlZW1wdF9oYW5nIHsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9n dC9pbnRlbF9lbmdpbmVfdXNlci5jCmluZGV4IDc3Y2Q1ZGU4MzkzMC4uN2Y3MTUwYTczM2Y0IDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9lbmdpbmVfdXNlci5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2VuZ2luZV91c2VyLmMKQEAgLTE2MCwx MCArMTYwLDEwIEBAIHN0YXRpYyBpbnQgbGVnYWN5X3JpbmdfaWR4KGNvbnN0IHN0cnVjdCBsZWdh Y3lfcmluZyAqcmluZykKIAl9OwogCiAJaWYgKEdFTV9ERUJVR19XQVJOX09OKHJpbmctPmNsYXNz ID49IEFSUkFZX1NJWkUobWFwKSkpCi0JCXJldHVybiAtMTsKKwkJcmV0dXJuIElOVkFMSURfRU5H SU5FOwogCiAJaWYgKEdFTV9ERUJVR19XQVJOX09OKHJpbmctPmluc3RhbmNlID49IG1hcFtyaW5n LT5jbGFzc10ubWF4KSkKLQkJcmV0dXJuIC0xOworCQlyZXR1cm4gSU5WQUxJRF9FTkdJTkU7CiAK IAlyZXR1cm4gbWFwW3JpbmctPmNsYXNzXS5iYXNlICsgcmluZy0+aW5zdGFuY2U7CiB9CkBAIC0x NzEsMjMgKzE3MSwxNSBAQCBzdGF0aWMgaW50IGxlZ2FjeV9yaW5nX2lkeChjb25zdCBzdHJ1Y3Qg bGVnYWN5X3JpbmcgKnJpbmcpCiBzdGF0aWMgdm9pZCBhZGRfbGVnYWN5X3Jpbmcoc3RydWN0IGxl Z2FjeV9yaW5nICpyaW5nLAogCQkJICAgIHN0cnVjdCBpbnRlbF9lbmdpbmVfY3MgKmVuZ2luZSkK IHsKLQlpbnQgaWR4OwotCiAJaWYgKGVuZ2luZS0+Z3QgIT0gcmluZy0+Z3QgfHwgZW5naW5lLT5j bGFzcyAhPSByaW5nLT5jbGFzcykgewogCQlyaW5nLT5ndCA9IGVuZ2luZS0+Z3Q7CiAJCXJpbmct PmNsYXNzID0gZW5naW5lLT5jbGFzczsKIAkJcmluZy0+aW5zdGFuY2UgPSAwOwogCX0KIAotCWlk eCA9IGxlZ2FjeV9yaW5nX2lkeChyaW5nKTsKLQlpZiAodW5saWtlbHkoaWR4ID09IC0xKSkKLQkJ cmV0dXJuOwotCi0JR0VNX0JVR19PTihpZHggPj0gQVJSQVlfU0laRShyaW5nLT5ndC0+ZW5naW5l KSk7Ci0JcmluZy0+Z3QtPmVuZ2luZVtpZHhdID0gZW5naW5lOwotCXJpbmctPmluc3RhbmNlKys7 Ci0KLQllbmdpbmUtPmxlZ2FjeV9pZHggPSBpZHg7CisJZW5naW5lLT5sZWdhY3lfaWR4ID0gbGVn YWN5X3JpbmdfaWR4KHJpbmcpOworCWlmIChlbmdpbmUtPmxlZ2FjeV9pZHggIT0gSU5WQUxJRF9F TkdJTkUpCisJCXJpbmctPmluc3RhbmNlKys7CiB9CiAKIHZvaWQgaW50ZWxfZW5naW5lc19kcml2 ZXJfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmk5MTUpCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9ndC9pbnRlbF9ndC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv Z3QvaW50ZWxfZ3QuYwppbmRleCBiMzYxOWEyYTVkMGUuLmM5OWI2YjJmMzhjMiAxMDA2NDQKLS0t IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3QvaW50ZWxfZ3QuYworKysgYi9kcml2ZXJzL2dwdS9k cm0vaTkxNS9ndC9pbnRlbF9ndC5jCkBAIC0xODYsNyArMTg2LDcgQEAgaW50ZWxfZ3RfY2xlYXJf ZXJyb3JfcmVnaXN0ZXJzKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKIAkJZW51bSBpbnRlbF9lbmdpbmVfaWQgaWQ7CiAKLQkJZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGk5MTUsIGVuZ2luZV9tYXNrLCBpZCkKKwkJZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LCBlbmdpbmVfbWFzaywgaWQpCiAJCQlnZW44X2NsZWFy X2VuZ2luZV9lcnJvcl9yZWdpc3RlcihlbmdpbmUpOwogCX0KIH0KZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2hhbmdjaGVjay5jIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvZ3QvaW50ZWxfaGFuZ2NoZWNrLmMKaW5kZXggYzE0ZGJlYjNjY2MzLi5iMmFmNzM5ODRmOTMg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2hhbmdjaGVjay5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX2hhbmdjaGVjay5jCkBAIC0yMzcsNyAr MjM3LDcgQEAgc3RhdGljIHZvaWQgaGFuZ2NoZWNrX2RlY2xhcmVfaGFuZyhzdHJ1Y3QgaW50ZWxf Z3QgKmd0LAogCQlodW5nICY9IH5zdHVjazsKIAlsZW4gPSBzY25wcmludGYobXNnLCBzaXplb2Yo bXNnKSwKIAkJCSIlcyBvbiAiLCBzdHVjayA9PSBodW5nID8gIm5vIHByb2dyZXNzIiA6ICJoYW5n Iik7Ci0JZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LT5pOTE1LCBodW5nLCB0bXAp CisJZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LCBodW5nLCB0bXApCiAJCWxlbiAr PSBzY25wcmludGYobXNnICsgbGVuLCBzaXplb2YobXNnKSAtIGxlbiwKIAkJCQkgIiVzLCAiLCBl bmdpbmUtPm5hbWUpOwogCW1zZ1tsZW4tMl0gPSAnXDAnOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2lu dGVsX3Jlc2V0LmMKaW5kZXggNDc3YmZhZmRiMTAzLi5iMTkxYjA3NDU3MDMgMTAwNjQ0Ci0tLSBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d0L2ludGVsX3Jlc2V0LmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2k5MTUvZ3QvaW50ZWxfcmVzZXQuYwpAQCAtMjk4LDcgKzI5OCw3IEBAIHN0YXRpYyBpbnQg Z2VuNl9yZXNldF9lbmdpbmVzKHN0cnVjdCBpbnRlbF9ndCAqZ3QsCiAJCWludGVsX2VuZ2luZV9t YXNrX3QgdG1wOwogCiAJCWh3X21hc2sgPSAwOwotCQlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVu Z2luZSwgZ3QtPmk5MTUsIGVuZ2luZV9tYXNrLCB0bXApIHsKKwkJZm9yX2VhY2hfZW5naW5lX21h c2tlZChlbmdpbmUsIGd0LCBlbmdpbmVfbWFzaywgdG1wKSB7CiAJCQlHRU1fQlVHX09OKGVuZ2lu ZS0+aWQgPj0gQVJSQVlfU0laRShod19lbmdpbmVfbWFzaykpOwogCQkJaHdfbWFzayB8PSBod19l bmdpbmVfbWFza1tlbmdpbmUtPmlkXTsKIAkJfQpAQCAtNDMyLDcgKzQzMiw3IEBAIHN0YXRpYyBp bnQgZ2VuMTFfcmVzZXRfZW5naW5lcyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCQlod19tYXNrID0g R0VOMTFfR1JET01fRlVMTDsKIAl9IGVsc2UgewogCQlod19tYXNrID0gMDsKLQkJZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LT5pOTE1LCBlbmdpbmVfbWFzaywgdG1wKSB7CisJCWZv cl9lYWNoX2VuZ2luZV9tYXNrZWQoZW5naW5lLCBndCwgZW5naW5lX21hc2ssIHRtcCkgewogCQkJ R0VNX0JVR19PTihlbmdpbmUtPmlkID49IEFSUkFZX1NJWkUoaHdfZW5naW5lX21hc2spKTsKIAkJ CWh3X21hc2sgfD0gaHdfZW5naW5lX21hc2tbZW5naW5lLT5pZF07CiAJCQlyZXQgPSBnZW4xMV9s b2NrX3NmYyhlbmdpbmUsICZod19tYXNrKTsKQEAgLTQ1MSw3ICs0NTEsNyBAQCBzdGF0aWMgaW50 IGdlbjExX3Jlc2V0X2VuZ2luZXMoc3RydWN0IGludGVsX2d0ICpndCwKIAkgKiBleHBpcmF0aW9u KS4KIAkgKi8KIAlpZiAoZW5naW5lX21hc2sgIT0gQUxMX0VOR0lORVMpCi0JCWZvcl9lYWNoX2Vu Z2luZV9tYXNrZWQoZW5naW5lLCBndC0+aTkxNSwgZW5naW5lX21hc2ssIHRtcCkKKwkJZm9yX2Vh Y2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LCBlbmdpbmVfbWFzaywgdG1wKQogCQkJZ2VuMTFf dW5sb2NrX3NmYyhlbmdpbmUpOwogCiAJcmV0dXJuIHJldDsKQEAgLTUxMCw3ICs1MTAsNyBAQCBz dGF0aWMgaW50IGdlbjhfcmVzZXRfZW5naW5lcyhzdHJ1Y3QgaW50ZWxfZ3QgKmd0LAogCWludGVs X2VuZ2luZV9tYXNrX3QgdG1wOwogCWludCByZXQ7CiAKLQlmb3JfZWFjaF9lbmdpbmVfbWFza2Vk KGVuZ2luZSwgZ3QtPmk5MTUsIGVuZ2luZV9tYXNrLCB0bXApIHsKKwlmb3JfZWFjaF9lbmdpbmVf bWFza2VkKGVuZ2luZSwgZ3QsIGVuZ2luZV9tYXNrLCB0bXApIHsKIAkJcmV0ID0gZ2VuOF9lbmdp bmVfcmVzZXRfcHJlcGFyZShlbmdpbmUpOwogCQlpZiAocmV0ICYmICFyZXNldF9ub25fcmVhZHkp CiAJCQlnb3RvIHNraXBfcmVzZXQ7CkBAIC01MzYsNyArNTM2LDcgQEAgc3RhdGljIGludCBnZW44 X3Jlc2V0X2VuZ2luZXMoc3RydWN0IGludGVsX2d0ICpndCwKIAkJcmV0ID0gZ2VuNl9yZXNldF9l bmdpbmVzKGd0LCBlbmdpbmVfbWFzaywgcmV0cnkpOwogCiBza2lwX3Jlc2V0OgotCWZvcl9lYWNo X2VuZ2luZV9tYXNrZWQoZW5naW5lLCBndC0+aTkxNSwgZW5naW5lX21hc2ssIHRtcCkKKwlmb3Jf ZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZ3QsIGVuZ2luZV9tYXNrLCB0bXApCiAJCWdlbjhf ZW5naW5lX3Jlc2V0X2NhbmNlbChlbmdpbmUpOwogCiAJcmV0dXJuIHJldDsKQEAgLTEyMDYsNyAr MTIwNiw3IEBAIHZvaWQgaW50ZWxfZ3RfaGFuZGxlX2Vycm9yKHN0cnVjdCBpbnRlbF9ndCAqZ3Qs CiAJICogc2luZ2xlIHJlc2V0IGZhaWxzLgogCSAqLwogCWlmIChpbnRlbF9oYXNfcmVzZXRfZW5n aW5lKGd0KSAmJiAhaW50ZWxfZ3RfaXNfd2VkZ2VkKGd0KSkgewotCQlmb3JfZWFjaF9lbmdpbmVf bWFza2VkKGVuZ2luZSwgZ3QtPmk5MTUsIGVuZ2luZV9tYXNrLCB0bXApIHsKKwkJZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LCBlbmdpbmVfbWFzaywgdG1wKSB7CiAJCQlCVUlMRF9C VUdfT04oSTkxNV9SRVNFVF9NT0RFU0VUID49IEk5MTVfUkVTRVRfRU5HSU5FKTsKIAkJCWlmICh0 ZXN0X2FuZF9zZXRfYml0KEk5MTVfUkVTRVRfRU5HSU5FICsgZW5naW5lLT5pZCwKIAkJCQkJICAg ICAmZ3QtPnJlc2V0LmZsYWdzKSkKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2 dC9leGVjbGlzdC5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvZ3Z0L2V4ZWNsaXN0LmMKaW5kZXgg ZjIxYjhmYjViMzdlLi5kNmU3YTExODliYWQgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2d2dC9leGVjbGlzdC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9leGVjbGlz dC5jCkBAIC01MzQsNyArNTM0LDcgQEAgc3RhdGljIHZvaWQgY2xlYW5fZXhlY2xpc3Qoc3RydWN0 IGludGVsX3ZncHUgKnZncHUsCiAJc3RydWN0IGludGVsX3ZncHVfc3VibWlzc2lvbiAqcyA9ICZ2 Z3B1LT5zdWJtaXNzaW9uOwogCWludGVsX2VuZ2luZV9tYXNrX3QgdG1wOwogCi0JZm9yX2VhY2hf ZW5naW5lX21hc2tlZChlbmdpbmUsIGRldl9wcml2LCBlbmdpbmVfbWFzaywgdG1wKSB7CisJZm9y X2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsICZkZXZfcHJpdi0+Z3QsIGVuZ2luZV9tYXNrLCB0 bXApIHsKIAkJa2ZyZWUocy0+cmluZ19zY2FuX2J1ZmZlcltlbmdpbmUtPmlkXSk7CiAJCXMtPnJp bmdfc2Nhbl9idWZmZXJbZW5naW5lLT5pZF0gPSBOVUxMOwogCQlzLT5yaW5nX3NjYW5fYnVmZmVy X3NpemVbZW5naW5lLT5pZF0gPSAwOwpAQCAtNTQ4LDcgKzU0OCw3IEBAIHN0YXRpYyB2b2lkIHJl c2V0X2V4ZWNsaXN0KHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAogCXN0cnVjdCBpbnRlbF9lbmdp bmVfY3MgKmVuZ2luZTsKIAlpbnRlbF9lbmdpbmVfbWFza190IHRtcDsKIAotCWZvcl9lYWNoX2Vu Z2luZV9tYXNrZWQoZW5naW5lLCBkZXZfcHJpdiwgZW5naW5lX21hc2ssIHRtcCkKKwlmb3JfZWFj aF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgJmRldl9wcml2LT5ndCwgZW5naW5lX21hc2ssIHRtcCkK IAkJaW5pdF92Z3B1X2V4ZWNsaXN0KHZncHUsIGVuZ2luZS0+aWQpOwogfQogCmRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9ndnQvc2NoZWR1bGVyLmMKaW5kZXggNjg1MGYxZjQwMjQxLi45ZWJiMjUzNDU1OGIgMTAw NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2d2dC9zY2hlZHVsZXIuYworKysgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9ndnQvc2NoZWR1bGVyLmMKQEAgLTg4Nyw3ICs4ODcsNyBAQCB2b2lk IGludGVsX3ZncHVfY2xlYW5fd29ya2xvYWRzKHN0cnVjdCBpbnRlbF92Z3B1ICp2Z3B1LAogCWlu dGVsX2VuZ2luZV9tYXNrX3QgdG1wOwogCiAJLyogZnJlZSB0aGUgdW5zdWJtaXRlZCB3b3JrbG9h ZHMgaW4gdGhlIHF1ZXVlcy4gKi8KLQlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgZGV2 X3ByaXYsIGVuZ2luZV9tYXNrLCB0bXApIHsKKwlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2lu ZSwgJmRldl9wcml2LT5ndCwgZW5naW5lX21hc2ssIHRtcCkgewogCQlsaXN0X2Zvcl9lYWNoX2Vu dHJ5X3NhZmUocG9zLCBuLAogCQkJJnMtPndvcmtsb2FkX3FfaGVhZFtlbmdpbmUtPmlkXSwgbGlz dCkgewogCQkJbGlzdF9kZWxfaW5pdCgmcG9zLT5saXN0KTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2k5MTVfYWN0aXZlLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Fj dGl2ZS5jCmluZGV4IGFhMzdjMDcwMDRiOS4uNzkyN2IxYTBjN2E2IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2FjdGl2ZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfYWN0aXZlLmMKQEAgLTU5MCw4ICs1OTAsOCBAQCBzdGF0aWMgc3RydWN0IGFjdGl2ZV9u b2RlICpyZXVzZV9pZGxlX2JhcnJpZXIoc3RydWN0IGk5MTVfYWN0aXZlICpyZWYsIHU2NCBpZHgp CiBpbnQgaTkxNV9hY3RpdmVfYWNxdWlyZV9wcmVhbGxvY2F0ZV9iYXJyaWVyKHN0cnVjdCBpOTE1 X2FjdGl2ZSAqcmVmLAogCQkJCQkgICAgc3RydWN0IGludGVsX2VuZ2luZV9jcyAqZW5naW5lKQog ewotCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICppOTE1ID0gZW5naW5lLT5pOTE1OwogCWludGVs X2VuZ2luZV9tYXNrX3QgdG1wLCBtYXNrID0gZW5naW5lLT5tYXNrOworCXN0cnVjdCBpbnRlbF9n dCAqZ3QgPSBlbmdpbmUtPmd0OwogCXN0cnVjdCBsbGlzdF9ub2RlICpwb3MsICpuZXh0OwogCWlu dCBlcnI7CiAKQEAgLTYwMyw3ICs2MDMsNyBAQCBpbnQgaTkxNV9hY3RpdmVfYWNxdWlyZV9wcmVh bGxvY2F0ZV9iYXJyaWVyKHN0cnVjdCBpOTE1X2FjdGl2ZSAqcmVmLAogCSAqIFdlIGNhbiB0aGVu IHVzZSB0aGUgcHJlYWxsb2NhdGVkIG5vZGVzIGluCiAJICogaTkxNV9hY3RpdmVfYWNxdWlyZV9i YXJyaWVyKCkKIAkgKi8KLQlmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZSwgaTkxNSwgbWFz aywgdG1wKSB7CisJZm9yX2VhY2hfZW5naW5lX21hc2tlZChlbmdpbmUsIGd0LCBtYXNrLCB0bXAp IHsKIAkJdTY0IGlkeCA9IGVuZ2luZS0+a2VybmVsX2NvbnRleHQtPnRpbWVsaW5lLT5mZW5jZV9j b250ZXh0OwogCQlzdHJ1Y3QgYWN0aXZlX25vZGUgKm5vZGU7CiAKZGlmZiAtLWdpdCBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Ry di5oCmluZGV4IDg4OTU2ZjM3ZDk2Yy4uNDBlOTIzYjBjMmM4IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVf ZHJ2LmgKQEAgLTE0MTUsMTAgKzE0MTUsMTAgQEAgc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqcGRldl90b19pOTE1KHN0cnVjdCBwY2lfZGV2ICpwZGV2KQogCQlmb3JfZWFj aF9pZiAoKGVuZ2luZV9fKSA9IChkZXZfcHJpdl9fKS0+ZW5naW5lWyhpZF9fKV0pCiAKIC8qIEl0 ZXJhdG9yIG92ZXIgc3Vic2V0IG9mIGVuZ2luZXMgc2VsZWN0ZWQgYnkgbWFzayAqLwotI2RlZmlu ZSBmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZV9fLCBkZXZfcHJpdl9fLCBtYXNrX18sIHRt cF9fKSBcCi0JZm9yICgodG1wX18pID0gKG1hc2tfXykgJiBJTlRFTF9JTkZPKGRldl9wcml2X18p LT5lbmdpbmVfbWFzazsgXAorI2RlZmluZSBmb3JfZWFjaF9lbmdpbmVfbWFza2VkKGVuZ2luZV9f LCBndF9fLCBtYXNrX18sIHRtcF9fKSBcCisJZm9yICgodG1wX18pID0gKG1hc2tfXykgJiBJTlRF TF9JTkZPKChndF9fKS0+aTkxNSktPmVuZ2luZV9tYXNrOyBcCiAJICAgICAodG1wX18pID8gXAot CSAgICAgKChlbmdpbmVfXykgPSAoZGV2X3ByaXZfXyktPmVuZ2luZVtfX21hc2tfbmV4dF9iaXQo dG1wX18pXSksIDEgOiBcCisJICAgICAoKGVuZ2luZV9fKSA9IChndF9fKS0+ZW5naW5lW19fbWFz a19uZXh0X2JpdCh0bXBfXyldKSwgMSA6IFwKIAkgICAgIDA7KQogCiAjZGVmaW5lIHJiX3RvX3Vh YmlfZW5naW5lKHJiKSBcCi0tIAoyLjIwLjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeA==