From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Pandiyan, Dhinakaran" Subject: Re: [PATCH v2 1/1] drm/i915: Add and enable DP AUX CH mutex Date: Thu, 22 Feb 2018 20:25:46 +0000 Message-ID: <1519332555.10195.16.camel@dk-H97M-D3H> References: <20180221022347.16405-1-jose.souza@intel.com> <20180221022347.16405-2-jose.souza@intel.com> <20180222185948.GC5453@intel.com> <20180222193403.GB19951@intel.com> <1519330831.10195.6.camel@dk-H97M-D3H> <20180222201340.GC5777@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id 0F3CB6EC7A for ; Thu, 22 Feb 2018 20:25:48 +0000 (UTC) In-Reply-To: <20180222201340.GC5777@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: "Vivi, Rodrigo" Cc: "intel-gfx@lists.freedesktop.org" List-Id: intel-gfx@lists.freedesktop.org T24gVGh1LCAyMDE4LTAyLTIyIGF0IDEyOjEzIC0wODAwLCBSb2RyaWdvIFZpdmkgd3JvdGU6DQo+ IE9uIFRodSwgRmViIDIyLCAyMDE4IGF0IDExOjU3OjAzQU0gLTA4MDAsIFBhbmRpeWFuLCBEaGlu YWthcmFuIHdyb3RlOg0KPiA+IE9uIFRodSwgMjAxOC0wMi0yMiBhdCAxMTozNCAtMDgwMCwgUm9k cmlnbyBWaXZpIHdyb3RlOg0KPiA+ID4gT24gVGh1LCBGZWIgMjIsIDIwMTggYXQgMDg6NTk6NDlQ TSArMDIwMCwgVmlsbGUgU3lyasOkbMOkIHdyb3RlOg0KPiA+ID4gPiBPbiBUdWUsIEZlYiAyMCwg MjAxOCBhdCAwNjoyMzo0N1BNIC0wODAwLCBKb3PDqSBSb2JlcnRvIGRlIFNvdXphIHdyb3RlOg0K PiA+ID4gPiA+IFdoZW4gUFNSL1BTUjIvR1RDIGlzIGVuYWJsZWQgaGFyZHdhcmUgY2FuIGRvIEFV WCB0cmFuc2FjdGlvbnMgYnkgaXQNCj4gPiA+ID4gPiBzZWxmLCBzbyBsZXRzIHVzZSB0aGUgbXV0 ZXggcmVnaXN0ZXIgdGhhdCBpcyBhdmFpbGFibGUgaW4gZ2VuOSsgdG8NCj4gPiA+ID4gPiBhdm9p ZCBjb25jdXJyZW50IGFjY2VzcyBieSBoYXJkd2FyZSBhbmQgZHJpdmVyLg0KPiA+ID4gPiA+IA0K PiA+ID4gPiA+IFJlZmVyZW5jZTogaHR0cHM6Ly8wMS5vcmcvc2l0ZXMvZGVmYXVsdC9maWxlcy9k b2N1bWVudGF0aW9uL2ludGVsLWdmeC1wcm0tb3NyYy1za2wtdm9sMTItZGlzcGxheS5wZGYNCj4g PiA+ID4gPiBQYWdlIDE5OCAtIEFVWCBwcm9ncmFtbWluZyBzZXF1ZW5jZQ0KPiA+ID4gPiANCj4g PiA+ID4gQlRXIHNpbmNlIEhTVy9CRFcgZG9uJ3QgaGF2ZSB0aGUgbXV0ZXggd2Ugc2hvdWxkIHJl YWxseSBiZSBkaXNhYmxpbmcgUFNSDQo+ID4gPiA+IGFyb3VuZCBhdXggY2ggdXNhZ2Ugb24gdGhv c2UgcGxhdGZvcm1zLiBOb3Qgc3VyZSBob3cgYmlnIG9mIGEgbG9ja2luZw0KPiA+ID4gPiBpbnZl cnNpb24gZXhlcmNpc2UgaXQgd291bGQgYmUgdG8gbWFrZSB0aGF0IGhhcHBlbiB0aG91Z2guDQo+ ID4gPiANCj4gPiA+IFRydWUuIEJ1dCBJIGJlbGlldmUgdGhhdCBjYW4gYmUgaGFuZGxlZCBkaWZm ZXJlbnRseS4NCj4gPiA+IFByb2JhYmx5IHdpdGggQXV4IHBvd2VyIGRvbWFpbnMgYmxvY2tpbmcg UFNSIG9mZiAiZG9tYWluIi4NCj4gPiA+IFNvbWV0aGluZyBzaW1pbGFyIHRvIERDIG9mZi4NCj4g PiA+IA0KPiA+ID4gSSBhY3R1YWxseSBoYWQgcGF0Y2hlcyBmb3IgdGhhdCBsb3N0IHNvbWV3aGVy ZS4uLiA6KA0KPiA+ID4gDQo+ID4gDQo+ID4gSnVzdCBhIG5vdGUsIHRoZSBzcGVjIGV4cGxpY2l0 bHkgc2F5cyB3ZSBzaG91bGQgZGlzYWJsZSBQU1IgYXJvdW5kIEFVWA0KPiA+IHRyYW5zYWN0aW9u cyBmb3IgQkRXIChhbmQgSFNXIGlpcmMpLg0KPiA+IA0KPiA+IEFib3V0IHVzaW5nIHRoZSBwb3dl ciBkb21haW4gaW5mcmEsIEkgYW0gbm90IHF1aXRlIHN1cmUuIFRoZSBfZ2V0KCkgYW5kDQo+ID4g X3B1dCgpIGlkaW9tIG1ha2VzIHNlbnNlIHdoZW4gd2Ugd2FudCByZWZlcmVuY2UgY291bnRpbmcg dG8gaGFuZGxlDQo+ID4gbXVsdGlwbGUgY29uc3VtZXJzIHRoYXQgd2FudCBQU1IgdG8gYmUgZGlz YWJsZWQuIERvZXMgYW55dGhpbmcgZWxzZSBuZWVkDQo+ID4gdG8gZW5hYmxlL2Rpc2FibGUgUFNS Pw0KPiANCj4gVkxWL0NIViB2YmxhbmtzPyEgOi8NCj4gDQoNCkkga2VlcCBmb3JnZXR0aW5nIFZM Vi9DSFYsIHNvcnJ5LiBUaGlzIGJyaW5ncyB1cyBiYWNrIHRvIHRoZSB3aG9sZQ0KImNhbGxpbmcg YmxvY2tpbmcgZnVuY3Rpb25zIGZyb20gYXRvbWljIGNvbnRleHRzIiBwcm9ibGVtLiBOb3Qgc3Vy ZSBob3cNCnRvIGhhbmRsZSB0aGF0Lg0KDQpBc3N1bWluZyB3ZSBzb2x2ZSB0aGF0IHByb2JsZW0s IHdlIHNob3VsZCBhbHNvIHByb2JhYmx5IGF2b2lkIHBvbGx1dGluZw0KdGhlIHBvd2VyIGRvbWFp biBjb2RlIGFuZCBhZGQgcmVmZXJlbmNlIGNvdW50aW5nIGZvciBQU1IuIEhvd2V2ZXIsIHNpbmNl DQphbGwgdGhpcyBpcyBub3QgcmVxdWlyZWQgZm9yIEJEVy9IU1csIEkgYW0gaW5jbGluZWQgdG93 YXJkcyBhIHNpbXBsZXINCnNvbHV0aW9uIGZvciBCRFcvSFNXIEFVWCB1c2FnZS4gDQoNCg0KPiA+ IA0KPiA+IA0KPiA+ID4gPiANCj4gPiA+ID4gPiANCj4gPiA+ID4gPiBDYzogUm9kcmlnbyBWaXZp IDxyb2RyaWdvLnZpdmlAaW50ZWwuY29tPg0KPiA+ID4gPiA+IENjOiBKYW5pIE5pa3VsYSA8amFu aS5uaWt1bGFAbGludXguaW50ZWwuY29tPg0KPiA+ID4gPiA+IFNpZ25lZC1vZmYtYnk6IEpvc8Op IFJvYmVydG8gZGUgU291emEgPGpvc2Uuc291emFAaW50ZWwuY29tPg0KPiA+ID4gPiA+IC0tLQ0K PiA+ID4gPiA+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oICB8ICA5ICsrKysrKysr DQo+ID4gPiA+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgIHwgNTAgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKw0KPiA+ID4gPiA+ICBkcml2ZXJzL2dw dS9kcm0vaTkxNS9pbnRlbF9kcnYuaCB8ICAxICsNCj4gPiA+ID4gPiAgMyBmaWxlcyBjaGFuZ2Vk LCA2MCBpbnNlcnRpb25zKCspDQo+ID4gPiA+ID4gDQo+ID4gPiA+ID4gZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1 X3JlZy5oDQo+ID4gPiA+ID4gaW5kZXggMTQxMmFiY2IyN2Q0Li5hNjJlM2MxYmFkYWIgMTAwNjQ0 DQo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaA0KPiA+ID4g PiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfcmVnLmgNCj4gPiA+ID4gPiBAQCAt NTMxOCw2ICs1MzE4LDcgQEAgZW51bSB7DQo+ID4gPiA+ID4gICNkZWZpbmUgX0RQQV9BVVhfQ0hf REFUQTMJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MDFjKQ0KPiA+ ID4gPiA+ICAjZGVmaW5lIF9EUEFfQVVYX0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5 X21taW9fb2Zmc2V0ICsgMHg2NDAyMCkNCj4gPiA+ID4gPiAgI2RlZmluZSBfRFBBX0FVWF9DSF9E QVRBNQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQwMjQpDQo+ID4g PiA+ID4gKyNkZWZpbmUgX0RQQV9BVVhfQ0hfTVVURVgJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlf bW1pb19vZmZzZXQgKyAweDY0MDJDKQ0KPiA+ID4gPiA+ICANCj4gPiA+ID4gPiAgI2RlZmluZSBf RFBCX0FVWF9DSF9DVEwJCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2 NDExMCkNCj4gPiA+ID4gPiAgI2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmlu Zm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQxMTQpDQo+ID4gPiA+ID4gQEAgLTUzMjUsNiAr NTMyNiw3IEBAIGVudW0gew0KPiA+ID4gPiA+ICAjZGVmaW5lIF9EUEJfQVVYX0NIX0RBVEEzCShk ZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDExYykNCj4gPiA+ID4gPiAg I2RlZmluZSBfRFBCX0FVWF9DSF9EQVRBNAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29m ZnNldCArIDB4NjQxMjApDQo+ID4gPiA+ID4gICNkZWZpbmUgX0RQQl9BVVhfQ0hfREFUQTUJKGRl dl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MTI0KQ0KPiA+ID4gPiA+ICsj ZGVmaW5lIF9EUEJfQVVYX0NIX01VVEVYCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zm c2V0ICsgMHg2NDEyQykNCj4gPiA+ID4gPiAgDQo+ID4gPiA+ID4gICNkZWZpbmUgX0RQQ19BVVhf Q0hfQ1RMCQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMTApDQo+ ID4gPiA+ID4gICNkZWZpbmUgX0RQQ19BVVhfQ0hfREFUQTEJKGRldl9wcml2LT5pbmZvLmRpc3Bs YXlfbW1pb19vZmZzZXQgKyAweDY0MjE0KQ0KPiA+ID4gPiA+IEBAIC01MzMyLDYgKzUzMzQsNyBA QCBlbnVtIHsNCj4gPiA+ID4gPiAgI2RlZmluZSBfRFBDX0FVWF9DSF9EQVRBMwkoZGV2X3ByaXYt PmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQyMWMpDQo+ID4gPiA+ID4gICNkZWZpbmUg X0RQQ19BVVhfQ0hfREFUQTQJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAw eDY0MjIwKQ0KPiA+ID4gPiA+ICAjZGVmaW5lIF9EUENfQVVYX0NIX0RBVEE1CShkZXZfcHJpdi0+ aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDIyNCkNCj4gPiA+ID4gPiArI2RlZmluZSBf RFBDX0FVWF9DSF9NVVRFWAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4 NjQyMkMpDQo+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ICAjZGVmaW5lIF9EUERfQVVYX0NIX0NUTAkJ KGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzEwKQ0KPiA+ID4gPiA+ ICAjZGVmaW5lIF9EUERfQVVYX0NIX0RBVEExCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9f b2Zmc2V0ICsgMHg2NDMxNCkNCj4gPiA+ID4gPiBAQCAtNTMzOSw2ICs1MzQyLDcgQEAgZW51bSB7 DQo+ID4gPiA+ID4gICNkZWZpbmUgX0RQRF9BVVhfQ0hfREFUQTMJKGRldl9wcml2LT5pbmZvLmRp c3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzFjKQ0KPiA+ID4gPiA+ICAjZGVmaW5lIF9EUERfQVVY X0NIX0RBVEE0CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDMyMCkN Cj4gPiA+ID4gPiAgI2RlZmluZSBfRFBEX0FVWF9DSF9EQVRBNQkoZGV2X3ByaXYtPmluZm8uZGlz cGxheV9tbWlvX29mZnNldCArIDB4NjQzMjQpDQo+ID4gPiA+ID4gKyNkZWZpbmUgX0RQRF9BVVhf Q0hfTVVURVgJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1pb19vZmZzZXQgKyAweDY0MzJDKQ0K PiA+ID4gPiA+ICANCj4gPiA+ID4gPiAgI2RlZmluZSBfRFBGX0FVWF9DSF9DVEwJCShkZXZfcHJp di0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUxMCkNCj4gPiA+ID4gPiAgI2RlZmlu ZSBfRFBGX0FVWF9DSF9EQVRBMQkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCAr IDB4NjQ1MTQpDQo+ID4gPiA+ID4gQEAgLTUzNDYsNiArNTM1MCw3IEBAIGVudW0gew0KPiA+ID4g PiA+ICAjZGVmaW5lIF9EUEZfQVVYX0NIX0RBVEEzCShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21t aW9fb2Zmc2V0ICsgMHg2NDUxYykNCj4gPiA+ID4gPiAgI2RlZmluZSBfRFBGX0FVWF9DSF9EQVRB NAkoZGV2X3ByaXYtPmluZm8uZGlzcGxheV9tbWlvX29mZnNldCArIDB4NjQ1MjApDQo+ID4gPiA+ ID4gICNkZWZpbmUgX0RQRl9BVVhfQ0hfREFUQTUJKGRldl9wcml2LT5pbmZvLmRpc3BsYXlfbW1p b19vZmZzZXQgKyAweDY0NTI0KQ0KPiA+ID4gPiA+ICsjZGVmaW5lIF9EUEZfQVVYX0NIX01VVEVY CShkZXZfcHJpdi0+aW5mby5kaXNwbGF5X21taW9fb2Zmc2V0ICsgMHg2NDUyQykNCj4gPiA+ID4g PiAgDQo+ID4gPiA+ID4gICNkZWZpbmUgRFBfQVVYX0NIX0NUTChwb3J0KQlfTU1JT19QT1JUKHBv cnQsIF9EUEFfQVVYX0NIX0NUTCwgX0RQQl9BVVhfQ0hfQ1RMKQ0KPiA+ID4gPiA+ICAjZGVmaW5l IERQX0FVWF9DSF9EQVRBKHBvcnQsIGkpCV9NTUlPKF9QT1JUKHBvcnQsIF9EUEFfQVVYX0NIX0RB VEExLCBfRFBCX0FVWF9DSF9EQVRBMSkgKyAoaSkgKiA0KSAvKiA1IHJlZ2lzdGVycyAqLw0KPiA+ ID4gPiA+IEBAIC01Mzc4LDYgKzUzODMsMTAgQEAgZW51bSB7DQo+ID4gPiA+ID4gICNkZWZpbmUg ICBEUF9BVVhfQ0hfQ1RMX0ZXX1NZTkNfUFVMU0VfU0tMKGMpICgoKGMpIC0gMSkgPDwgNSkNCj4g PiA+ID4gPiAgI2RlZmluZSAgIERQX0FVWF9DSF9DVExfU1lOQ19QVUxTRV9TS0woYykgICAoKGMp IC0gMSkNCj4gPiA+ID4gPiAgDQo+ID4gPiA+ID4gKyNkZWZpbmUgRFBfQVVYX0NIX01VVEVYKHBv cnQpCV9NTUlPX1BPUlQocG9ydCwgX0RQQV9BVVhfQ0hfTVVURVgsIF9EUEJfQVVYX0NIX01VVEVY KQ0KPiA+ID4gPiA+ICsjZGVmaW5lICAgRFBfQVVYX0NIX01VVEVYX0VOQUJMRQkJKDEgPDwgMzEp DQo+ID4gPiA+ID4gKyNkZWZpbmUgICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTCQkoMSA8PCAzMCkN Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gIC8qDQo+ID4gPiA+ID4gICAqIENvbXB1dGluZyBHTUNI IE0gYW5kIE4gdmFsdWVzIGZvciB0aGUgRGlzcGxheSBQb3J0IGxpbmsNCj4gPiA+ID4gPiAgICoN Cj4gPiA+ID4gPiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMNCj4gPiA+ID4gPiBpbmRleCBmMjBiMjVm OThlNWEuLmFmMDc1NjNiYWZiYSAxMDA2NDQNCj4gPiA+ID4gPiAtLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pbnRlbF9kcC5jDQo+ID4gPiA+ID4gKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZHAuYw0KPiA+ID4gPiA+IEBAIC0xMDgxLDYgKzEwODEsNDUgQEAgc3RhdGljIHVpbnQz Ml90IGludGVsX2RwX2dldF9hdXhfc2VuZF9jdGwoc3RydWN0IGludGVsX2RwICppbnRlbF9kcCwN Cj4gPiA+ID4gPiAgCQkJCQkJYXV4X2Nsb2NrX2RpdmlkZXIpOw0KPiA+ID4gPiA+ICB9DQo+ID4g PiA+ID4gIA0KPiA+ID4gPiA+ICtzdGF0aWMgYm9vbCBpbnRlbF9kcF9hdXhfY2hfdHJ5bG9jayhz dHJ1Y3QgaW50ZWxfZHAgKmludGVsX2RwKQ0KPiA+ID4gPiA+ICt7DQo+ID4gPiA+ID4gKwlzdHJ1 Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydCA9IGRwX3RvX2RpZ19wb3J0KGlu dGVsX2RwKTsNCj4gPiA+ID4gPiArCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9 DQo+ID4gPiA+ID4gKwkJCXRvX2k5MTUoaW50ZWxfZGlnX3BvcnQtPmJhc2UuYmFzZS5kZXYpOw0K PiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCWlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgOSkNCj4g PiA+ID4gPiArCQlyZXR1cm4gdHJ1ZTsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwlJOTE1X1dS SVRFKGludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnLCBEUF9BVVhfQ0hfTVVURVhfRU5BQkxFKTsN Cj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkvKiBTcGVjIHNheXMgdGhhdCBtdXRleCBpcyBhY3F1 aXJlZCB3aGVuIHN0YXR1cyBiaXQgaXMgcmVhZCBhcyB1bnNldCwNCj4gPiA+ID4gPiArCSAqIGlm IHNldCBpdCBzaG91bGQgYmUgcmVhZCBhZ2FpbiBhZnRlciA1MDB1c2VjLiBIZXJlIHdhaXRpbmcg Zm9yDQo+ID4gPiA+ID4gKwkgKiAybXNlYyBvciA0IHRyaWVzIGJlZm9yZSBnaXZlIHVwLg0KPiA+ ID4gPiA+ICsJICovDQo+ID4gPiA+ID4gKwlpZiAoX19pbnRlbF93YWl0X2Zvcl9yZWdpc3Rlcihk ZXZfcHJpdiwgaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9yZWcsDQo+ID4gPiA+ID4gKwkJCQkgICAg ICBEUF9BVVhfQ0hfTVVURVhfU1RBVFVTLCAwLCA1MDAsIDIsDQo+ID4gPiA+ID4gKwkJCQkgICAg ICBOVUxMKSkgew0KPiA+ID4gPiA+ICsJCURSTV9XQVJOKCJkcF9hdXhfY2ggcG9ydCBsb2NrZWQg Zm9yIHRvbyBsb25nIik7DQo+ID4gPiA+ID4gKwkJcmV0dXJuIGZhbHNlOw0KPiA+ID4gPiA+ICsJ fQ0KPiA+ID4gPiA+ICsNCj4gPiA+ID4gPiArCXJldHVybiB0cnVlOw0KPiA+ID4gPiA+ICt9DQo+ ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICtzdGF0aWMgdm9pZCBpbnRlbF9kcF9hdXhfY2hfdW5sb2Nr KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHApDQo+ID4gPiA+ID4gK3sNCj4gPiA+ID4gPiArCXN0 cnVjdCBpbnRlbF9kaWdpdGFsX3BvcnQgKmludGVsX2RpZ19wb3J0ID0gZHBfdG9fZGlnX3BvcnQo aW50ZWxfZHApOw0KPiA+ID4gPiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2 ID0NCj4gPiA+ID4gPiArCQkJdG9faTkxNShpbnRlbF9kaWdfcG9ydC0+YmFzZS5iYXNlLmRldik7 DQo+ID4gPiA+ID4gKw0KPiA+ID4gPiA+ICsJaWYgKElOVEVMX0dFTihkZXZfcHJpdikgPCA5KQ0K PiA+ID4gPiA+ICsJCXJldHVybjsNCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gKwkvKiBzZXR0aW5n IHRoZSBzdGF0dXMgYml0IHJlbGVhc2VzIHRoZSBtdXRleCArIGtlZXAgbXV0ZXggZW5hYmxlZCAq Lw0KPiA+ID4gPiA+ICsJSTkxNV9XUklURShpbnRlbF9kcC0+YXV4X2NoX211dGV4X3JlZywgRFBf QVVYX0NIX01VVEVYX0VOQUJMRSB8DQo+ID4gPiA+ID4gKwkJICAgRFBfQVVYX0NIX01VVEVYX1NU QVRVUyk7DQo+ID4gPiA+ID4gK30NCj4gPiA+ID4gPiArDQo+ID4gPiA+ID4gIHN0YXRpYyBpbnQN Cj4gPiA+ID4gPiAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAsDQo+ ID4gPiA+ID4gIAkJY29uc3QgdWludDhfdCAqc2VuZCwgaW50IHNlbmRfYnl0ZXMsDQo+ID4gPiA+ ID4gQEAgLTExMTUsNiArMTE1NCwxMSBAQCBpbnRlbF9kcF9hdXhfY2goc3RydWN0IGludGVsX2Rw ICppbnRlbF9kcCwNCj4gPiA+ID4gPiAgDQo+ID4gPiA+ID4gIAlpbnRlbF9kcF9jaGVja19lZHAo aW50ZWxfZHApOw0KPiA+ID4gPiA+ICANCj4gPiA+ID4gPiArCWlmICghaW50ZWxfZHBfYXV4X2No X3RyeWxvY2soaW50ZWxfZHApKSB7DQo+ID4gPiA+ID4gKwkJcmV0ID0gLUVCVVNZOw0KPiA+ID4g PiA+ICsJCWdvdG8gb3V0X2xvY2tlZDsNCj4gPiA+ID4gPiArCX0NCj4gPiA+ID4gPiArDQo+ID4g PiA+ID4gIAkvKiBUcnkgdG8gd2FpdCBmb3IgYW55IHByZXZpb3VzIEFVWCBjaGFubmVsIGFjdGl2 aXR5ICovDQo+ID4gPiA+ID4gIAlmb3IgKHRyeSA9IDA7IHRyeSA8IDM7IHRyeSsrKSB7DQo+ID4g PiA+ID4gIAkJc3RhdHVzID0gSTkxNV9SRUFEX05PVFJBQ0UoY2hfY3RsKTsNCj4gPiA+ID4gPiBA QCAtMTI0NCw2ICsxMjg4LDggQEAgaW50ZWxfZHBfYXV4X2NoKHN0cnVjdCBpbnRlbF9kcCAqaW50 ZWxfZHAsDQo+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ICAJcmV0ID0gcmVjdl9ieXRlczsNCj4gPiA+ ID4gPiAgb3V0Og0KPiA+ID4gPiA+ICsJaW50ZWxfZHBfYXV4X2NoX3VubG9jayhpbnRlbF9kcCk7 DQo+ID4gPiA+ID4gK291dF9sb2NrZWQ6DQo+ID4gPiA+ID4gIAlwbV9xb3NfdXBkYXRlX3JlcXVl c3QoJmRldl9wcml2LT5wbV9xb3MsIFBNX1FPU19ERUZBVUxUX1ZBTFVFKTsNCj4gPiA+ID4gPiAg DQo+ID4gPiA+ID4gIAlpZiAodmRkKQ0KPiA+ID4gPiA+IEBAIC0xNDk2LDYgKzE1NDIsMTAgQEAg c3RhdGljIHZvaWQgaW50ZWxfYXV4X3JlZ19pbml0KHN0cnVjdCBpbnRlbF9kcCAqaW50ZWxfZHAp DQo+ID4gPiA+ID4gIAlpbnRlbF9kcC0+YXV4X2NoX2N0bF9yZWcgPSBpbnRlbF9hdXhfY3RsX3Jl ZyhkZXZfcHJpdiwgcG9ydCk7DQo+ID4gPiA+ID4gIAlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0la RShpbnRlbF9kcC0+YXV4X2NoX2RhdGFfcmVnKTsgaSsrKQ0KPiA+ID4gPiA+ICAJCWludGVsX2Rw LT5hdXhfY2hfZGF0YV9yZWdbaV0gPSBpbnRlbF9hdXhfZGF0YV9yZWcoZGV2X3ByaXYsIHBvcnQs IGkpOw0KPiA+ID4gPiA+ICsJaWYgKElOVEVMX0lORk8oZGV2X3ByaXYpLT5nZW4gPj0gOSkgew0K PiA+ID4gPiA+ICsJCWludGVsX2RwLT5hdXhfY2hfbXV0ZXhfcmVnID0gRFBfQVVYX0NIX01VVEVY KHBvcnQpOw0KPiA+ID4gPiA+ICsJCUk5MTVfV1JJVEUoaW50ZWxfZHAtPmF1eF9jaF9tdXRleF9y ZWcsIERQX0FVWF9DSF9NVVRFWF9FTkFCTEUpOw0KPiA+ID4gPiA+ICsJfQ0KPiA+ID4gPiA+ICB9 DQo+ID4gPiA+ID4gIA0KPiA+ID4gPiA+ICBzdGF0aWMgdm9pZA0KPiA+ID4gPiA+IGRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rydi5oDQo+ID4gPiA+ID4gaW5kZXggNTA4NzRmNDAzNWNmLi4wYzg4NjU3ZDYw NjYgMTAwNjQ0DQo+ID4gPiA+ID4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHJ2 LmgNCj4gPiA+ID4gPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcnYuaA0KPiA+ ID4gPiA+IEBAIC0xMDQzLDYgKzEwNDMsNyBAQCBzdHJ1Y3QgaW50ZWxfZHAgew0KPiA+ID4gPiA+ ICAJaTkxNV9yZWdfdCBvdXRwdXRfcmVnOw0KPiA+ID4gPiA+ICAJaTkxNV9yZWdfdCBhdXhfY2hf Y3RsX3JlZzsNCj4gPiA+ID4gPiAgCWk5MTVfcmVnX3QgYXV4X2NoX2RhdGFfcmVnWzVdOw0KPiA+ ID4gPiA+ICsJaTkxNV9yZWdfdCBhdXhfY2hfbXV0ZXhfcmVnOw0KPiA+ID4gPiA+ICAJdWludDMy X3QgRFA7DQo+ID4gPiA+ID4gIAlpbnQgbGlua19yYXRlOw0KPiA+ID4gPiA+ICAJdWludDhfdCBs YW5lX2NvdW50Ow0KPiA+ID4gPiA+IC0tIA0KPiA+ID4gPiA+IDIuMTYuMg0KPiA+ID4gPiA+IA0K PiA+ID4gPiA+IF9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f DQo+ID4gPiA+ID4gSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdA0KPiA+ID4gPiA+IEludGVsLWdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmcNCj4gPiA+ID4gPiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9w Lm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeA0KPiA+ID4gPiANCj4gPiA+ID4gLS0gDQo+ ID4gPiA+IFZpbGxlIFN5cmrDpGzDpA0KPiA+ID4gPiBJbnRlbCBPVEMNCj4gPiA+IF9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fDQo+ID4gPiBJbnRlbC1nZngg bWFpbGluZyBsaXN0DQo+ID4gPiBJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnDQo+ID4g PiBodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdm eA0KPiBfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXw0KPiBJ bnRlbC1nZnggbWFpbGluZyBsaXN0DQo+IEludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcN Cj4gaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngNCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=