From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sagar Arun Kamble Subject: Re: [PATCH 01/15] drm/i915/guc: Tidy guc_log_control Date: Mon, 5 Mar 2018 10:59:19 +0530 Message-ID: <8cdd24e8-6008-91e6-b171-73277ae9b8b7@intel.com> References: <20180227125230.13000-1-michal.winiarski@intel.com> <9fc17112-2b3d-8a8d-c31d-fdfc9139cfb5@intel.com> <20180302115224.teqbjcjwuiudma3u@mwiniars-main.ger.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id DE5EE6E396 for ; Mon, 5 Mar 2018 05:29:24 +0000 (UTC) In-Reply-To: <20180302115224.teqbjcjwuiudma3u@mwiniars-main.ger.corp.intel.com> Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: =?UTF-8?Q?Micha=c5=82_Winiarski?= Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org CgpPbiAzLzIvMjAxOCA1OjIyIFBNLCBNaWNoYcWCIFdpbmlhcnNraSB3cm90ZToKPiBPbiBGcmks IE1hciAwMiwgMjAxOCBhdCAwNDozOTozOFBNICswNTMwLCBTYWdhciBBcnVuIEthbWJsZSB3cm90 ZToKPj4KPj4gT24gMi8yNy8yMDE4IDY6MjIgUE0sIE1pY2hhxYIgV2luaWFyc2tpIHdyb3RlOgo+ Pj4gV2UgcGxhbiB0byBkZWNvdXBsZSBsb2cgcnVudGltZSAobWFwcGluZyArIHJlbGF5KSBmcm9t IHZlcmJvc2l0eSBjb250cm9sLgo+Pj4gTGV0J3MgdGlkeSB0aGUgY29kZSBub3cgdG8gcmVkdWNl IHRoZSBjaHVybiBpbiB0aGUgZm9sbG93aW5nIHBhdGNoZXMuCj4+Pgo+Pj4gU2lnbmVkLW9mZi1i eTogTWljaGHFgiBXaW5pYXJza2kgPG1pY2hhbC53aW5pYXJza2lAaW50ZWwuY29tPgo+Pj4gQ2M6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgo+Pj4gQ2M6IERhbmllbGUg Q2VyYW9sbyBTcHVyaW8gPGRhbmllbGUuY2VyYW9sb3NwdXJpb0BpbnRlbC5jb20+Cj4+PiBDYzog TWljaGFsIFdhamRlY3prbyA8bWljaGFsLndhamRlY3prb0BpbnRlbC5jb20+Cj4+PiBDYzogU2Fn YXIgQXJ1biBLYW1ibGUgPHNhZ2FyLmEua2FtYmxlQGludGVsLmNvbT4KPj4+IC0tLQo+Pj4gICAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgIHwgMTEgKystLS0tCj4+PiAgICBk cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMgfCA3NSArKysrKysrKysrKysrKysr KysrLS0tLS0tLS0tLS0tLS0tLS0KPj4+ICAgIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Y19sb2cuaCB8ICAzICstCj4+PiAgICAzIGZpbGVzIGNoYW5nZWQsIDQ2IGluc2VydGlvbnMoKyks IDQzIGRlbGV0aW9ucygtKQo+Pj4KPj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+ PiBpbmRleCAzM2ZiZjM5NjUzMDkuLjU4OTgzY2FmYWVjZSAxMDA2NDQKPj4+IC0tLSBhL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2k5MTVfZGVidWdmcy5jCj4+PiArKysgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2RlYnVnZnMuYwo+Pj4gQEAgLTI1MDAsMTMgKzI1MDAsMTAgQEAgc3RhdGljIGlu dCBpOTE1X2d1Y19sb2dfY29udHJvbF9nZXQodm9pZCAqZGF0YSwgdTY0ICp2YWwpCj4+IFNob3Vs ZCB3ZSBuYW1lIHRoaXMgaTkxNV9ndWNfbG9nX2xldmVsX2dldCBpbnN0ZWFkPyBhbmQgb3RoZXIg cmVsYXRlZAo+PiBmdW5jdGlvbnMgdG9vPwo+IEkgY2hvc2Ugc3ltbWV0cnkgaGVyZSwgbm90ZSB0 aGF0IHRoZSBkZWJ1Z2ZzIGZpbGUgaXMgc3RpbGwgbmFtZWQKPiBpOTE1X2d1Y19sb2dfY29udHJv bCBhdCB0aGlzIHBvaW50LiBUaGlzIGNoYW5nZXMgbGF0ZXIgaW4gdGhlIHNlcmllcyB0aG91Z2gu Cj4KPj4+ICAgIHsKPj4+ICAgIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBk YXRhOwo+Pj4gLQlpZiAoIUhBU19HVUMoZGV2X3ByaXYpKQo+Pj4gKwlpZiAoIVVTRVNfR1VDKGRl dl9wcml2KSkKPj4+ICAgIAkJcmV0dXJuIC1FTk9ERVY7Cj4+PiAtCWlmICghZGV2X3ByaXYtPmd1 Yy5sb2cudm1hKQo+Pj4gLQkJcmV0dXJuIC1FSU5WQUw7Cj4+PiAtCj4+PiAtCSp2YWwgPSBpOTE1 X21vZHBhcmFtcy5ndWNfbG9nX2xldmVsOwo+Pj4gKwkqdmFsID0gaW50ZWxfZ3VjX2xvZ19jb250 cm9sX2dldCgmZGV2X3ByaXYtPmd1Yyk7Cj4+PiAgICAJcmV0dXJuIDA7Cj4+PiAgICB9Cj4+PiBA QCAtMjUxNSwxMCArMjUxMiwxMCBAQCBzdGF0aWMgaW50IGk5MTVfZ3VjX2xvZ19jb250cm9sX3Nl dCh2b2lkICpkYXRhLCB1NjQgdmFsKQo+Pj4gICAgewo+Pj4gICAgCXN0cnVjdCBkcm1faTkxNV9w cml2YXRlICpkZXZfcHJpdiA9IGRhdGE7Cj4+PiAtCWlmICghSEFTX0dVQyhkZXZfcHJpdikpCj4+ PiArCWlmICghVVNFU19HVUMoZGV2X3ByaXYpKQo+Pj4gICAgCQlyZXR1cm4gLUVOT0RFVjsKPj4+ IC0JcmV0dXJuIGludGVsX2d1Y19sb2dfY29udHJvbCgmZGV2X3ByaXYtPmd1YywgdmFsKTsKPj4+ ICsJcmV0dXJuIGludGVsX2d1Y19sb2dfY29udHJvbF9zZXQoJmRldl9wcml2LT5ndWMsIHZhbCk7 Cj4+PiAgICB9Cj4+PiAgICBERUZJTkVfU0lNUExFX0FUVFJJQlVURShpOTE1X2d1Y19sb2dfY29u dHJvbF9mb3BzLAo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1 Y19sb2cuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2d1Y19sb2cuYwo+Pj4gaW5kZXgg N2I1MDc0ZTIxMjBjLi4yMmEwNTMyMDgxN2IgMTAwNjQ0Cj4+PiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9ndWNfbG9nLmMKPj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2d1Y19sb2cuYwo+Pj4gQEAgLTY1Nyw1MiArNjU3LDU1IEBAIHZvaWQgaW50ZWxfZ3VjX2xv Z19kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4+ICAgIAlpOTE1X3ZtYV91bnBpbl9h bmRfcmVsZWFzZSgmZ3VjLT5sb2cudm1hKTsKPj4+ICAgIH0KPj4+IC1pbnQgaW50ZWxfZ3VjX2xv Z19jb250cm9sKHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTY0IGNvbnRyb2xfdmFsKQo+Pj4gK2lu dCBpbnRlbF9ndWNfbG9nX2NvbnRyb2xfZ2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YykKPj4gU2hv dWxkIHdlIGJlIHBhc3NpbmcgZ3VjX2xvZyBhcyBwYXJhbWV0ZXIgYW5kIGltcGxlbWVudCBndWNf bG9nX3RvX2d1YygpCj4+IGZ1bmN0aW9uLgo+IFRoaXMgaXMgdGhlIHRvcC1sZXZlbCBpbnRlcmZh Y2UgZXhwb3J0ZWQgZm9yIEd1QyB1c2Vycy4gSW4gb3RoZXIgd29yZHMgLSBjYWxsZXJzCj4gb2Yg dGhpcyBmdW5jdGlvbiBzaG91bGRuJ3QgaGF2ZSB0byBrbm93IGFib3V0IHN0cnVjdCBndWNfbG9n IChhbmQgdGhlIGZhY3QgdGhhdAo+IGl0J3MgbG9jYXRlZCBpbnNpZGUgc3RydWN0IGludGVsX2d1 YykuCj4KPj4+ICt7Cj4+PiArCUdFTV9CVUdfT04oIWd1Yy0+bG9nLnZtYSk7Cj4+PiArCUdFTV9C VUdfT04oaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCA8IDApOwo+Pj4gKwo+Pj4gKwlyZXR1 cm4gaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbDsKPj4+ICt9Cj4+PiArCj4+PiArI2RlZmlu ZSBHVUNfTE9HX0lTX0VOQUJMRUQoeCkJCSh4ID4gMCkKPj4+ICsjZGVmaW5lIEdVQ19MT0dfTEVW RUxfVE9fVkVSQk9TSVRZKHgpCShHVUNfTE9HX0lTX0VOQUJMRUQoeCkgPyB4IC0gMSA6IDApCj4+ IFRoaXMgaXMgYml0IG1pc2xlYWRpbmcsIGNhbiB3ZSBtYWtlIHRoaXMgbWFjcm8gcmV0dXJuIC0x IGlmIGxvZ2dpbmcgaXMgdG8gYmUKPj4gZGlzYWJsZWQuIFRoYXQgd2F5IGd1Y19sb2dfY29udHJv bCBjYW4gYmUgaW52b2tlZCB3aXRoCj4+IHNpbmdsZSBzaWduZWQgMzJiaXQgcGFyYW1ldGVyLgo+ IE5vdGUgdGhhdCBndWNfbG9nX2NvbnRyb2wgaXMgdGhlIGZ1bmN0aW9uIG9wZXJhdGluZyBkaXJl Y3RseSBvbiBHdUMgaW50ZXJmYWNlLgo+IFRoaXMgSG9zdDJHdUMgYWN0aW9uIHJlYWxseSB0YWtl cyAzIGFyZ3VtZW50cyAoMiBwYXJhbWV0ZXJzIGhlcmUpIC0gZW5hYmxlLAo+IGRlZmF1bHRfbG9n Z2luZ19lbmFibGUsIHZlcmJvc2l0eS4KPiBBcyBhIGNvbnNlcXVlbmNlLCBJJ2QgbGlrZSB0byBh dm9pZCBwbGFjaW5nIGFueSBsb2dpYyB0aGVyZS4gVGhlIG1hY3JvcyBhcmUKPiB0YWtpbmcgY2Fy ZSBvZiB0cmFuc2xhdGlvbiBmcm9tIGd1Y19sb2dfbGV2ZWwgbW9kcGFyYW0gdG8gdmFsdWVzIHVu ZGVyc3Rvb2QgYnkKPiBHdUMgKGhvc3QyZ3VjIHBhcmFtcykuCj4KPiBJIGFncmVlIHRoYXQgdGhl IG5hbWluZyBpcyBjb25mdXNpbmcgaGVyZS4KPiBJJ2xsIGdvIHdpdGggTE9HX0xFVkVMX1RPX0VO QUJMRUQoeCkgYW5kIExPR19MRVZFTF9UT19WRVJCT1NJVFkoeCkgaW4gc2Vjb25kCj4gc3BpbiBh cyBzdWdnZXN0ZWQgYnkgTWljaGHFgi4KPgo+Pj4gK2ludCBpbnRlbF9ndWNfbG9nX2NvbnRyb2xf c2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1YywgdTY0IHZhbCkKPj4+ICAgIHsKPj4+ICAgIAlzdHJ1 Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBndWNfdG9faTkxNShndWMpOwo+Pj4gLQli b29sIGVuYWJsZV9sb2dnaW5nID0gY29udHJvbF92YWwgPiAwOwo+Pj4gLQl1MzIgdmVyYm9zaXR5 Owo+Pj4gICAgCWludCByZXQ7Cj4+PiAtCWlmICghZ3VjLT5sb2cudm1hKQo+Pj4gLQkJcmV0dXJu IC1FTk9ERVY7Cj4+PiArCUJVSUxEX0JVR19PTihHVUNfTE9HX1ZFUkJPU0lUWV9NSU4gIT0gMCk7 Cj4+PiArCUdFTV9CVUdfT04oIWd1Yy0+bG9nLnZtYSk7Cj4+PiArCUdFTV9CVUdfT04oaTkxNV9t b2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCA8IDApOwo+Pj4gLQlCVUlMRF9CVUdfT04oR1VDX0xPR19W RVJCT1NJVFlfTUlOKTsKPj4+IC0JaWYgKGNvbnRyb2xfdmFsID4gMSArIEdVQ19MT0dfVkVSQk9T SVRZX01BWCkKPj4+ICsJLyoKPj4+ICsJICogR3VDIGlzIHJlY29nbml6aW5nIGxvZyBsZXZlbHMg c3RhcnRpbmcgZnJvbSAwIHRvIG1heCwgd2UncmUgdXNpbmcgMAo+Pj4gKwkgKiBhcyBpbmRpY2F0 aW9uIHRoYXQgbG9nZ2luZyBzaG91bGQgYmUgZGlzYWJsZGVkLgo+Pj4gKwkgKi8KPj4+ICsJaWYg KEdVQ19MT0dfTEVWRUxfVE9fVkVSQk9TSVRZKHZhbCkgPCBHVUNfTE9HX1ZFUkJPU0lUWV9NSU4g fHwKPj4gVGhpcyBjaGVjayBzZWVtcyB1bm5lY2Vzc2FyeSBhcyB3ZSBjdXJyZW50bHkgZG9uJ3Qg aGF2ZSBuZWdhdGl2ZSBvdXRwdXQgZm9yCj4+IEdfTF9MX1RfViBtYWNyby4KPj4gSWYgd2UgYWRk IG5lZ2F0aXZlIHZhbHVlIHRoZXJlLCB3aWxsIG5lZWQgdG8gcmVtb3ZlIHRoaXMgY2hlY2suCj4g WWVhaCwgYWdyZWUuIFRoYXQncyBhbiBlcnJvciBvbiBteSBwYXJ0LCBJIHdhbnRlZCB0byBkbyBp bnB1dCB2YWxpZGF0aW9uIGhlcmUuCj4gVGhpcyBzaG91bGQgcHJvYmFibHkgYmUgc29tZXRoaW5n IG1vcmUgbGlrZToKPiBpZiAodmFsIDwgVkVSQk9TSVRZX1RPX0xPR19MRVZFTChHVUNfTE9HX1ZF UkJPU0lUWV9NSU4pIHx8CkkgdGhpbmsgd2Ugc2hvdWxkIGRyb3AgdGhlIG1pbiBzaWRlIGNoZWNr IGJlY2F1c2UgdmFsIHdpbGwgbmV2ZXIgYmUgCm5lZ2F0aXZlIGFuZCBpZiB3ZSB3YW50IHRvIGtl ZXAgdGhlIGNoZWNrCnRoZW4gaXTCoCBzaG91bGQgYmUKCiNkZWZpbmUgR1VDX0xPR19MRVZFTF9E SVNBQkVEwqDCoMKgIDAKaWYgKHZhbCA8IEdVQ19MT0dfTEVWRUxfRElTQUJMRUQpIHx8CgpTaW5j ZSB3ZSB3YW50IHRvIGludm9rZSBndWNfbG9nX2NvbnRyb2wgdG8gZGlzYWJsZSB0aGUgbG9nZ2lu Zy4KPiAgICAgIHZhbCA+IFZFUkJPU0lUWV9UT19MT0dfTEVWRUwoR1VDX0xPR19WRVJCT1NJVFlf TUFYKSkKPgo+IC1NaWNoYcWCCj4KPj4+ICsJICAgIEdVQ19MT0dfTEVWRUxfVE9fVkVSQk9TSVRZ KHZhbCkgPiBHVUNfTE9HX1ZFUkJPU0lUWV9NQVgpCj4+PiAgICAJCXJldHVybiAtRUlOVkFMOwo+ Pj4gLQkvKiBUaGlzIGNvbWJpbmF0aW9uIGRvZXNuJ3QgbWFrZSBzZW5zZSAmIHdvbid0IGhhdmUg YW55IGVmZmVjdCAqLwo+Pj4gLQlpZiAoIWVuYWJsZV9sb2dnaW5nICYmICFpOTE1X21vZHBhcmFt cy5ndWNfbG9nX2xldmVsKQo+Pj4gLQkJcmV0dXJuIDA7Cj4+PiArCW11dGV4X2xvY2soJmRldl9w cml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+IC0JdmVyYm9zaXR5ID0gZW5hYmxlX2xvZ2dpbmcg PyBjb250cm9sX3ZhbCAtIDEgOiAwOwo+Pj4gKwlpZiAoaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19s ZXZlbCA9PSB2YWwpIHsKPj4+ICsJCXJldCA9IDA7Cj4+PiArCQlnb3RvIG91dF91bmxvY2s7Cj4+ PiArCX0KPj4+IC0JcmV0ID0gbXV0ZXhfbG9ja19pbnRlcnJ1cHRpYmxlKCZkZXZfcHJpdi0+ZHJt LnN0cnVjdF9tdXRleCk7Cj4+PiAtCWlmIChyZXQpCj4+PiAtCQlyZXR1cm4gcmV0Owo+Pj4gICAg CWludGVsX3J1bnRpbWVfcG1fZ2V0KGRldl9wcml2KTsKPj4+IC0JcmV0ID0gZ3VjX2xvZ19jb250 cm9sKGd1YywgZW5hYmxlX2xvZ2dpbmcsIHZlcmJvc2l0eSk7Cj4+PiArCXJldCA9IGd1Y19sb2df Y29udHJvbChndWMsIEdVQ19MT0dfSVNfRU5BQkxFRCh2YWwpLAo+Pj4gKwkJCSAgICAgIEdVQ19M T0dfTEVWRUxfVE9fVkVSQk9TSVRZKHZhbCkpOwo+Pj4gICAgCWludGVsX3J1bnRpbWVfcG1fcHV0 KGRldl9wcml2KTsKPj4+IC0JbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRl eCk7Cj4+PiArCWlmIChyZXQpCj4+PiArCQlnb3RvIG91dF91bmxvY2s7Cj4+PiAtCWlmIChyZXQg PCAwKSB7Cj4+PiAtCQlEUk1fREVCVUdfRFJJVkVSKCJndWNfbG9nZ2luZ19jb250cm9sIGFjdGlv biBmYWlsZWQgJWRcbiIsIHJldCk7Cj4+PiAtCQlyZXR1cm4gcmV0Owo+Pj4gLQl9Cj4+PiArCWk5 MTVfbW9kcGFyYW1zLmd1Y19sb2dfbGV2ZWwgPSB2YWw7Cj4+PiAtCWlmIChlbmFibGVfbG9nZ2lu Zykgewo+Pj4gLQkJaTkxNV9tb2RwYXJhbXMuZ3VjX2xvZ19sZXZlbCA9IDEgKyB2ZXJib3NpdHk7 Cj4+PiArCW11dGV4X3VubG9jaygmZGV2X3ByaXYtPmRybS5zdHJ1Y3RfbXV0ZXgpOwo+Pj4gLQkJ LyoKPj4+IC0JCSAqIElmIGxvZyB3YXMgZGlzYWJsZWQgYXQgYm9vdCB0aW1lLCB0aGVuIHRoZSBy ZWxheSBjaGFubmVsIGZpbGUKPj4+IC0JCSAqIHdvdWxkbid0IGhhdmUgYmVlbiBjcmVhdGVkIGJ5 IG5vdyBhbmQgaW50ZXJydXB0cyBhbHNvIHdvdWxkCj4+PiAtCQkgKiBub3QgaGF2ZSBiZWVuIGVu YWJsZWQuIFRyeSBhZ2FpbiBub3csIGp1c3QgaW4gY2FzZS4KPj4+IC0JCSAqLwo+Pj4gKwlpZiAo R1VDX0xPR19JU19FTkFCTEVEKHZhbCkgJiYgIWd1Y19sb2dfaGFzX3J1bnRpbWUoZ3VjKSkgewo+ Pj4gICAgCQlyZXQgPSBndWNfbG9nX2xhdGVfc2V0dXAoZ3VjKTsKPj4+IC0JCWlmIChyZXQgPCAw KSB7Cj4+PiAtCQkJRFJNX0RFQlVHX0RSSVZFUigiR3VDIGxvZyBsYXRlIHNldHVwIGZhaWxlZCAl ZFxuIiwgcmV0KTsKPj4+IC0JCQlyZXR1cm4gcmV0Owo+Pj4gLQkJfQo+Pj4gKwkJaWYgKHJldCkK Pj4+ICsJCQlnb3RvIG91dDsKPj4+ICAgIAkJLyogR3VDIGxvZ2dpbmcgaXMgY3VycmVudGx5IHRo ZSBvbmx5IHVzZXIgb2YgR3VjMkhvc3QgaW50ZXJydXB0cyAqLwo+Pj4gICAgCQltdXRleF9sb2Nr KCZkZXZfcHJpdi0+ZHJtLnN0cnVjdF9tdXRleCk7Cj4+PiBAQCAtNzEwLDcgKzcxMyw3IEBAIGlu dCBpbnRlbF9ndWNfbG9nX2NvbnRyb2woc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1NjQgY29udHJv bF92YWwpCj4+PiAgICAJCWdlbjlfZW5hYmxlX2d1Y19pbnRlcnJ1cHRzKGRldl9wcml2KTsKPj4+ ICAgIAkJaW50ZWxfcnVudGltZV9wbV9wdXQoZGV2X3ByaXYpOwo+Pj4gICAgCQltdXRleF91bmxv Y2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4KTsKPj4+IC0JfSBlbHNlIHsKPj4+ICsJfSBl bHNlIGlmICghR1VDX0xPR19JU19FTkFCTEVEKHZhbCkgJiYgZ3VjX2xvZ19oYXNfcnVudGltZShn dWMpKSB7Cj4+PiAgICAJCS8qCj4+PiAgICAJCSAqIE9uY2UgbG9nZ2luZyBpcyBkaXNhYmxlZCwg R3VDIHdvbid0IGdlbmVyYXRlIGxvZ3MgJiBzZW5kIGFuCj4+PiAgICAJCSAqIGludGVycnVwdC4g QnV0IHRoZXJlIGNvdWxkIGJlIHNvbWUgZGF0YSBpbiB0aGUgbG9nIGJ1ZmZlcgo+Pj4gQEAgLTcx OCwxMSArNzIxLDEzIEBAIGludCBpbnRlbF9ndWNfbG9nX2NvbnRyb2woc3RydWN0IGludGVsX2d1 YyAqZ3VjLCB1NjQgY29udHJvbF92YWwpCj4+PiAgICAJCSAqIGJ1ZmZlciBzdGF0ZSBhbmQgdGhl biBjb2xsZWN0IHRoZSBsZWZ0IG92ZXIgbG9ncy4KPj4+ICAgIAkJICovCj4+PiAgICAJCWd1Y19m bHVzaF9sb2dzKGd1Yyk7Cj4+PiAtCj4+PiAtCQkvKiBBcyBsb2dnaW5nIGlzIGRpc2FibGVkLCB1 cGRhdGUgbG9nIGxldmVsIHRvIHJlZmxlY3QgdGhhdCAqLwo+Pj4gLQkJaTkxNV9tb2RwYXJhbXMu Z3VjX2xvZ19sZXZlbCA9IDA7Cj4+PiAgICAJfQo+Pj4gKwlyZXR1cm4gMDsKPj4+ICsKPj4+ICtv dXRfdW5sb2NrOgo+Pj4gKwltdXRleF91bmxvY2soJmRldl9wcml2LT5kcm0uc3RydWN0X211dGV4 KTsKPj4+ICtvdXQ6Cj4+PiAgICAJcmV0dXJuIHJldDsKPj4+ICAgIH0KPj4+IGRpZmYgLS1naXQg YS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmggYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9ndWNfbG9nLmgKPj4+IGluZGV4IGRhYjBlOTQ5NTY3YS4uMTQxY2U5Y2EyMmNl IDEwMDY0NAo+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZ3VjX2xvZy5oCj4+ PiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9ndWNfbG9nLmgKPj4+IEBAIC02NCw3 ICs2NCw4IEBAIHZvaWQgaW50ZWxfZ3VjX2xvZ19kZXN0cm95KHN0cnVjdCBpbnRlbF9ndWMgKmd1 Yyk7Cj4+PiAgICB2b2lkIGludGVsX2d1Y19sb2dfaW5pdF9lYXJseShzdHJ1Y3QgaW50ZWxfZ3Vj ICpndWMpOwo+Pj4gICAgaW50IGludGVsX2d1Y19sb2dfcmVsYXlfY3JlYXRlKHN0cnVjdCBpbnRl bF9ndWMgKmd1Yyk7Cj4+PiAgICB2b2lkIGludGVsX2d1Y19sb2dfcmVsYXlfZGVzdHJveShzdHJ1 Y3QgaW50ZWxfZ3VjICpndWMpOwo+Pj4gLWludCBpbnRlbF9ndWNfbG9nX2NvbnRyb2woc3RydWN0 IGludGVsX2d1YyAqZ3VjLCB1NjQgY29udHJvbF92YWwpOwo+Pj4gK2ludCBpbnRlbF9ndWNfbG9n X2NvbnRyb2xfZ2V0KHN0cnVjdCBpbnRlbF9ndWMgKmd1Yyk7Cj4+PiAraW50IGludGVsX2d1Y19s b2dfY29udHJvbF9zZXQoc3RydWN0IGludGVsX2d1YyAqZ3VjLCB1NjQgY29udHJvbF92YWwpOwo+ Pj4gICAgdm9pZCBpOTE1X2d1Y19sb2dfcmVnaXN0ZXIoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUg KmRldl9wcml2KTsKPj4+ICAgIHZvaWQgaTkxNV9ndWNfbG9nX3VucmVnaXN0ZXIoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KTsKPj4gLS0gCj4+IFRoYW5rcywKPj4gU2FnYXIKPj4K Ci0tIApUaGFua3MsClNhZ2FyCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK