From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH 1/1] drm/i915/skl+: Add and enable DP AUX CH mutex Date: Mon, 26 Feb 2018 20:44:32 +0000 Message-ID: <1519679153.11187.34.camel@dk-H97M-D3H> References: <20180224015140.13803-1-jose.souza@intel.com> <20180224015140.13803-2-jose.souza@intel.com> <1519443340.27620.30.camel@dk-H97M-D3H> <1519669781.8017.11.camel@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 ESMTPS id E1D0A6E524 for ; Mon, 26 Feb 2018 20:44:34 +0000 (UTC) In-Reply-To: <1519669781.8017.11.camel@intel.com> Content-Language: en-US Content-ID: <5EB07C672B12B04C84DBF56B152AED31@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Souza, Jose" Cc: "intel-gfx@lists.freedesktop.org" , "Vivi, Rodrigo" List-Id: intel-gfx@lists.freedesktop.org DQoNCg0KT24gTW9uLCAyMDE4LTAyLTI2IGF0IDE4OjMxICswMDAwLCBTb3V6YSwgSm9zZSB3cm90 ZToNCj4gT24gRnJpLCAyMDE4LTAyLTIzIGF0IDE5OjEyIC0wODAwLCBQYW5kaXlhbiwgRGhpbmFr YXJhbiB3cm90ZToNCj4gPiBPbiBGcmksIDIwMTgtMDItMjMgYXQgMTc6NTEgLTA4MDAsIEpvc8Op IFJvYmVydG8gZGUgU291emEgd3JvdGU6DQo+ID4gPiBXaGVuIFBTUi9QU1IyL0dUQyBpcyBlbmFi bGVkIGhhcmR3YXJlIGNhbiBkbyBBVVggdHJhbnNhY3Rpb25zIGJ5IGl0DQo+ID4gPiBzZWxmLCBz byBsZXRzIHVzZSB0aGUgbXV0ZXggcmVnaXN0ZXIgdGhhdCBpcyBhdmFpbGFibGUgaW4gZ2VuOSsg dG8NCj4gPiA+IGF2b2lkIGNvbmN1cnJlbnQgYWNjZXNzIGJ5IGhhcmR3YXJlIGFuZCBkcml2ZXIu DQo+ID4gPiBPbGRlciBnZW4gaGFuZGxpbmcgd2lsbCBiZSBkb25lIHNlcGFyYXRlZC4NCj4gPiA+ IA0KPiA+ID4gUmVmZXJlbmNlOiBodHRwczovLzAxLm9yZy9zaXRlcy9kZWZhdWx0L2ZpbGVzL2Rv Y3VtZW50YXRpb24vaW50ZWwtZw0KPiA+ID4gZngtcHJtLW9zcmMtc2tsLXZvbDEyLWRpc3BsYXku cGRmDQo+ID4gPiBQYWdlIDE5OCAtIEFVWCBwcm9ncmFtbWluZyBzZXF1ZW5jZQ0KPiA+ID4gDQo+ ID4gPiBDYzogUm9kcmlnbyBWaXZpIDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0KPiA+ID4gQ2M6 IEphbmkgTmlrdWxhIDxqYW5pLm5pa3VsYUBsaW51eC5pbnRlbC5jb20+DQo+ID4gPiBDYzogRGhp bmFrYXJhbiBQYW5kaXlhbiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5jb20+DQo+ID4gPiBD YzogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4NCj4gPiA+ IFNpZ25lZC1vZmYtYnk6IEpvc8OpIFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwu Y29tPg0KPiA+ID4gLS0tDQo+ID4gPiAgZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaCAg fCAgOSArKysrKysNCj4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jICB8IDY3 DQo+ID4gPiArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrDQo+ID4gPiAg ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2LmggfCAgMSArDQo+ID4gPiAgMyBmaWxlcyBj aGFuZ2VkLCA3NyBpbnNlcnRpb25zKCspDQo+ID4gPiANCj4gPiA+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oDQo+ID4gPiBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfcmVnLmgNCj4gPiA+IGluZGV4IGVlYTViMmM1MzdkNC4uZjM2ZTgzOWI0YjRmIDEwMDY0 NA0KPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4gKysr IGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4gQEAgLTUzODUsNiArNTM4 NSwxNSBAQCBlbnVtIHsNCj4gPiA+ICAjZGVmaW5lICAgRFBfQVVYX0NIX0NUTF9GV19TWU5DX1BV TFNFX1NLTChjKSAoKChjKSAtIDEpIDw8IDUpDQo+ID4gPiAgI2RlZmluZSAgIERQX0FVWF9DSF9D VExfU1lOQ19QVUxTRV9TS0woYykgICAoKGMpIC0gMSkNCj4gPiA+ICANCj4gPiA+ICsjZGVmaW5l IF9EUEFfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0NCj4gPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19v ZmZzZXQgKyAweDY0MDJDKQ0KPiA+ID4gKyNkZWZpbmUgX0RQQl9BVVhfQ0hfTVVURVgJKGRldl9w cml2LQ0KPiA+ID4gPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMkMpDQo+ID4gPiAr I2RlZmluZSBfRFBDX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtDQo+ID4gPiA+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDIyQykNCj4gPiA+ICsjZGVmaW5lIF9EUERfQVVYX0NIX01VVEVY CShkZXZfcHJpdi0NCj4gPiA+ID5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzJDKQ0K PiA+ID4gKyNkZWZpbmUgX0RQRl9BVVhfQ0hfTVVURVgJKGRldl9wcml2LQ0KPiA+ID4gPmluZm8u ZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MkMpDQo+ID4gPiArI2RlZmluZSBEUF9BVVhfQ0hf TVVURVgocG9ydCkJX01NSU9fUE9SVChwb3J0LA0KPiA+ID4gX0RQQV9BVVhfQ0hfTVVURVgsIF9E UEJfQVVYX0NIX01VVEVYKQ0KPiA+IA0KPiA+IAkJCSAgXmF1eF9jaCBzaW1pbGFyIHRvIGN0bCBh bmQgZGF0YS4NCj4gPiANCj4gPiA+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRQkJ KDEgPDwgMzEpDQo+ID4gPiArI2RlZmluZSAgIERQX0FVWF9DSF9NVVRFWF9TVEFUVVMJCSgxIDw8 IDMwKQ0KPiA+ID4gKw0KPiA+ID4gIC8qDQo+ID4gPiAgICogQ29tcHV0aW5nIEdNQ0ggTSBhbmQg TiB2YWx1ZXMgZm9yIHRoZSBEaXNwbGF5IFBvcnQgbGluaw0KPiA+ID4gICAqDQo+ID4gPiBkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYw0KPiA+ID4gYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gPiBpbmRleCAyYzNlYjkwYjk0OTkuLjdiZTJm ZWM1MTY1MSAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rw LmMNCj4gPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiA+IEBA IC0xMDgxLDYgKzEwODEsNDUgQEAgc3RhdGljIHVpbnQzMl90DQo+ID4gPiBpbnRlbF9kcF9nZXRf YXV4X3NlbmRfY3RsKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ID4gPiAgCQkJCQkJYXV4 X2Nsb2NrX2RpdmlkZXIpDQo+ID4gPiA7DQo+ID4gPiAgfQ0KPiA+ID4gIA0KPiA+ID4gK3N0YXRp YyBib29sIGludGVsX2RwX2F1eF9jaF90cnlsb2NrKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp DQo+ID4gPiArew0KPiA+ID4gKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdf cG9ydCA9DQo+ID4gPiBkcF90b19kaWdfcG9ydChpbnRlbF9kcCk7DQo+ID4gPiArCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9DQo+ID4gPiArCQkJdG9faTkxNShpbnRlbF9kaWdf cG9ydC0+YmFzZS5iYXNlLmRldik7DQo+ID4gPiArCWk5MTVfcmVnX3QgY2hfbXV0ZXg7DQo+ID4g PiArDQo+ID4gPiArCWlmICghaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcpDQo+ID4gPiArCQly ZXR1cm4gdHJ1ZTsNCj4gPiA+ICsNCj4gPiA+ICsJY2hfbXV0ZXggPSBpbnRlbF9kcC0+YXV4X2No X211dGV4X3JlZyhpbnRlbF9kcCk7DQo+ID4gPiArCUk5MTVfV1JJVEUoY2hfbXV0ZXgsIERQX0FV WF9DSF9NVVRFWF9FTkFCTEUpOw0KPiA+IA0KPiA+IA0KPiA+ID4gPiA+IA0KPiA+ID4gPiA+IFlv dSBtaWdodCBiZSB0b3VjaGluZyBiaXRzLiBXZSBkb24ndCBrbm93IGlmIEhXIGlzIHVzaW5nIHRo ZQ0KPiA+ID4gPiA+IHJlc2VydmVkDQo+ID4gPiA+ID4gYml0cyBvciBub3QuDQo+ID4gPiA+ID4g U28gUk1XIHw9IGJpdCAzMSBoZXJlIGlzIGEgZ29vZCBpZGVhLg0KPiA+ID4gPiANCj4gPiA+ID4g QXMgYSByZWFkIGluIHRoaXMgcmVnaXN0ZXIgcmVxdWVzdCB0aGUgbXV0ZXggbG9jayBpcyBiZXR0 ZXIgYXZvaWQNCj4gPiA+ID4gYW55DQo+ID4gPiA+IHJlYWQgdGhhdCBpcyBub3QgbWVhbnQgdG8g cmVxdWVzdCBpdC4NCj4gPiA+IA0KPiA+ID4gb2suLi4gSSBhY2NlcHQgdGhlIGZhY3QgdGhhdCBy ZWFkIHRoYXQgaXMgbG9ja2luZw0KPiA+ID4gc28geW91IGFyZSByaWdodCBoZXJlLg0KPiA+ID4g DQo+ID4gDQo+ID4gSSBkbyBub3QgYWdyZWUgd2l0aCB0aGUgaW50ZXJwcmV0YXRpb24gaGVyZSwg cmVhZGluZyB0aGUgcmVnaXN0ZXINCj4gPiAqYWZ0ZXIqIHRoZSBtdXRleCBpcyBlbmFibGVkID09 IHJlcXVlc3QgZm9yIGxvY2tpbmcuIFlvdSBjYW4gcmVhZCB0aGUNCj4gPiByZWdpc3RlciBiZWZv cmUgZW5hYmxpbmcsIGFuZCB5b3UgaGF2ZSB0byByZWFkIHNvIHRoYXQgeW91IGRvbid0DQo+ID4g b3ZlcndyaXRlIGFueSBvdGhlciBiaXQuDQo+ID4gDQo+ID4gUmVmOiAiU3RpY2t5IGJpdCBzZXQg dG8gMSBhZnRlciBhIHJlYWQgdG8gdGhpcyByZWdpc3RlciB3aGVuIE11dGV4IGlzDQo+ID4gZW5h YmxlZC4iDQo+IA0KPiBUaGlzIGlzIHRydWUgYnV0IHdlIG11c3Qga2VlcCB0aGUgbXV0ZXggZW5h YmxlZCBhbGwgdGhlIHRpbWUgdG8NCj4gZ3VhcmFudGVlIHRoYXQgaGFyZHdhcmUgd2lsbCByZXF1 ZXN0IGxvY2sgdG9vLA0KDQpJIHRoaW5rIHRoZSBzdGF0dXMgYml0IHdpbGwgc3RpbGwgaW5kaWNh dGUgYnVzeSBpZiB0aGUgSFcgc3RhcnRlZCB0aGUNCmF1eCB0cmFuc2FjdGlvbiBiZWZvcmUgbXV0 ZXggd2FzIGVuYWJsZWQuIEkgdGhpbmsgc28gYmVjYXVzZSBic3BlYw0KZXhwbGljaXRseSBzYXlz IHRvIGNoZWNrIHRoZSBzdGF0dXMgYml0IHJpZ2h0IGFmdGVyIGVuYWJsaW5nLg0KDQoNCj4gIHNv IGFueSByZWFkIHRvIHRoZQ0KPiByZWdpc3RlciBmcm9tIG91ciBzaWRlIHdpbGwgcmVxdWVzdCB0 aGUgbG9jay4NCj4gDQo+ID4gDQo+ID4gDQo+ID4gPiArDQo+ID4gPiArCS8qIFNwZWMgc2F5cyB0 aGF0IG11dGV4IGlzIGFjcXVpcmVkIHdoZW4gc3RhdHVzIGJpdCBpcw0KPiA+ID4gcmVhZCBhcyB1 bnNldCwNCj4gPiA+ICsJICogaGVyZSB3YWl0aW5nIGZvciAybXNlYyBvciA0IHRyaWVzIGJlZm9y ZSBnaXZlIHVwLg0KPiA+IA0KPiA+IAkJCSAgICAgMiBtcy4gICAgXiB0aGlzIGlzIG5vdCB0cnVl DQo+ID4gDQo+ID4gPiArCSAqLw0KPiA+ID4gKwlpZiAoaW50ZWxfd2FpdF9mb3JfcmVnaXN0ZXIo ZGV2X3ByaXYsIGNoX211dGV4LA0KPiA+ID4gRFBfQVVYX0NIX01VVEVYX1NUQVRVUywNCj4gPiA+ ICsJCQkJICAgIDAsIDIpKSB7DQo+ID4gPiArCQlEUk1fV0FSTigiZHBfYXV4X2NoIHBvcnQgbG9j a2VkIGZvciB0b28gbG9uZyIpOw0KPiA+IA0KPiA+IAkJIERSTV9ERUJVR19LTVMoImF1eCBjaGFu bmVsICVjIGxvY2tlZCBmb3IgMiBtcywgdGltaW5nDQo+ID4gb3V0XG4iKTsNCj4gPiANCj4gPiAx LiBEUk1fREVCVUdfS01TIGlzIHRoZSBjb252ZW50aW9uIGluIHRoaXMgZmlsZSBhbmQgbW9zdCBw YXJ0cyBvZiB0aGUNCj4gPiBkcml2ZXIgZm9yIHRoaW5ncyBsaWtlIHRoaXMuDQo+IA0KPiBJJ20g b2theSBpbiBjaGFuZ2UgSSB3YXMganVzdCB1c2luZyBEUk1fV0FSTiBiZWNhdXNlIG1vc3Qgb2Yg dGhlDQo+IG1lc3NhZ2VzIGluIGludGVsX2RwX2F1eF9jaCgpIGlzIHVzaW5nIGl0Lg0KPiANCk1p Z2h0IGJlIHdvcnRoIGNoZWNraW5nIGhvdyB0aGlzIHBsYXlzIHdpdGggZGVidWcgbWVzc2FnZXMg aW4gdGhlIHVwcGVyDQpsYXllcnMuIA0KDQoNCj4gPiAyLiBJIHByZWZlciB0byBhZGQgZGV0YWls cyBsaWtlIHBvcnQvY2hhbm5lbC9waXBlL2Nvbm5lY3RvciB3aGVuDQo+ID4gcHJpbnRpbmcgZGVi dWcgbWVzc2FnZXMgaWYgaXQgZG9lc24ndCBjb3N0IGFueSBleHRyYSBzcGFjZS4NCj4gPiANCj4g PiANCj4gPiAgDQo+ID4gPiArCQlyZXR1cm4gZmFsc2U7DQo+ID4gPiArCX0NCj4gPiA+ICsNCj4g PiA+ICsJcmV0dXJuIHRydWU7DQo+ID4gPiArfQ0KPiA+ID4gKw0KPiA+ID4gK3N0YXRpYyB2b2lk IGludGVsX2RwX2F1eF9jaF91bmxvY2soc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ ICt7DQo+ID4gPiArCXN0cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0N Cj4gPiA+IGRwX3RvX2RpZ19wb3J0KGludGVsX2RwKTsNCj4gPiA+ICsJc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2ID0NCj4gPiA+ICsJCQl0b19pOTE1KGludGVsX2RpZ19wb3J0LT5i YXNlLmJhc2UuZGV2KTsNCj4gPiA+ICsNCj4gPiA+ICsJaWYgKCFpbnRlbF9kcC0+YXV4X2NoX211 dGV4X3JlZykNCj4gPiA+ICsJCXJldHVybjsNCj4gPiA+ICsNCj4gPiA+ICsJLyogc2V0dGluZyB0 aGUgc3RhdHVzIGJpdCByZWxlYXNlcyB0aGUgbXV0ZXggKyBrZWVwIG11dGV4DQo+ID4gPiBlbmFi bGVkICovDQo+ID4gPiArCUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcoaW50 ZWxfZHApLA0KPiA+ID4gKwkJICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRSB8DQo+ID4gPiBEUF9B VVhfQ0hfTVVURVhfU1RBVFVTKTsNCj4gPiANCj4gPiBJZiB5b3UgYXJlIGxlYXZpbmcgdGhlIG11 dGV4IGVuYWJsZWQsIHlvdSBkb24ndCBoYXZlIHRvIGVuYWJsZSBpdCBmb3INCj4gPiB0aGUgc2Vj b25kIHRyYW5zYWN0aW9uIG9ud2FyZHMuIEluIHRoYXQgY2FzZSwgd2h5IG5vdCBtb3ZlIHRoZSBt dXRleA0KPiA+IGVuYWJsaW5nIHN0ZXAgdG8gaW50ZWxfZHBfYXV4X2luaXQoKSBhZnRlciBjaGVj a2luZyBmb3IgUFNSIHN1cHBvcnQNCj4gPiBvcg0KPiA+IGVuYWJsZSB0aGUgbXV0ZXgganVzdCBi ZWZvcmUgaW50ZWxfcHNyX2VuYWJsZSgpLiBQbGVhc2UgZ2V0IGFuDQo+ID4gYWx0ZXJuYXRlDQo+ ID4gb3BpbmlvbiBvbiB0aGlzLg0KPiA+IA0KPiA+IA0KPiA+IEkgdGhpbmsgdGhlcmUgYXJlIHR3 byBvcHRpb25zOg0KPiA+IDEpDQo+ID4gRW5hYmxlIG11dGV4IGJlZm9yZSBwc3JfZW5hYmxlDQo+ ID4gUmVhZCBzdGF0dXMgKD09IHJlcXVlc3QgZm9yIGxvY2spDQo+ID4gCWF1eF94ZmVyDQo+ID4g V3JpdGUgc3RhdHVzKD09IHJlbGVhc2UgbG9jaykNCj4gPiBEaXNhYmxlIG11dGV4IGFmdGVyIHBz cl9kaXNhYmxlDQo+IA0KPiBUaGUgbXV0ZXggd2lsbCBhbHNvIGJlIG5lZWRlZCB3aGVuIGVuYWJs aW5nIEdUQyBhbmQgdGhlIGNvc3Qgb2YgYWx3YXlzDQo+IGxlYXZlIGVuYWJsZWQgaXMgc28gbG93 IHRoYXQgaXMgbm90IHdvcnRoeSBjaGVjayBpZiB3ZSBoYXZlIFBTUiBlbmFibGVkDQo+IGluIHRo ZSBwb3J0Lg0KDQpMaW1pdGluZyB0aGUgc2NvcGUgZm9yIGNoYW5nZXMgdG8gd2hlcmUgdGhleSBh cmUgcmVxdWlyZWQgcmVkdWNlcyBidWdzDQpJTU8uIEhvd2V2ZXIsIGlmIHlvdSB3YW50IHRvIGRv IHRoaXMgdW5jb25kaXRpb25hbGx5ICh3aXRob3V0IGNoZWNraW5nDQpmb3IgUFNSKSBvbiBhbGwg cG9ydHMsIGF1eF9pbml0KCkgdGhhdCBWaWxsZSBhZGRlZCBtaWdodCBiZSBhIGdvb2QNCnBsYWNl Lg0KDQo+IA0KPiA+IA0KPiA+IDIpDQo+ID4gRm9yIGV2ZXJ5IGF1eCB0cmFuc2FjdGlvbi4NCj4g PiBFbmFibGUgbXV0ZXggKFJNVyBpcyBva2F5IGJlY2F1c2UgbXV0ZXggaXMgbm90IGVuYWJsZWQp DQo+ID4gUmVhZCBzdGF0dXMgKD09IHJlcXVlc3QgZm9yIGxvY2spDQo+ID4gCWF1eF94ZmVyDQo+ ID4gV3JpdGUgc3RhdHVzKD09ICByZWxlYXNlIGxvY2spDQo+ID4gRGlzYWJsZSBtdXRleA0KPiAN Cj4gRW5hYmxlIGF0IGVhY2ggYXV4IHRyYW5zYWN0aW9uIGlzIHdyb25nLCB0aGlzIHdheSBoYXJk d2FyZSB3aWxsIG5vdA0KPiByZXF1ZXN0IHRoZSBsb2NrIHdoZW4gaXQgaXMgZGlzYWJsZWQuDQo+ IA0KPiA+IA0KPiA+IEFzIG9mIG5vdywgeW91IGVuZCB1cCB3cml0aW5nIHRvIHRoZSBzdGF0dXMg Yml0IGluDQo+ID4gaW50ZWxfZHBfYXV4X2NoX3RyeWxvY2soKSwgd2hpY2ggbG9va3Mgd3Jvbmcu DQo+IA0KPiBWaXZpIGJlbGl2ZXMgdGhhIHdlIG5lZWQgdG8gcG9rZSByZWdpc3RlcnMgYmVmb3Jl IHJlYWQgaXQsIGluIG15IHRlc3RzDQo+IEkgY2FuIGRldGVjdCB0aGF0IGhhcmR3YXJlIGlzIGhl bGRpbmcgdGhlIG11dGV4IHdpdGggb3Igd2l0aG91dA0KPiBhc3NlcnRpbmcgZW5hYmxlIGJpdCBp biBpbnRlbF9kcF9hdXhfY2hfdHJ5bG9jaygpLA0KDQpEb2Vzbid0IHRoaXMgY29uZmlybSBteSBn dWVzcyB0aGF0IGVuYWJsaW5nIG11dGV4IHBlciB0cmFuc2FjdGlvbiBpcw0Kb2theT8gV2UnbGwg c3RpbGwgc2VlIHN0YXR1cyBhcyAxLg0KDQpBbnl3YXksIHNpbmNlIHdlIGFyZSBsZWFuaW5nIHRv d2FyZHMgdGhlICJhbHdheXMgZW5hYmxlIG11dGV4DQphcHByb2FjaCIuUGxlYXNlIHJlbW92ZSB0 aGUgZW5hYmxlIHN0ZXAgZm9yIGV2ZXJ5IHNpbmdsZSB0cmFuc2FjdGlvbg0KdGhhdCB0aGUgZHJp dmVyIGluaXRpYXRlcy4NCg0KSWYgdGhlIGhhcmR3YXJlIGhhZCBhbHJlYWR5IHN0YXJ0ZWQgYW4g YXV4IHRyYW5zYWN0aW9uLCBzdGF0dXMgYml0IHdpbGwNCmJlIDEuIE5vdywgaWYgeW91IGdvIG92 ZXJ3cml0ZSB0aGUgcmVnaXN0ZXIgdG8gZW5hYmxlIHRoZSBtdXRleCwgd2hpY2gNCmlzIGFscmVh ZHkgZW5hYmxlZCBzZWNvbmQgdGltZSBvbndhcmRzLCB5b3UnbGwgZW5kLXVwIDAnaW5nIHRoZSBz dGF0dXMNCmJpdC4NCg0KDQo+ICBJJ20gZmluZSB3aXRoIGJvdGgNCj4gd2F5cy4NCj4gDQo+IA0K PiA+IA0KPiA+IA0KPiA+IC1ESw0KPiA+IA0KPiA+IA0KPiA+ID4gK30NCj4gPiA+ICsNCj4gPiA+ ICBzdGF0aWMgaW50DQo+ID4gPiAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsDQo+ID4gPiAgCQljb25zdCB1aW50OF90ICpzZW5kLCBpbnQgc2VuZF9ieXRlcywNCj4g PiA+IEBAIC0xMTE5LDYgKzExNTgsMTEgQEAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9k cCAqaW50ZWxfZHAsDQo+ID4gPiAgDQo+ID4gPiAgCWludGVsX2RwX2NoZWNrX2VkcChpbnRlbF9k cCk7DQo+ID4gPiAgDQo+ID4gPiArCWlmICghaW50ZWxfZHBfYXV4X2NoX3RyeWxvY2soaW50ZWxf ZHApKSB7DQo+ID4gPiArCQlyZXQgPSAtRUJVU1k7DQo+ID4gPiArCQlnb3RvIG91dF9sb2NrZWQ7 DQo+ID4gPiArCX0NCj4gPiA+ICsNCj4gPiA+ICAJLyogVHJ5IHRvIHdhaXQgZm9yIGFueSBwcmV2 aW91cyBBVVggY2hhbm5lbCBhY3Rpdml0eSAqLw0KPiA+ID4gIAlmb3IgKHRyeSA9IDA7IHRyeSA8 IDM7IHRyeSsrKSB7DQo+ID4gPiAgCQlzdGF0dXMgPSBJOTE1X1JFQURfTk9UUkFDRShjaF9jdGwp Ow0KPiA+ID4gQEAgLTEyNDgsNiArMTI5Miw4IEBAIGludGVsX2RwX2F1eF9jaChzdHJ1Y3QgaW50 ZWxfZHAgKmludGVsX2RwLA0KPiA+ID4gIA0KPiA+ID4gIAlyZXQgPSByZWN2X2J5dGVzOw0KPiA+ ID4gIG91dDoNCj4gPiA+ICsJaW50ZWxfZHBfYXV4X2NoX3VubG9jayhpbnRlbF9kcCk7DQo+ID4g PiArb3V0X2xvY2tlZDoNCj4gPiA+ICAJcG1fcW9zX3VwZGF0ZV9yZXF1ZXN0KCZkZXZfcHJpdi0+ cG1fcW9zLA0KPiA+ID4gUE1fUU9TX0RFRkFVTFRfVkFMVUUpOw0KPiA+ID4gIA0KPiA+ID4gIAlp ZiAodmRkKQ0KPiA+ID4gQEAgLTE1MDQsNiArMTU1MCwyNCBAQCBzdGF0aWMgaTkxNV9yZWdfdCBz a2xfYXV4X2RhdGFfcmVnKHN0cnVjdA0KPiA+ID4gaW50ZWxfZHAgKmludGVsX2RwLCBpbnQgaW5k ZXgpDQo+ID4gPiAgCX0NCj4gPiA+ICB9DQo+ID4gPiAgDQo+ID4gPiArc3RhdGljIGk5MTVfcmVn X3Qgc2tsX2F1eF9tdXRleF9yZWcoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCkNCj4gPiA+ICt7 DQo+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9DQo+ID4gPiB0b19p OTE1KGludGVsX2RwX3RvX2RldihpbnRlbF9kcCkpOw0KPiA+ID4gKwllbnVtIGF1eF9jaCBhdXhf Y2ggPSBpbnRlbF9kcC0+YXV4X2NoOw0KPiA+ID4gKw0KPiA+ID4gKwlzd2l0Y2ggKGF1eF9jaCkg ew0KPiA+ID4gKwljYXNlIEFVWF9DSF9BOg0KPiA+ID4gKwljYXNlIEFVWF9DSF9COg0KPiA+ID4g KwljYXNlIEFVWF9DSF9DOg0KPiA+ID4gKwljYXNlIEFVWF9DSF9EOg0KPiA+ID4gKwljYXNlIEFV WF9DSF9GOg0KPiA+ID4gKwkJcmV0dXJuIERQX0FVWF9DSF9NVVRFWChhdXhfY2gpOw0KPiA+ID4g KwlkZWZhdWx0Og0KPiA+ID4gKwkJTUlTU0lOR19DQVNFKGF1eF9jaCk7DQo+ID4gPiArCQlyZXR1 cm4gRFBfQVVYX0NIX01VVEVYKEFVWF9DSF9BKTsNCj4gPiA+ICsJfQ0KPiA+ID4gK30NCj4gPiA+ ICsNCj4gPiA+ICBzdGF0aWMgdm9pZA0KPiA+ID4gIGludGVsX2RwX2F1eF9maW5pKHN0cnVjdCBp bnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gPiAgew0KPiA+ID4gQEAgLTE1NDQsNiArMTYwOCw5IEBA IGludGVsX2RwX2F1eF9pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gPiAgCWVs c2UNCj4gPiA+ICAJCWludGVsX2RwLT5nZXRfYXV4X3NlbmRfY3RsID0gZzR4X2dldF9hdXhfc2Vu ZF9jdGw7DQo+ID4gPiAgDQo+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpID49IDkpDQo+ ID4gPiArCQlpbnRlbF9kcC0+YXV4X2NoX211dGV4X3JlZyA9IHNrbF9hdXhfbXV0ZXhfcmVnOw0K PiA+ID4gKw0KPiA+IA0KPiA+IE1vdmUgdGhpcyB0byB0aGUgYnJhbmNoIHdoZXJlIGNvbnRyb2wg YW5kIGRhdGEgdmZ1bmNzIGFyZSBzZXR1cC4NCj4gPiANCj4gPiA+ICAJZHJtX2RwX2F1eF9pbml0 KCZpbnRlbF9kcC0+YXV4KTsNCj4gPiA+ICANCj4gPiA+ICAJLyogRmFpbHVyZSB0byBhbGxvY2F0 ZSBvdXIgcHJlZmVycmVkIG5hbWUgaXMgbm90IGNyaXRpY2FsDQo+ID4gPiAqLw0KPiA+ID4gZGlm ZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gPiBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rydi5oDQo+ID4gPiBpbmRleCA4ZjM4ZTU4NGQzNzUuLjI2 N2NjNmM1YTg5ZiAxMDA2NDQNCj4gPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2Rydi5oDQo+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+ ID4gQEAgLTExMjgsNiArMTEyOCw3IEBAIHN0cnVjdCBpbnRlbF9kcCB7DQo+ID4gPiAgDQo+ID4g PiAgCWk5MTVfcmVnX3QgKCphdXhfY2hfY3RsX3JlZykoc3RydWN0IGludGVsX2RwICpkcCk7DQo+ ID4gPiAgCWk5MTVfcmVnX3QgKCphdXhfY2hfZGF0YV9yZWcpKHN0cnVjdCBpbnRlbF9kcCAqZHAs IGludA0KPiA+ID4gaW5kZXgpOw0KPiA+ID4gKwlpOTE1X3JlZ190ICgqYXV4X2NoX211dGV4X3Jl Zykoc3RydWN0IGludGVsX2RwICpkcCk7DQo+ID4gPiAgDQo+ID4gPiAgCS8qIFRoaXMgaXMgY2Fs bGVkIGJlZm9yZSBhIGxpbmsgdHJhaW5pbmcgaXMgc3RhcnRlcmQgKi8NCj4gPiA+ICAJdm9pZCAo KnByZXBhcmVfbGlua19yZXRyYWluKShzdHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKTsNCj4gX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18NCj4gSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdA0KPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+IGh0dHBz Oi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4DQpfX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFp bGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5m cmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK