From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Souza, Jose" Subject: Re: [PATCH] drm/i915/skl+: Add and enable DP AUX CH mutex Date: Wed, 28 Feb 2018 23:55:39 +0000 Message-ID: <1519862041.4498.3.camel@intel.com> References: <20180227212359.15584-1-jose.souza@intel.com> <20180227213405.GB5453@intel.com> <1519779333.4533.2.camel@intel.com> <20180228110909.GC5453@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga04.intel.com (mga04.intel.com [192.55.52.120]) by gabe.freedesktop.org (Postfix) with ESMTPS id 2796B6EBAD for ; Wed, 28 Feb 2018 23:55:42 +0000 (UTC) In-Reply-To: <20180228110909.GC5453@intel.com> Content-Language: en-US Content-ID: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "ville.syrjala@linux.intel.com" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCAyMDE4LTAyLTI4IGF0IDEzOjA5ICswMjAwLCBWaWxsZSBTeXJqw6Rsw6Qgd3JvdGU6 DQo+IE9uIFdlZCwgRmViIDI4LCAyMDE4IGF0IDEyOjU3OjA3QU0gKzAwMDAsIFNvdXphLCBKb3Nl IHdyb3RlOg0KPiA+IE9uIFR1ZSwgMjAxOC0wMi0yNyBhdCAyMzozNCArMDIwMCwgVmlsbGUgU3ly asOkbMOkIHdyb3RlOg0KPiA+ID4gT24gVHVlLCBGZWIgMjcsIDIwMTggYXQgMDE6MjM6NTlQTSAt MDgwMCwgSm9zw6kgUm9iZXJ0byBkZSBTb3V6YQ0KPiA+ID4gd3JvdGU6DQo+ID4gPiA+IFdoZW4g UFNSL1BTUjIvR1RDIGlzIGVuYWJsZWQgaGFyZHdhcmUgY2FuIGRvIEFVWCB0cmFuc2FjdGlvbnMN Cj4gPiA+ID4gYnkgaXQNCj4gPiA+ID4gc2VsZiwgc28gbGV0cyB1c2UgdGhlIG11dGV4IHJlZ2lz dGVyIHRoYXQgaXMgYXZhaWxhYmxlIGluIGdlbjkrDQo+ID4gPiA+IHRvDQo+ID4gPiA+IGF2b2lk IGNvbmN1cnJlbnQgYWNjZXNzIGJ5IGhhcmR3YXJlIGFuZCBkcml2ZXIuDQo+ID4gPiA+IE9sZGVy IGdlbiBoYW5kbGluZyB3aWxsIGJlIGRvbmUgc2VwYXJhdGVkLg0KPiA+ID4gPiANCj4gPiA+ID4g UmVmZXJlbmNlOiBodHRwczovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2RvY3VtZW50YXRp b24vaW50DQo+ID4gPiA+IGVsLWcNCj4gPiA+ID4gZngtcHJtLW9zcmMtc2tsLXZvbDEyLWRpc3Bs YXkucGRmDQo+ID4gPiA+IFBhZ2UgMTk4IC0gQVVYIHByb2dyYW1taW5nIHNlcXVlbmNlDQo+ID4g PiA+IA0KPiA+ID4gPiBSZXZpZXdlZC1ieTogRGhpbmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJh bi5wYW5kaXlhbkBpbnRlbC5jb20NCj4gPiA+ID4gPg0KPiA+ID4gPiBSZXZpZXdlZC1ieTogUm9k cmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0KPiA+ID4gPiBDYzogSmFuaSBOaWt1 bGEgPGphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ID4gQ2M6IFZpbGxlIFN5cmrD pGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+DQo+ID4gPiA+IFNpZ25lZC1vZmYt Ynk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPg0KPiA+ID4g PiAtLS0NCj4gPiA+ID4gDQo+ID4gPiA+IENoYW5nZWxvZzoNCj4gPiA+ID4gdjINCj4gPiA+ID4g LSByZW1vdmVkIHRoZSBQU1IgZGVwZW5kZW5jeSwgbm93IGdldHRpbmcgbG9jayBhbGwgdGhlIHRp bWVzDQo+ID4gPiA+IHdoZW4NCj4gPiA+ID4gYXZhaWxhYmxlDQo+ID4gPiA+IC0gcmVuYW1lZCBm dW5jdGlvbnMgdG8gYXZvaWQgbmVzdGVkIGNhbGxzDQo+ID4gPiA+IC0gbW92ZWQgcmVnaXN0ZXIg Yml0cyByaWdodCBhZnRlciB0aGUgRFBfQVVYX0NIX01VVEVYKCkNCj4gPiA+ID4gLSByZW1vdmVk ICdkcm0vaTkxNToga2VlcCBBVVggcG93ZXJlZCB3aGlsZSBQU1IgaXMgZW5hYmxlZCcNCj4gPiA+ ID4gRGhpbmFrYXJhbiBQYW5kaXlhbiB3aWxsIHNlbnQgYSBiZXR0ZXIgYW5kIGZpbmFsIHZlcnNp b24NCj4gPiA+ID4gdjMNCj4gPiA+ID4gLSByZWJhc2VkIG9uIHRvcCBvZiBWaWxsZSdzIEFVWCBz ZXJpZXMNCj4gPiA+ID4gLSBtb3ZlZCBwb3J0IHJlZ2lzdGVycyB0byBhYm92ZSBEUF9BVVhfQ0hf TVVURVgoKQ0KPiA+ID4gPiAtIHVzaW5nIGludGVsX3dhaXRfZm9yX3JlZ2lzdGVyKCkgaW5zdGVh ZCBvZiB0aGUgaW50ZXJuYWwNCj4gPiA+ID4gdmVyc2lvbg0KPiA+ID4gPiB2NA0KPiA+ID4gPiAt IHJlbW92ZWQgdmlydHVhbCBmdW5jdGlvbiB0byBnZXQgbXV0ZXggcmVnaXN0ZXIgYWRkcmVzcw0K PiA+ID4gPiAtIGVuYWJsaW5nIHRoZSBtdXRleCBiYWNrIG9ubHkgb24gYXV4IGNoYW5uZWwgaW5p dA0KPiA+ID4gPiAtIGFkZGVkIHRoZSBhdXggY2hhbm5lbCBuYW1lIHRvIHRoZSB0aW1lb3V0IGRl YnVnIG1lc3NhZ2UNCj4gPiA+ID4gdjUNCj4gPiA+ID4gLSByZW5hbWVkIERQX0FVWF9DSF9NVVRF WCgpIHBhcmFtZXRlciB0byBhdXhfY2gNCj4gPiA+ID4gLSByZW5hbWVkIGdvdG8gbGFiZWwgd2hl biBpbnRlbF9kcF9hdXhfY2hfdHJ5bG9jaygpIGZhaWxzDQo+ID4gPiA+IA0KPiA+ID4gPiAgZHJp dmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCB8ICA5ICsrKysrKysrDQo+ID4gPiA+ICBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jIHwgNDcNCj4gPiA+ID4gKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysNCj4gPiA+ID4gIDIgZmlsZXMgY2hhbmdlZCwgNTYg aW5zZXJ0aW9ucygrKQ0KPiA+ID4gPiANCj4gPiA+ID4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+ID4gYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oDQo+ID4gPiA+IGluZGV4IGVlYTViMmM1MzdkNC4uYmNlMmU2ZGFkNGM0IDEwMDY0NA0K PiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gPiA+ICsr KyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+ID4gQEAgLTUzODUsNiAr NTM4NSwxNSBAQCBlbnVtIHsNCj4gPiA+ID4gICNkZWZpbmUgICBEUF9BVVhfQ0hfQ1RMX0ZXX1NZ TkNfUFVMU0VfU0tMKGMpICgoKGMpIC0gMSkgPDwgNSkNCj4gPiA+ID4gICNkZWZpbmUgICBEUF9B VVhfQ0hfQ1RMX1NZTkNfUFVMU0VfU0tMKGMpICAgKChjKSAtIDEpDQo+ID4gPiA+ICANCj4gPiA+ ID4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfTVVURVgJKGRldl9wcml2LQ0KPiA+ID4gPiA+IGluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMkMpDQo+ID4gPiA+IA0KPiA+ID4gPiArI2RlZmlu ZSBfRFBCX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtDQo+ID4gPiA+ID4gaW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDEyQykNCj4gPiA+ID4gDQo+ID4gPiA+ICsjZGVmaW5lIF9EUENfQVVY X0NIX01VVEVYCShkZXZfcHJpdi0NCj4gPiA+ID4gPiBpbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQg KyAweDY0MjJDKQ0KPiA+ID4gPiANCj4gPiA+ID4gKyNkZWZpbmUgX0RQRF9BVVhfQ0hfTVVURVgJ KGRldl9wcml2LQ0KPiA+ID4gPiA+IGluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQzMkMp DQo+ID4gPiA+IA0KPiA+ID4gPiArI2RlZmluZSBfRFBGX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYt DQo+ID4gPiA+ID4gaW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyQykNCj4gPiA+ID4g DQo+ID4gPiA+ICsjZGVmaW5lIERQX0FVWF9DSF9NVVRFWChhdXhfY2gpCV9NTUlPX1BPUlQoYXV4 X2NoLA0KPiA+ID4gPiBfRFBBX0FVWF9DSF9NVVRFWCwgX0RQQl9BVVhfQ0hfTVVURVgpDQo+ID4g PiA+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRQkJKDEgPDwgMzEpDQo+ID4gPiA+ ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX1NUQVRVUwkJKDEgPDwgMzApDQo+ID4gPiA+ICsN Cj4gPiA+ID4gIC8qDQo+ID4gPiA+ICAgKiBDb21wdXRpbmcgR01DSCBNIGFuZCBOIHZhbHVlcyBm b3IgdGhlIERpc3BsYXkgUG9ydCBsaW5rDQo+ID4gPiA+ICAgKg0KPiA+ID4gPiBkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+ID4gPiBiL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiA+ID4gaW5kZXggMmEzYjNhZTRlM2RhLi43ZjRiZjc3 MjI3Y2QgMTAwNjQ0DQo+ID4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMNCj4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+ID4g PiBAQCAtMTA4MSw2ICsxMDgxLDQyIEBAIHN0YXRpYyB1aW50MzJfdA0KPiA+ID4gPiBpbnRlbF9k cF9nZXRfYXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiA+ICAJ CQkJCQlhdXhfY2xvY2tfZGl2aQ0KPiA+ID4gPiBkZXIpDQo+ID4gPiA+IDsNCj4gPiA+ID4gIH0N Cj4gPiA+ID4gIA0KPiA+ID4gPiArc3RhdGljIGJvb2wgaW50ZWxfZHBfYXV4X2NoX3RyeWxvY2so c3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ID4gK3sNCj4gPiA+ID4gKwlzdHJ1Y3Qg aW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9DQo+ID4gPiA+IGRwX3RvX2RpZ19w b3J0KGludGVsX2RwKTsNCj4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPQ0KPiA+ID4gPiArCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0NCj4gPiA+ID4gPmJhc2Uu YmFzZS5kZXYpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikg PCA5KQ0KPiA+ID4gPiArCQlyZXR1cm4gdHJ1ZTsNCj4gPiA+ID4gKw0KPiA+ID4gPiArCS8qIFNw ZWMgc2F5cyB0aGF0IG11dGV4IGlzIGFjcXVpcmVkIHdoZW4gc3RhdHVzIGJpdCBpcw0KPiA+ID4g PiByZWFkIGFzIHVuc2V0LA0KPiA+ID4gPiArCSAqIGhlcmUgd2FpdGluZyBmb3IgMm1zZWMoKy00 IGF1eCB0cmFuc2FjdGlvbnMpIGJlZm9yZQ0KPiA+ID4gPiBnaXZlIHVwLg0KPiA+ID4gPiArCSAq Lw0KPiA+ID4gPiArCWlmIChpbnRlbF93YWl0X2Zvcl9yZWdpc3RlcihkZXZfcHJpdiwNCj4gPiA+ ID4gRFBfQVVYX0NIX01VVEVYKGludGVsX2RwLT5hdXhfY2gpLA0KPiA+ID4gPiArCQkJCSAgICBE UF9BVVhfQ0hfTVVURVhfU1RBVFVTLCAwLA0KPiA+ID4gPiAyKSkNCj4gPiA+ID4gew0KPiA+ID4g PiArCQlEUk1fREVCVUdfS01TKCJhdXggY2hhbm5lbCAlYyBsb2NrZWQgZm9yDQo+ID4gPiA+IDJt c2VjLA0KPiA+ID4gPiB0aW1pbmcgb3V0XG4iLA0KPiA+ID4gPiArCQkJICAgICAgYXV4X2NoX25h bWUoaW50ZWxfZHAtPmF1eF9jaCkpOw0KPiA+ID4gPiArCQlyZXR1cm4gZmFsc2U7DQo+ID4gPiA+ ICsJfQ0KPiA+ID4gPiArDQo+ID4gPiA+ICsJcmV0dXJuIHRydWU7DQo+ID4gPiA+ICt9DQo+ID4g PiA+ICsNCj4gPiA+ID4gK3N0YXRpYyB2b2lkIGludGVsX2RwX2F1eF9jaF91bmxvY2soc3RydWN0 IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ID4gK3sNCj4gPiA+ID4gKwlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9DQo+ID4gPiA+IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKTsNCj4gPiA+ID4gKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPQ0K PiA+ID4gPiArCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0NCj4gPiA+ID4gPmJhc2UuYmFzZS5k ZXYpOw0KPiA+ID4gPiArDQo+ID4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA5KQ0K PiA+ID4gPiArCQlyZXR1cm47DQo+ID4gPiA+ICsNCj4gPiA+ID4gKwkvKiBzZXQgdGhlIHN0YXR1 cyBiaXQgcmVsZWFzZXMgdGhlIG11dGV4ICsga2VlcGluZw0KPiA+ID4gPiBtdXRleA0KPiA+ID4g PiBlbmFibGVkICovDQo+ID4gPiA+ICsJSTkxNV9XUklURShEUF9BVVhfQ0hfTVVURVgoaW50ZWxf ZHAtPmF1eF9jaCksDQo+ID4gPiA+ICsJCSAgIERQX0FVWF9DSF9NVVRFWF9FTkFCTEUgfA0KPiA+ ID4gPiBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTKTsNCj4gPiA+ID4gK30NCj4gPiA+ID4gKw0KPiA+ ID4gPiAgc3RhdGljIGludA0KPiA+ID4gPiAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsDQo+ID4gPiA+ICAJCWNvbnN0IHVpbnQ4X3QgKnNlbmQsIGludCBzZW5kX2J5 dGVzLA0KPiA+ID4gPiBAQCAtMTExOSw2ICsxMTU1LDExIEBAIGludGVsX2RwX2F1eF9jaChzdHJ1 Y3QgaW50ZWxfZHANCj4gPiA+ID4gKmludGVsX2RwLA0KPiA+ID4gPiAgDQo+ID4gPiA+ICAJaW50 ZWxfZHBfY2hlY2tfZWRwKGludGVsX2RwKTsNCj4gPiA+ID4gIA0KPiA+ID4gPiArCWlmICghaW50 ZWxfZHBfYXV4X2NoX3RyeWxvY2soaW50ZWxfZHApKSB7DQo+ID4gPiA+ICsJCXJldCA9IC1FQlVT WTsNCj4gPiA+ID4gKwkJZ290byBvdXRfYXV4X2NoX3VubG9ja2VkOw0KPiA+ID4gPiArCX0NCj4g PiA+ID4gKw0KPiA+ID4gPiAgCS8qIFRyeSB0byB3YWl0IGZvciBhbnkgcHJldmlvdXMgQVVYIGNo YW5uZWwgYWN0aXZpdHkNCj4gPiA+ID4gKi8NCj4gPiA+ID4gIAlmb3IgKHRyeSA9IDA7IHRyeSA8 IDM7IHRyeSsrKSB7DQo+ID4gPiA+ICAJCXN0YXR1cyA9IEk5MTVfUkVBRF9OT1RSQUNFKGNoX2N0 bCk7DQo+ID4gPiA+IEBAIC0xMjQwLDYgKzEyODEsOCBAQCBpbnRlbF9kcF9hdXhfY2goc3RydWN0 IGludGVsX2RwDQo+ID4gPiA+ICppbnRlbF9kcCwNCj4gPiA+ID4gIA0KPiA+ID4gPiAgCXJldCA9 IHJlY3ZfYnl0ZXM7DQo+ID4gPiA+ICBvdXQ6DQo+ID4gPiA+ICsJaW50ZWxfZHBfYXV4X2NoX3Vu bG9jayhpbnRlbF9kcCk7DQo+ID4gPiA+ICtvdXRfYXV4X2NoX3VubG9ja2VkOg0KPiA+ID4gPiAg CXBtX3Fvc191cGRhdGVfcmVxdWVzdCgmZGV2X3ByaXYtPnBtX3FvcywNCj4gPiA+ID4gUE1fUU9T X0RFRkFVTFRfVkFMVUUpOw0KPiA+ID4gPiAgDQo+ID4gPiA+ICAJaWYgKHZkZCkNCj4gPiA+ID4g QEAgLTE1MzYsNiArMTU3OSwxMCBAQCBpbnRlbF9kcF9hdXhfaW5pdChzdHJ1Y3QgaW50ZWxfZHAN Cj4gPiA+ID4gKmludGVsX2RwKQ0KPiA+ID4gPiAgCWVsc2UNCj4gPiA+ID4gIAkJaW50ZWxfZHAt PmdldF9hdXhfc2VuZF9jdGwgPQ0KPiA+ID4gPiBnNHhfZ2V0X2F1eF9zZW5kX2N0bDsNCj4gPiA+ ID4gIA0KPiA+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpDQo+ID4gPiA+ICsJ CUk5MTVfV1JJVEUoRFBfQVVYX0NIX01VVEVYKGludGVsX2RwLT5hdXhfY2gpLA0KPiA+ID4gPiAr CQkJICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRSk7DQo+ID4gPiANCj4gPiA+IEFuZCB3aG8gZW5h YmxlcyBpdCBhZnRlciBzeXN0ZW0vcnVudGltZSBQTSBldGMuPyBOb3Qgc3VyZSBob3cNCj4gPiA+ IG11Y2gNCj4gPiA+IHNlbnNlDQo+ID4gPiB0aGVyZSBpcyB0byBmaW5lc3NlIHRoaXMgYW55d2F5 LiBPbmUgZXh0cmEgbW1pbyB3cml0ZSBldmVyeSB0aW1lDQo+ID4gPiB3ZQ0KPiA+ID4gdHJ5DQo+ ID4gPiB0byBhY3F1aXJlIHRoZSBtdXRleCBzaG91bGRuJ3Qga2lsbCBhbnlvbmUuDQo+ID4gDQo+ ID4gVmFsaWQgcG9pbnQsIGJ1dCBJIGd1ZXNzIGlzIGJldHRlciBlbmFibGUgdGhlIG11dGV4IGlu DQo+ID4gaW50ZWxfZHBfZW5jb2Rlcl9yZXNldCgpOg0KPiA+IA0KPiA+ICINCj4gPiBAQCAtNTI5 Myw2ICs1MzQwLDEwIEBAIHZvaWQgaW50ZWxfZHBfZW5jb2Rlcl9yZXNldChzdHJ1Y3QNCj4gPiBk cm1fZW5jb2Rlcg0KPiA+ICplbmNvZGVyKQ0KPiA+IA0KPiA+ICAgICAgICAgcHBzX2xvY2soaW50 ZWxfZHApOw0KPiA+IA0KPiA+ICsgICAgICAgaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPj0gOSkN Cj4gPiArICAgICAgICAgICAgICAgSTkxNV9XUklURShEUF9BVVhfQ0hfTVVURVgoaW50ZWxfZHAt PmF1eF9jaCksDQo+ID4gKyAgICAgICAgICAgICAgICAgICAgICAgICAgRFBfQVVYX0NIX01VVEVY X0VOQUJMRSk7DQo+ID4gKw0KPiA+ICAgICAgICAgaWYgKElTX1ZBTExFWVZJRVcoZGV2X3ByaXYp IHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKQ0KPiA+ICAgICAgICAgICAgICAgICBpbnRlbF9k cC0+YWN0aXZlX3BpcGUgPSB2bHZfYWN0aXZlX3BpcGUoaW50ZWxfZHApOw0KPiA+ICINCj4gPiAN Cj4gPiBhbnkgb2JqZWN0aW9ucz8NCj4gDQo+IEkgZ3Vlc3Mgd2UgY2FuIGhvcGUgdGhhdCBkbWMg dGFrZXMgY2FyZSBvZiBpdCBmb3IgZGM1LzYuIEJ1dCB3aGF0DQo+IGFib3V0IGRjOT8NCg0KWWVw LCBmb3IgREM1IGFuZCBEQzYgdGhlIHJlZ2lzdGVycyBhcmUgcmVzdG9yZWQgYnkgaGFyZHdhcmUg YnV0IGl0IGlzDQpub3QgdGhlIGNhc2UgZm9yIERDOS4gSWYgSSdtIG5vdCBtaXNzaW5nIHNvbWV0 aGluZyBsb29rcyBsaWtlIHRoZXJlIGlzDQpubyBoYW5kbGluZyB0byByZXN0b3JlIHJlZ2lzdGVy cyB3aGVuIGV4aXRpbmcgREM5Lg0KDQo+IApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5m cmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0 aW5mby9pbnRlbC1nZngK